diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-03-03 23:41:31 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-03-03 23:41:31 +0000 |
commit | 1cdaf167f312d116b315200c60a0c3ab372c722c (patch) | |
tree | af97a0f40b23822807fc2d9c0f5d8c5aad3c1690 /driver_rtcm3.c | |
parent | 68c2b4e25d5c7b0a497aceae594819fdb1ac769c (diff) | |
download | gpsd-1cdaf167f312d116b315200c60a0c3ab372c722c.tar.gz |
One more RTCM3 message.
Diffstat (limited to 'driver_rtcm3.c')
-rw-r--r-- | driver_rtcm3.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/driver_rtcm3.c b/driver_rtcm3.c index 7bf62f85..37a0df32 100644 --- a/driver_rtcm3.c +++ b/driver_rtcm3.c @@ -290,6 +290,13 @@ void rtcm3_unpack(/*@out@*/struct rtcm3_t *rtcm, char *buf) break; case 1029: + rtcm->rtcmtypes.rtcm3_1029.msgnum = (unsigned short)ugrab(12); + rtcm->rtcmtypes.rtcm3_1029.station_id = (unsigned short)ugrab(12); + rtcm->rtcmtypes.rtcm3_1029.mjd = (unsigned short)ugrab(16); + rtcm->rtcmtypes.rtcm3_1029.sod = (unsigned short)ugrab(17); + rtcm->rtcmtypes.rtcm3_1029.len = (unsigned long)ugrab(7); + n = rtcm->rtcmtypes.rtcm3_1029.unicode_units = (unsigned long)ugrab(8); + (void)memcpy(rtcm->rtcmtypes.rtcm3_1029.text, buf+9, n); break; } #undef sgrab @@ -487,6 +494,18 @@ void rtcm3_dump(struct rtcm3_t *rtcm, FILE *fp) break; case 1029: + (void)fprintf(fp, + " station_id=%u, seq=%u, mjd=%u sec=%u len=%u units=%u msg=%s\n", + rtcm->rtcmtypes.rtcm3_1029.station_id, + rtcm->rtcmtypes.rtcm3_1029.msgnum, + rtcm->rtcmtypes.rtcm3_1029.mjd, + rtcm->rtcmtypes.rtcm3_1029.sod, + rtcm->rtcmtypes.rtcm3_1029.len, + rtcm->rtcmtypes.rtcm3_1029.unicode_units, + rtcm->rtcmtypes.rtcm3_1029.text); + break; + + default: (void)fprintf(fp, " Unknown content\n"); break; } |