summaryrefslogtreecommitdiff
path: root/gps.h
diff options
context:
space:
mode:
Diffstat (limited to 'gps.h')
-rw-r--r--gps.h56
1 files changed, 40 insertions, 16 deletions
diff --git a/gps.h b/gps.h
index 09439ff3..966a2fee 100644
--- a/gps.h
+++ b/gps.h
@@ -1124,9 +1124,9 @@ struct ais_t
struct {
#define DAC1FID11_LATLON_SCALE 1000
int lon; /* longitude in minutes * .001 */
-#define DAC1FID11_LON_NOT_AVAILABLE 0x1FFFFFF
- int lat; /* longitude in minutes * .001 */
-#define DAC1FID11_LAT_NOT_AVAILABLE 0xFFFFFF
+#define DAC1FID11_LON_NOT_AVAILABLE 0xFFFFFF
+ int lat; /* latitude in minutes * .001 */
+#define DAC1FID11_LAT_NOT_AVAILABLE 0x7FFFFF
unsigned int day; /* UTC day */
unsigned int hour; /* UTC hour */
unsigned int minute; /* UTC minute */
@@ -1136,24 +1136,33 @@ struct ais_t
unsigned int wdir; /* wind direction */
unsigned int wgustdir; /* wind gust direction */
#define DAC1FID11_WDIR_NOT_AVAILABLE 511
- int airtemp; /* temperature, units 0.1C */
-#define DAC1FID11_AIRTEMP_NOT_AVAILABLE 1447
+ unsigned int airtemp; /* temperature, units 0.1C */
+#define DAC1FID11_AIRTEMP_NOT_AVAILABLE 2047
+#define DAC1FID11_AIRTEMP_OFFSET 600
+#define DAC1FID11_AIRTEMP_SCALE 10.0
unsigned int humidity; /* relative humidity, % */
#define DAC1FID11_HUMIDITY_NOT_AVAILABLE 127
- int dewpoint; /* dew point, units 0.1C */
-#define DAC1FID11_DEWPOINT_NOT_AVAILABLE 823
+ unsigned int dewpoint; /* dew point, units 0.1C */
+#define DAC1FID11_DEWPOINT_NOT_AVAILABLE 1023
+#define DAC1FID11_DEWPOINT_OFFSET 200
+#define DAC1FID11_DEWPOINT_SCALE 10.0
unsigned int pressure; /* air pressure, hpa */
-#define DAC1FID11_PRESSURE_NOT_AVAILABLE 1311
+#define DAC1FID11_PRESSURE_NOT_AVAILABLE 511
+#define DAC1FID11_PRESSURE_OFFSET -800
unsigned int pressuretend; /* tendency */
#define DAC1FID11_PRESSURETREND_NOT_AVAILABLE 3
unsigned int visibility; /* units 0.1 nautical miles */
#define DAC1FID11_VISIBILITY_NOT_AVAILABLE 255
- int waterlevel; /* decimeters */
-#define DAC1FID11_WATERLEVEL_NOT_AVAILABLE 411
+#define DAC1FID11_VISIBILITY_SCALE 10.0
+ unsigned int waterlevel; /* decimeters */
+#define DAC1FID11_WATERLEVEL_NOT_AVAILABLE 511
+#define DAC1FID11_WATERLEVEL_OFFSET 100
+#define DAC1FID11_WATERLEVEL_SCALE 10.0
unsigned int leveltrend; /* water level trend code */
-#define DAC1FID11_LEVELTREND_NOT_AVAILABLE 3
+#define DAC1FID11_WATERLEVELTREND_NOT_AVAILABLE 3
unsigned int cspeed; /* surface current speed in deciknots */
#define DAC1FID11_CSPEED_NOT_AVAILABLE 255
+#define DAC1FID11_CSPEED_SCALE 10.0
unsigned int cdir; /* surface current dir., degrees */
#define DAC1FID11_CDIR_NOT_AVAILABLE 511
unsigned int cspeed2; /* current speed in deciknots */
@@ -1165,6 +1174,7 @@ struct ais_t
unsigned int cdepth3; /* measurement depth, m */
unsigned int waveheight; /* in decimeters */
#define DAC1FID11_WAVEHEIGHT_NOT_AVAILABLE 255
+#define DAC1FID11_WAVEHEIGHT_SCALE 10.0
unsigned int waveperiod; /* in seconds */
#define DAC1FID11_WAVEPERIOD_NOT_AVAILABLE 63
unsigned int wavedir; /* direction in degrees */
@@ -1174,12 +1184,15 @@ struct ais_t
unsigned int swelldir; /* direction in degrees */
unsigned int seastate; /* Beaufort scale, 0-12 */
#define DAC1FID11_SEASTATE_NOT_AVAILABLE 15
- int watertemp; /* units 0.1deg Celsius */
-#define DAC1FID11_WATERTEMP_NOT_AVAILABLE 923
+ unsigned int watertemp; /* units 0.1deg Celsius */
+#define DAC1FID11_WATERTEMP_NOT_AVAILABLE 1023
+#define DAC1FID11_WATERTEMP_OFFSET 100
+#define DAC1FID11_WATERTEMP_SCALE 10.0
unsigned int preciptype; /* 0-7, enumerated */
#define DAC1FID11_PRECIPTYPE_NOT_AVAILABLE 7
unsigned int salinity; /* units of 0.1ppt */
#define DAC1FID11_SALINITY_NOT_AVAILABLE 511
+#define DAC1FID11_SALINITY_SCALE 10.0
unsigned int ice; /* is there sea ice? */
#define DAC1FID11_ICE_NOT_AVAILABLE 3
} dac1fid11;
@@ -1270,34 +1283,43 @@ struct ais_t
#define DAC1FID31_DIR_NOT_AVAILABLE 360
int airtemp; /* temperature, units 0.1C */
#define DAC1FID31_AIRTEMP_NOT_AVAILABLE -1024
+#define DAC1FID31_AIRTEMP_SCALE 10.0
unsigned int humidity; /* relative humidity, % */
#define DAC1FID31_HUMIDITY_NOT_AVAILABLE 101
int dewpoint; /* dew point, units 0.1C */
#define DAC1FID31_DEWPOINT_NOT_AVAILABLE 501
+#define DAC1FID31_DEWPOINT_SCALE 10.0
unsigned int pressure; /* air pressure, hpa */
#define DAC1FID31_PRESSURE_NOT_AVAILABLE 511
#define DAC1FID31_PRESSURE_HIGH 402
+#define DAC1FID31_PRESSURE_OFFSET -799
unsigned int pressuretend; /* tendency */
#define DAC1FID31_PRESSURETEND_NOT_AVAILABLE 3
bool visgreater; /* visibility greater than */
unsigned int visibility; /* units 0.1 nautical miles */
#define DAC1FID31_VISIBILITY_NOT_AVAILABLE 127
- int waterlevel; /* decimeters or cm */
+#define DAC1FID31_VISIBILITY_SCALE 10.0
+ int waterlevel; /* cm */
#define DAC1FID31_WATERLEVEL_NOT_AVAILABLE 4001
+#define DAC1FID31_WATERLEVEL_OFFSET 1000
+#define DAC1FID31_WATERLEVEL_SCALE 100.0
unsigned int leveltrend; /* water level trend code */
-#define DAC1FID31_LEVELTREND_NOT_AVAILABLE 3
+#define DAC1FID31_WATERLEVELTREND_NOT_AVAILABLE 3
unsigned int cspeed; /* current speed in deciknots */
#define DAC1FID31_CSPEED_NOT_AVAILABLE 255
+#define DAC1FID31_CSPEED_SCALE 10.0
unsigned int cdir; /* current dir., degrees */
unsigned int cspeed2; /* current speed in deciknots */
unsigned int cdir2; /* current dir., degrees */
unsigned int cdepth2; /* measurement depth, 0.1m */
#define DAC1FID31_CDEPTH_NOT_AVAILABLE 301
+#define DAC1FID31_CDEPTH_SCALE 10.0
unsigned int cspeed3; /* current speed in deciknots */
unsigned int cdir3; /* current dir., degrees */
unsigned int cdepth3; /* measurement depth, 0.1m */
unsigned int waveheight; /* in decimeters */
#define DAC1FID31_HEIGHT_NOT_AVAILABLE 31
+#define DAC1FID31_HEIGHT_SCALE 10.0
unsigned int waveperiod; /* in seconds */
#define DAC1FID31_PERIOD_NOT_AVAILABLE 63
unsigned int wavedir; /* direction in degrees */
@@ -1308,10 +1330,12 @@ struct ais_t
#define DAC1FID31_SEASTATE_NOT_AVAILABLE 15
int watertemp; /* units 0.1deg Celsius */
#define DAC1FID31_WATERTEMP_NOT_AVAILABLE 601
+#define DAC1FID31_WATERTEMP_SCALE 10.0
unsigned int preciptype; /* 0-7, enumerated */
#define DAC1FID31_PRECIPTYPE_NOT_AVAILABLE 7
- unsigned int salinity; /* units of 0.1% */
+ unsigned int salinity; /* units of 0.1 permil (ca. PSU) */
#define DAC1FID31_SALINITY_NOT_AVAILABLE 510
+#define DAC1FID31_SALINITY_SCALE 10.0
unsigned int ice; /* is there sea ice? */
#define DAC1FID31_ICE_NOT_AVAILABLE 3
} dac1fid31;