summaryrefslogtreecommitdiff
path: root/driver_rtcm3.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2016-04-06 15:36:05 -0700
committerGary E. Miller <gem@rellim.com>2016-04-06 15:36:05 -0700
commit85a64bc0f64d66b4bb8f8b2de24829747e48a485 (patch)
tree55246282429bd46e9aef15641567b65e52e7488e /driver_rtcm3.c
parenta4743af0e99cbc0e2eb9c5b2761a212dfd6537c5 (diff)
downloadgpsd-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.c20
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: