@@ -562,59 +562,45 @@ namespace AIS
562562 U (msg, AIS::KEY_SALINITY, 339 , 9 , 510 );
563563 U (msg, AIS::KEY_ICE, 348 , 2 , 3 );
564564 }
565- // New message type with DAC = 001, FI = 11
566565 else if (dac == 1 && fid == 11 )
567566 {
568- SL (msg, AIS::KEY_LAT, 56 , 24 , 1 / 60000 .0f , 0 );
569- SL (msg, AIS::KEY_LON, 80 , 25 , 1 / 60000 .0f , 0 );
570-
571- U (msg, AIS::KEY_DAY, 105 , 5 );
572- U (msg, AIS::KEY_HOUR, 110 , 5 );
573- U (msg, AIS::KEY_MINUTE, 115 , 6 );
574- U (msg, AIS::KEY_WSPEED, 121 , 7 );
575- U (msg, AIS::KEY_WGUST, 128 , 7 );
576- U (msg, AIS::KEY_WDIR, 135 , 9 );
577- U (msg, AIS::KEY_WGUSTDIR, 144 , 9 );
578-
579- // SENSORS: Changed SL -> UL (Unsigned) and added correct "undefined" values
580-
581- // AirTemp: Unsigned, 0=-60.0, 2047=N/A
567+ SL (msg, AIS::KEY_LAT, 56 , 24 , 1 / 60000 .0f , 0 , 8388607 );
568+ SL (msg, AIS::KEY_LON, 80 , 25 , 1 / 60000 .0f , 0 , 16777215 );
569+ U (msg, AIS::KEY_DAY, 105 , 5 , 0 );
570+ U (msg, AIS::KEY_HOUR, 110 , 5 , 24 );
571+ U (msg, AIS::KEY_MINUTE, 115 , 6 , 60 );
572+ U (msg, AIS::KEY_WSPEED, 121 , 7 , 127 );
573+ U (msg, AIS::KEY_WGUST, 128 , 7 , 127 );
574+ U (msg, AIS::KEY_WDIR, 135 , 9 , 511 );
575+ U (msg, AIS::KEY_WGUSTDIR, 144 , 9 , 511 );
582576 UL (msg, AIS::KEY_AIRTEMP, 153 , 11 , 0 .1f , -60 .0f , 2047 );
583-
584- U (msg, AIS::KEY_HUMIDITY, 164 , 7 );
585-
586- // DewPoint: Unsigned, 0=-20.0, 1023=N/A
577+ U (msg, AIS::KEY_HUMIDITY, 164 , 7 , 127 );
587578 UL (msg, AIS::KEY_DEWPOINT, 171 , 10 , 0 .1f , -20 .0f , 1023 );
588-
589- // Pressure: Unsigned, Add 800, 511=N/A (Note: 511 is raw N/A for 9 bits)
590579 US (msg, AIS::KEY_PRESSURE, 181 , 9 , 800 , 511 );
591-
592- U (msg, AIS::KEY_PRESSURETEND, 190 , 2 );
593- UL (msg, AIS::KEY_VISIBILITY, 192 , 8 , 0 .1f , 0 );
594-
595- // WaterLevel: Unsigned, 0=-10.0, 511=N/A
580+ U (msg, AIS::KEY_PRESSURETEND, 190 , 2 , 3 );
581+ UL (msg, AIS::KEY_VISIBILITY, 192 , 8 , 0 .1f , 0 .0f , 255 );
596582 UL (msg, AIS::KEY_WATERLEVEL, 200 , 9 , 0 .1f , -10 .0f , 511 );
597-
598- U (msg, AIS::KEY_LEVELTREND, 209 , 2 );
599- UL (msg, AIS::KEY_CSPEED, 211 , 8 , 0 . 1f , 0 );
600- U (msg, AIS::KEY_CDIR, 219 , 9 );
601- UL (msg, AIS::KEY_CSPEED2, 228 , 8 , 0 . 1f , 0 );
602- U (msg, AIS::KEY_CDIR2, 236 , 9 );
603- U (msg, AIS::KEY_CDEPTH2, 245 , 5 );
604- UL (msg, AIS::KEY_CSPEED3, 250 , 8 , 0 . 1f , 0 );
605- U (msg, AIS::KEY_CDIR3, 258 , 9 );
606- U (msg, AIS::KEY_CDEPTH3, 267 , 5 );
607- UL (msg, AIS::KEY_WAVEHEIGHT, 272 , 8 , 0 . 1f , 0 );
608- U (msg, AIS::KEY_WAVEPERIOD, 280 , 6 );
609- U (msg, AIS::KEY_WAVEDIR, 286 , 9 );
610- UL (msg, AIS::KEY_SWELLHEIGHT, 295 , 8 , 0 .1f , 0 );
611- U (msg, AIS::KEY_SWELLPERIOD, 303 , 6 );
612- U (msg, AIS::KEY_SWELLDIR, 309 , 9 );
613- U (msg, AIS::KEY_SEASTATE, 318 , 4 );
583+ U (msg, AIS::KEY_LEVELTREND, 209 , 2 , 3 );
584+ UL (msg, AIS::KEY_CSPEED, 211 , 8 , 0 . 1f , 0 . 0f , 255 );
585+ U (msg, AIS::KEY_CDIR, 219 , 9 , 511 );
586+ UL (msg, AIS::KEY_CSPEED2, 228 , 8 , 0 . 1f , 0 . 0f , 255 );
587+ U (msg, AIS::KEY_CDIR2, 236 , 9 , 511 );
588+ U (msg, AIS::KEY_CDEPTH2, 245 , 5 , 31 );
589+ UL (msg, AIS::KEY_CSPEED3, 250 , 8 , 0 . 1f , 0 . 0f , 255 );
590+ U (msg, AIS::KEY_CDIR3, 258 , 9 , 511 );
591+ U (msg, AIS::KEY_CDEPTH3, 267 , 5 , 31 );
592+ UL (msg, AIS::KEY_WAVEHEIGHT, 272 , 8 , 0 . 1f , 0 . 0f , 255 );
593+ U (msg, AIS::KEY_WAVEPERIOD, 280 , 6 , 63 );
594+ U (msg, AIS::KEY_WAVEDIR, 286 , 9 , 511 );
595+
596+ UL (msg, AIS::KEY_SWELLHEIGHT, 295 , 8 , 0 .1f , 0 . 0f , 255 );
597+ U (msg, AIS::KEY_SWELLPERIOD, 303 , 6 , 63 );
598+ U (msg, AIS::KEY_SWELLDIR, 309 , 9 , 511 );
599+ U (msg, AIS::KEY_SEASTATE, 318 , 4 , 13 );
614600 UL (msg, AIS::KEY_WATERTEMP, 322 , 10 , 0 .1f , -10 .0f , 1023 );
615- U (msg, AIS::KEY_PRECIPTYPE, 332 , 3 );
601+ U (msg, AIS::KEY_PRECIPTYPE, 332 , 3 , 7 );
616602 UL (msg, AIS::KEY_SALINITY, 335 , 9 , 0 .1f , 0 .0f , 511 );
617- U (msg, AIS::KEY_ICE, 344 , 2 );
603+ U (msg, AIS::KEY_ICE, 344 , 2 , 3 );
618604 }
619605 else if ((dac == 316 || dac == 366 ) && fid == 1 )
620606 {
0 commit comments