diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2008-07-15 16:19:47 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2008-07-15 16:19:47 +0000 |
commit | 2ec103007b9831405703f53ab582b4fc0059312c (patch) | |
tree | 2c07b53f7454e680c7429096a9e44103f49de5e3 /rtcmdecode.c | |
parent | a4ba7e96aa1a7c04a51225e26f4c9d28a9248189 (diff) | |
download | gpsd-2ec103007b9831405703f53ab582b4fc0059312c.tar.gz |
Packet getter is fixed so we can see RTCM3 packets.
Diffstat (limited to 'rtcmdecode.c')
-rw-r--r-- | rtcmdecode.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/rtcmdecode.c b/rtcmdecode.c index 7781cc2a..092b4f01 100644 --- a/rtcmdecode.c +++ b/rtcmdecode.c @@ -12,7 +12,7 @@ #include "gpsd_config.h" #include "gpsd.h" -static int verbose = ISGPS_ERRLEVEL_BASE; +static int verbose = 0; void gpsd_report(int errlevel, const char *fmt, ... ) /* assemble command in printf(3) style, use stderr or syslog */ @@ -34,7 +34,8 @@ static void decode(FILE *fpin, FILE *fpout) /* RTCM-104 bits on fpin to dump format on fpout */ { struct gps_packet_t lexer; - struct rtcm2_t rtcm; + struct rtcm2_t rtcm2; + struct rtcm3_t rtcm3; char buf[BUFSIZ]; packet_reset(&lexer); @@ -43,8 +44,13 @@ static void decode(FILE *fpin, FILE *fpout) if (packet_get(fileno(fpin), &lexer) <= 0 && packet_buffered_input(&lexer) <= 0) break; else if (lexer.type == RTCM2_PACKET) { - rtcm2_unpack(&rtcm, (char *)lexer.isgps.buf); - rtcm2_dump(&rtcm, buf, sizeof(buf)); + rtcm2_unpack(&rtcm2, (char *)lexer.isgps.buf); + rtcm2_dump(&rtcm2, buf, sizeof(buf)); + (void)fputs(buf, fpout); + } + else if (lexer.type == RTCM3_PACKET) { + rtcm3_unpack(&rtcm3, (char *)lexer.outbuffer); + rtcm3_dump(&rtcm3, buf, sizeof(buf)); (void)fputs(buf, fpout); } } @@ -142,7 +148,7 @@ int main(int argc, char **argv) break; case 'v': - verbose = ISGPS_ERRLEVEL_BASE + atoi(optarg); + verbose = atoi(optarg); break; case 'V': |