summaryrefslogtreecommitdiff
path: root/driver_aivdm.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2011-05-04 05:20:09 -0400
committerEric S. Raymond <esr@thyrsus.com>2011-05-04 05:20:09 -0400
commit8a2dfdb4992763b2aee83453d014133553f08447 (patch)
tree9c8acf22c37736d843a91e2cb4f3c171056cf76d /driver_aivdm.c
parentbe1322ed7650164813daec7b923385557311c087 (diff)
downloadgpsd-8a2dfdb4992763b2aee83453d014133553f08447.tar.gz
In AIS, support for IMO236 type 8 DAC = 1 FID = 13.
Diffstat (limited to 'driver_aivdm.c')
-rw-r--r--driver_aivdm.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/driver_aivdm.c b/driver_aivdm.c
index 6f483b82..4baf2c8f 100644
--- a/driver_aivdm.c
+++ b/driver_aivdm.c
@@ -561,6 +561,20 @@ bool aivdm_decode(const char *buf, size_t buflen,
imo = true;
break;
case 13: /* IMO236 - Fairway closed */
+ UCHARS(56, ais->type8.dac1fid13.reason);
+ UCHARS(176, ais->type8.dac1fid13.closefrom);
+ UCHARS(296, ais->type8.dac1fid13.closeto);
+ ais->type8.dac1fid13.radius = UBITS(416, 10);
+ ais->type8.dac1fid13.extunit = UBITS(426, 2);
+ ais->type8.dac1fid13.fday = UBITS(428, 5);
+ ais->type8.dac1fid13.fmonth = UBITS(433, 4);
+ ais->type8.dac1fid13.fhour = UBITS(437, 5);
+ ais->type8.dac1fid13.fminute = UBITS(442, 6);
+ ais->type8.dac1fid13.tday = UBITS(448, 5);
+ ais->type8.dac1fid13.tmonth = UBITS(453, 4);
+ ais->type8.dac1fid13.thour = UBITS(457, 5);
+ ais->type8.dac1fid13.tminute = UBITS(462, 6);
+ /* skip 4 bits */
break;
case 15: /* IMO236 - Extended ship and voyage */
break;