From f2ba497b7ebe1158bb2e0088ad828c45600938ee Mon Sep 17 00:00:00 2001 From: Christian Gagneraud Date: Wed, 23 May 2012 00:27:04 +0100 Subject: [AIS] Add UK/ROI AtoN monitoring data message handling --- gpsdecode.c | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'gpsdecode.c') diff --git a/gpsdecode.c b/gpsdecode.c index 60060b72..cc257161 100644 --- a/gpsdecode.c +++ b/gpsdecode.c @@ -105,15 +105,38 @@ static void aivdm_csv_dump(struct ais_t *ais, char *buf, size_t buflen) break; case 6: /* Binary Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), - "%u|%u|%u|%u|%u|%zd:%s", + "%u|%u|%u|%u|%u", ais->type6.seqno, ais->type6.dest_mmsi, (uint) ais->type6.retransmit, ais->type6.dac, - ais->type6.fid, - ais->type6.bitcount, - gpsd_hexdump(ais->type6.bitdata, - (ais->type6.bitcount + 7) / 8)); + ais->type6.fid); + switch(ais->type6.dac) { + case 235: /* UK */ + case 250: /* Rep. Of Ireland */ + switch(ais->type6.fid) { + case 10: /* GLA - AtoN monitoring */ + (void)snprintf(buf + strlen(buf), buflen - strlen(buf), + "|%u|%u|%u|%u|%u|%u|%u|%u", + ais->type6.dac235fid10.ana_int, + ais->type6.dac235fid10.ana_ext1, + ais->type6.dac235fid10.ana_ext2, + ais->type6.dac235fid10.racon, + ais->type6.dac235fid10.light, + ais->type6.dac235fid10.alarm, + ais->type6.dac235fid10.stat_ext, + ais->type6.dac235fid10.off_pos); + imo = true; + break; + } + break; + } + if (!imo) + (void)snprintf(buf + strlen(buf), buflen - strlen(buf), + "|%zd:%s", + ais->type6.bitcount, + gpsd_hexdump(ais->type6.bitdata, + (ais->type6.bitcount + 7) / 8)); break; case 7: /* Binary Acknowledge */ case 13: /* Safety Related Acknowledge */ -- cgit v1.2.1