diff options
author | Gary E. Miller <gem@rellim.com> | 2016-04-06 15:36:05 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2016-04-06 15:36:05 -0700 |
commit | 85a64bc0f64d66b4bb8f8b2de24829747e48a485 (patch) | |
tree | 55246282429bd46e9aef15641567b65e52e7488e /driver_rtcm3.c | |
parent | a4743af0e99cbc0e2eb9c5b2761a212dfd6537c5 (diff) | |
download | gpsd-85a64bc0f64d66b4bb8f8b2de24829747e48a485.tar.gz |
Add more comments to RTCM message types.
rtklib.c decodes a number of types gpsd does not.
Source code here: http://www.rtklib.com/
Diffstat (limited to 'driver_rtcm3.c')
-rw-r--r-- | driver_rtcm3.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/driver_rtcm3.c b/driver_rtcm3.c index b5722828..b81d2d90 100644 --- a/driver_rtcm3.c +++ b/driver_rtcm3.c @@ -64,9 +64,10 @@ BSD terms apply: see the file COPYING in the distribution root for details. /* Large case statements make GNU indent very confused */ /* *INDENT-OFF* */ -/* good srouce on message types: +/* good source on message types: * https://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html * Also look in the BNC source + * and look at the tklib source: http://www.rtklib.com/ */ void rtcm3_unpack(const struct gps_context_t *context, struct rtcm3_t *rtcm, char *buf) @@ -428,6 +429,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * GPS Ephemeris * length 19 */ + /* TODO: rtklib has C code for this one. */ break; case 1020: @@ -435,6 +437,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * GLONASS Ephemeris * length 45 */ + /* TODO: rtklib has C code for this one. */ break; case 1029: @@ -452,7 +455,12 @@ void rtcm3_unpack(const struct gps_context_t *context, break; case 1033: /* see note in header */ - /* Receiver and Antenna Descriptor */ + /* Receiver and Antenna Descriptor + * Type1033 is a combined Message Types 1007 and 1008 + * and hence contains antenna descriptor and serial number + * as well as receiver descriptor and serial number. + */ + /* TODO: rtklib has C code for this one. */ rtcm->rtcmtypes.rtcm3_1033.station_id = (unsigned short)ugrab(12); n = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1033.descriptor, buf + 7, n); @@ -471,6 +479,7 @@ void rtcm3_unpack(const struct gps_context_t *context, (void)memcpy(rtcm->rtcmtypes.rtcm3_1033.firmware, buf + 11+n+n2+n3, n3); rtcm->rtcmtypes.rtcm3_1033.firmware[n4] = '\0'; //bitcount += 8 * n4; + // TODO: next is receiver serial number unknown = false; break; @@ -486,6 +495,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * QZSS ephemeris * length 61 */ + /* TODO: rtklib has C code for this one. */ break; case 1045: @@ -493,6 +503,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * Galileo Ephemeris FNAV data * length 62 */ + /* TODO: rtklib has C code for this one. */ break; case 1046: @@ -500,6 +511,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * Galileo Ephemeris INAV data * length 63 */ + /* TODO: rtklib has C code for this one. */ break; case 1077: @@ -508,6 +520,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * signal strength (high resolution) * length 438 */ + /* TODO: rtklib has C code for this one. */ break; case 1087: @@ -516,6 +529,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * signal strength (high resolution) * length 417 or 427 */ + /* TODO: rtklib has C code for this one. */ break; case 1097: @@ -524,6 +538,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * signal strength (high resolution) * length 96 */ + /* TODO: rtklib has C code for this one. */ break; case 1107: @@ -533,6 +548,7 @@ void rtcm3_unpack(const struct gps_context_t *context, * signal strength (high resolution) * length 96 */ + /* TODO: rtklib has C code for this one. */ break; default: |