summaryrefslogtreecommitdiff
path: root/driver_ais.c
diff options
context:
space:
mode:
authorJon Schlueter <jschlueter@redhat.com>2016-01-05 00:24:14 -0500
committerJon Schlueter <jschlueter@redhat.com>2016-01-05 02:10:08 -0500
commit4a08a3c9e8f54d8dd1b8bc0c3b1176b24bcccab0 (patch)
tree01f3844cc26cc210b3c321be2c97e96737339c73 /driver_ais.c
parentdb5a1d5c9d23ce0e3ff8eab219c91ff425def344 (diff)
downloadgpsd-4a08a3c9e8f54d8dd1b8bc0c3b1176b24bcccab0.tar.gz
[aivdm] Expand driver type=20 to handle length 186
Full parsing not guarenteed but it at least parses more of the data that is pressent for several of these messages there are 28 bits not being processed out of this message but it doesn't match up with the 12+4+3+11=30 bits that the repeated data set is currently using Looks like other messages of type 20 have data in the last 28 bits but it's not decoded anywhere right now 186 bits long !AIVDM,1,1,,2,D02E34iFTg6D000000000000002gjG2,0*75 20|0|002442003|1385|2|7|1125|0|0|0|0|0|0|0|0|0|0|0|0 186 bits long !AIVDM,1,1,,2,D02=VVA8`N?`>4N01L=Nfp1>AA0,0*75 20|0|002320025|1162|1|7|250|225|1|7|0|1475|5|7|750|19|9|0|1296 shorter !AIVDM,1,1,,A,D028rqP<QNfp000000000000000,2*0C 20|0|002243302|200|5|7|750|0|0|0|0|0|0|0|0|0|0|0|0
Diffstat (limited to 'driver_ais.c')
-rw-r--r--driver_ais.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/driver_ais.c b/driver_ais.c
index 80c0c888..0dcaebea 100644
--- a/driver_ais.c
+++ b/driver_ais.c
@@ -876,7 +876,7 @@ bool ais_binary_decode(const struct gpsd_errout_t *errout,
//ais->type19.spare = UBITS(308, 4);
break;
case 20: /* Data Link Management Message */
- RANGE_CHECK(72, 160);
+ RANGE_CHECK(72, 186);
//ais->type20.spare = UBITS(38, 2);
ais->type20.offset1 = UBITS(40, 12);
ais->type20.number1 = UBITS(52, 4);