diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2013-10-01 04:32:49 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2013-10-01 04:32:49 -0400 |
commit | c7d520bd744044722270b96d8aea81be4d0d52c6 (patch) | |
tree | bf09f4b10259f2806a9b48e3c12bf12feb867dd7 /driver_ais.c | |
parent | bcad85b7df2b911cb97904599d690456e323d2ad (diff) | |
download | gpsd-c7d520bd744044722270b96d8aea81be4d0d52c6.tar.gz |
Axccept Persons On Board as either a type 6 or 8 message.
Diffstat (limited to 'driver_ais.c')
-rw-r--r-- | driver_ais.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/driver_ais.c b/driver_ais.c index b69a0592..b2131169 100644 --- a/driver_ais.c +++ b/driver_ais.c @@ -240,7 +240,7 @@ bool ais_binary_decode(const int debug, ais->type6.dac1fid15.airdraught = UBITS(56, 11); imo = true; break; - case 16: /* IMO236 - Number of persons on board */ + case 16: /* IMO236 - Number of persons on board */ if (ais->type6.bitcount == 136) ais->type6.dac1fid16.persons = UBITS(88, 13);/* 289 */ else @@ -467,6 +467,13 @@ bool ais_binary_decode(const int debug, /* skip 5 bits */ imo = true; break; + case 16: /* Number of Persons On Board */ + if (ais->type8.bitcount == 136) + ais->type8.dac1fid16.persons = UBITS(88, 13);/* 289 */ + else + ais->type8.dac1fid16.persons = UBITS(55, 13);/* 236 */ + imo = true; + break; case 17: /* IMO289 - VTS-generated/synthetic targets */ #define ARRAY_BASE 56 #define ELEMENT_SIZE 122 |