diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-05-27 07:19:47 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-05-27 07:19:47 +0000 |
commit | 2377eedf7d9206df05b4adead861f4ef13fb6b60 (patch) | |
tree | f75ab7f3a9c0022c98371068e7031166e2fa686c /driver_aivdm.c | |
parent | 1c864d6bd9817b7d530d255942961df21a189f23 (diff) | |
download | gpsd-2377eedf7d9206df05b4adead861f4ef13fb6b60.tar.gz |
More consistent logging for AIS sentences.
Diffstat (limited to 'driver_aivdm.c')
-rw-r--r-- | driver_aivdm.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/driver_aivdm.c b/driver_aivdm.c index 02a1b8f2..59b25906 100644 --- a/driver_aivdm.c +++ b/driver_aivdm.c @@ -214,6 +214,12 @@ bool aivdm_decode(char *buf, size_t buflen, struct aivdm_context_t *ais_context) UCHARS(302, ais->type5.destination); ais->type5.dte = UBITS(422, 1); ais->type5.spare = UBITS(423, 1); + gpsd_report(LOG_INF, + "AIS=%d callsign=%s, name=%s destination=%s\n", + ais->type5.ais_version, + ais->type5.callsign, + ais->type5.vessel_name, + ais->type5.destination); break; case 6: /* Addressed Binary Message */ ais->type6.seqno = UBITS(38, 2); @@ -225,6 +231,11 @@ bool aivdm_decode(char *buf, size_t buflen, struct aivdm_context_t *ais_context) (void)memcpy(ais->type6.bitdata, (char *)ais_context->bits+11, (ais->type6.bitcount + 7) / 8); + gpsd_report(LOG_INF, "seqno=%d, dest=%u, id=%u, cnt=%u\n", + ais->type6.seqno, + ais->type6.dest_mmsi, + ais->type6.application_id, + ais->type6.bitcount); break; case 7: /* Binary acknowledge */ for (i = 0; i < sizeof(ais->type7.mmsi)/sizeof(ais->type7.mmsi[0]); i++) @@ -232,6 +243,7 @@ bool aivdm_decode(char *buf, size_t buflen, struct aivdm_context_t *ais_context) ais->type7.mmsi[i] = UBITS(40 + 32*i, 30); else ais->type7.mmsi[i] = 0; + gpsd_report(LOG_INF, "\n"); break; case 8: /* Binary Broadcast Message */ ais->type8.spare = UBITS(38, 2); @@ -240,6 +252,9 @@ bool aivdm_decode(char *buf, size_t buflen, struct aivdm_context_t *ais_context) (void)memcpy(ais->type8.bitdata, (char *)ais_context->bits+7, (ais->type8.bitcount + 7) / 8); + gpsd_report(LOG_INF, "id=%u, cnt=%u\n", + ais->type8.application_id, + ais->type8.bitcount); break; case 9: /* Standard SAR Aircraft Position Report */ ais->type9.altitude = UBITS(38, 12); @@ -273,6 +288,9 @@ bool aivdm_decode(char *buf, size_t buflen, struct aivdm_context_t *ais_context) from_sixbit((char *)ais_context->bits, 72, ais_context->bitlen-72, ais->type12.text); + gpsd_report(LOG_INF, "seqno=%d, dest=%u\n", + ais->type12.seqno, + ais->type12.dest_mmsi); break; case 13: /* Safety Related Acknowledge */ for (i = 0; i < sizeof(ais->type13.mmsi)/sizeof(ais->type13.mmsi[0]); i++) @@ -280,12 +298,14 @@ bool aivdm_decode(char *buf, size_t buflen, struct aivdm_context_t *ais_context) ais->type13.mmsi[i] = UBITS(40 + 32*i, 30); else ais->type13.mmsi[i] = 0; + gpsd_report(LOG_INF, "\n"); break; case 14: /* Safety Related Broadcast Message */ ais->type14.spare = UBITS(38, 2); from_sixbit((char *)ais_context->bits, 40, ais_context->bitlen-40, ais->type14.text); + gpsd_report(LOG_INF, "\n"); break; case 18: /* Standard Class B CS Position Report */ ais->type18.reserved = UBITS(38, 8); |