summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gagneraud <chgans@gna.org>2012-05-20 23:00:44 +0100
committerChristian Gagneraud <chgans@gna.org>2012-05-20 23:06:02 +0100
commite6bddd8e75d07f3205a366abe48d76815d9e13a4 (patch)
treea67f41b4d22ac48705aa0a892ce847ac89fda76e
parent2b1cf23a8b428f9cb14017c7cc598e9c6569c209 (diff)
downloadgpsd-e6bddd8e75d07f3205a366abe48d76815d9e13a4.tar.gz
[AIS] Add 2 regression testcases for IMO236 met/hydro message
scons check pass
-rw-r--r--test/sample.aivdm105
-rw-r--r--test/sample.aivdm.chk2
-rw-r--r--test/synthetic-ais.json2
3 files changed, 109 insertions, 0 deletions
diff --git a/test/sample.aivdm b/test/sample.aivdm
index 29e8ae87..2bc73f13 100644
--- a/test/sample.aivdm
+++ b/test/sample.aivdm
@@ -231,6 +231,111 @@
# FID 22
# Data 256:eb0d4f917a035b2dfca3d4739381735c18ebbe754936f66850037dcacd9538b8
#
+# Type 8, DAC 1, FID 11 (IMO 236 Met/Hydro message)
+# From Christian Gagneraud:
+# Specific NMEA messages with hard-coded Met/hydro values have been send to a
+# Kanaton, according to it's default input settings ($_HDXX,VAL*CS, where XX is the
+# parameter index, 0 to 30, VAL is the scaled parameter value, and CS the checksum).
+# The resulting AIVDO sentence has been decoded using the Kanaton software.
+# Sent data, kanaton decoder output and gpsd JSON output all match each other.
+#
+# "18/05/2012 18:15:37" !AIVDO,1,1,4,B,8>jR06@0Bk3:wOli;<`WPhh<1rqVBQf2V@Pdt0J82avIM2b<<Rv1t<ot=@1,2*54
+# AIS channel:1
+# Message ID=8
+# Repeat Indicator=0
+# Source ID (MMSI)=992509977
+# Spare=0
+# Binary Data
+# Application identifier=0x004B(75)
+# DAC=1(International)
+# Function identifier =11(Reserved for international operational applications)
+# Application data:
+# Latitude=0x30CAFD(53°017.693 N)
+# Longitude=0x59DA7(006°008.039 W)
+# Date and time=0x944F(18 17h15m)
+# Average wind speed=0x3(3 kts)
+# Wind gust=0x6(6 kt(s))
+# Wind direction=0xC(12 degree(s))
+# Wind gust direction=0xF(15 degree(s))
+# Air temperature=0x2E6(14.2 degree(s) Celcius)
+# Relative humidity=0x32(50percent)
+# Dew point=0x143(12.3 degree(s) Celcius)
+# Air pressure=0xE0(1024 hPa)
+# Air pressure tendency=0x2(2(increasing))
+# Horizontal visibility=0x99(15.3 NM)
+# Water level=0x10(-8.4 m)
+# Water level trend=0x1(1 hPa)
+# Surface current speed=0x67(10.3 kts)
+# Surface current direction=0x100(256 degree(s))
+# Current speed #2=0x68(10.4 kts)
+# Current direction #2=0x101(257 degree(s))
+# Current measuring level #2=0xA(10 m)
+# Current speed #3=0x7E(12.6 kts)
+# Current direction #3=0xCB(203 degree(s))
+# Current measuring level #3=0x14(20 m)
+# Significant wave height=0x2A(4.2 m)
+# Wave period=0x23(35 Sec)
+# Wave direction=19(25 degree(s))
+# Swell height=0x17(2.3) m
+# Swell period=0x30(48 Sec)
+# Swell direction=0x7C(124 degree(s))
+# Sea state=0x3(3 Beaufort)
+# Water temperature=0xDF(12.3 degree(s) Celcius)
+# Precipitation=0x6(6 according to WMO)
+# Salinity=0x35(5.3 permil)
+# Ice=0x0(0)
+!AIVDO,1,1,4,B,8>jR06@0Bk3:wOli;<`WPhh<1rqVBQf2V@Pdt0J82avIM2b<<Rv1t<ot=@1,2*54
+# Type 8, DAC 1, FID 11 (IMO 236 Met/Hydro message)
+# From Christian Gagneraud:
+# Same set-up as above, but the NMEA strem to the Kanaton has been stopped,
+# causing the Kanaton to send a message with all bits set to 1, meaning "no
+# data available"
+# "18/05/2012 18:45:37" !AIVDO,1,1,4,B,8>jR06@0Bk3:vOli;L`nwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt1,2*0E
+# AIS channel:1
+# Message ID=8
+# Repeat Indicator=0
+# Source ID (MMSI)=992509977
+# Spare=0
+# Binary Data
+# Application identifier=0x004B(75)
+# DAC=1(International)
+# Function identifier =11(Reserved for international operational applications)
+# Application data:
+# Latitude=0x30CAF9(53°017.689 N)
+# Longitude=0x59DA5(006°008.037 W)
+# Date and time=0x946D(18 17h45m)
+# Average wind speed=0x7F(127 kts)
+# Wind gust=0x7F(127 kt(s))
+# Wind direction=0x1FF(511 degree(s))
+# Wind gust direction=0x1FF(511 degree(s))
+# Air temperature=0x7FF(144.7 degree(s) Celcius)
+# Relative humidity=0x7F(127percent)
+# Dew point=0x3FF(82.3 degree(s) Celcius)
+# Air pressure=0x1FF(1311 hPa)
+# Air pressure tendency=0x3(3())
+# Horizontal visibility=0xFF(25.5 NM)
+# Water level=0x1FF(41.1 m)
+# Water level trend=0x3(3 hPa)
+# Surface current speed=0xFF(25.5 kts)
+# Surface current direction=0x1FF(511 degree(s))
+# Current speed #2=0xFF(25.5 kts)
+# Current direction #2=0x1FF(511 degree(s))
+# Current measuring level #2=0x1F(31 m)
+# Current speed #3=0xFF(25.5 kts)
+# Current direction #3=0x1FF(511 degree(s))
+# Current measuring level #3=0x1F(31 m)
+# Significant wave height=0xFF(25.5 m)
+# Wave period=0x3F(63 Sec)
+# Wave direction=1FF(511 degree(s))
+# Swell height=0xFF(25.5) m
+# Swell period=0x3F(63 Sec)
+# Swell direction=0x1FF(511 degree(s))
+# Sea state=0xF(15 Beaufort)
+# Water temperature=0x3FF(92.3 degree(s) Celcius)
+# Precipitation=0x7(7 according to WMO)
+# Salinity=0x1FF(51.1 permil)
+# Ice=0x3(3)
+!AIVDO,1,1,4,B,8>jR06@0Bk3:vOli;L`nwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt1,2*0E
# Type 9:
# From AISHub. Checked with the noaadata tools.
!AIVDM,1,1,,A,91b77=h3h00nHt0Q3r@@07000<0b,0*69
diff --git a/test/sample.aivdm.chk b/test/sample.aivdm.chk
index 26ce72e2..7841c6f6 100644
--- a/test/sample.aivdm.chk
+++ b/test/sample.aivdm.chk
@@ -11,6 +11,8 @@
7|2|537411077|43101326|717096664|76161024|0
8|0|366999712|366|56|256:3a53dbb7be4a773137f87d7b0445f040dea05d93f593783194ae9b9d9dbe05fb
8|0|999999999|366|56|256:eb0d4f917a035b2dfca3d4739381735c18ebbe754936f66850037dcacd9538b8
+8|0|992509977|1|11|-368039|3197693|18T17:15Z|3|6|12|15|142|50|123|1024|2|153|-84|1|103|256|104|257|10|126|203|20|42|35|25|23|48|124|3|123|6|53|0
+8|0|992509977|1|11|-368037|3197689|18T17:45Z|127|127|511|511|1447|127|823|1311|3|255|411|3|255|511|255|511|31|255|511|31|255|63|511|255|63|511|15|923|7|511|3
9|0|111265591|15|0|0|7128960|34667073|0|28|0x0|0|0|0x6015
10|0|366814480|366832740
10|0|440882000|366972000
diff --git a/test/synthetic-ais.json b/test/synthetic-ais.json
index 81d717af..bf7d5606 100644
--- a/test/synthetic-ais.json
+++ b/test/synthetic-ais.json
@@ -18,6 +18,8 @@
{"class":"AIS","type":7,"repeat":2,"mmsi":537411077,"scaled":false,"mmsi1":43101326,"mmsi2":717096664,"mmsi3":76161024,"mmsi4":0}
{"class":"AIS","type":8,"repeat":0,"mmsi":366999712,"scaled":false,"dac":366,"fid":22,"data":"256:3a53dbb7be4a773137f87d7b0445f040dea05d93f593783194ae9b9d9dbe05fb"}
{"class":"AIS","type":8,"repeat":0,"mmsi":366999655,"scaled":false,"dac":366,"fid":22,"data":"256:631d1d6b32f735f03494870d9e13addaf3f373435347ab94628f1498868051c3"}
+{"class":"AIS","type":8,"repeat":0,"mmsi":992509977,"scaled":false,"dac":1,"fid":11,"lat":3197693,"lon":-368039,"timestamp":"18T17:15Z","wspeed":3,"wgust":6,"wdir":12,"wgustdir":15,"humidity":50,"airtemp":142,"dewpoint":123,"pressure":1024,"pressuretend":2,"visibility":153,"waterlevel":-84,"leveltrend":1,"cspeed":103,"cdir":256,"cspeed2":104,"cdir2":257,"cdepth2":10,"cspeed3":126,"cdir3":203,"cdepth3":20,"waveheight":42,"waveperiod":35,"wavedir":25,"swellheight":23,"swellperiod":48,"swelldir":124,"seastate":3,"watertemp":123,"preciptype":6,"salinity":53,"ice":0}
+{"class":"AIS","type":8,"repeat":0,"mmsi":992509977,"scaled":false,"dac":1,"fid":11,"lat":3197689,"lon":-368037,"timestamp":"18T17:45Z","wspeed":127,"wgust":127,"wdir":511,"wgustdir":511,"humidity":127,"airtemp":1447,"dewpoint":823,"pressure":1311,"pressuretend":3,"visibility":255,"waterlevel":411,"leveltrend":3,"cspeed":255,"cdir":511,"cspeed2":255,"cdir2":511,"cdepth2":31,"cspeed3":255,"cdir3":511,"cdepth3":31,"waveheight":255,"waveperiod":63,"wavedir":511,"swellheight":255,"swellperiod":63,"swelldir":511,"seastate":15,"watertemp":923,"preciptype":7,"salinity":511,"ice":3}
{"class":"AIS","type":9,"repeat":0,"mmsi":111265591,"scaled":false,"alt":15,"speed":0,"accuracy":false,"lon":7128960,"lat":34667073,"course":0,"second":28,"regional":0,"dte":0,"raim":false,"radio":24597}
{"class":"AIS","type":10,"repeat":0,"mmsi":366814480,"scaled":false,"dest_mmsi":366832740}
{"class":"AIS","type":10,"repeat":0,"mmsi":440882000,"scaled":false,"dest_mmsi":366972000}