diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2011-02-28 17:42:53 -0500 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2011-02-28 17:42:53 -0500 |
commit | c9c70d8fa2483a506b3b14c68f7c0ca7a69897df (patch) | |
tree | 9fff2eda19cc4e726531de115e43dffab542fa95 /rtcm2_json.c | |
parent | 5f28af9f91b118e13c49b949777187ab57d1cff2 (diff) | |
download | gpsd-c9c70d8fa2483a506b3b14c68f7c0ca7a69897df.tar.gz |
Implement and document RTCM 2.3 message type 13.
Diffstat (limited to 'rtcm2_json.c')
-rw-r--r-- | rtcm2_json.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/rtcm2_json.c b/rtcm2_json.c index 7ea15c3e..14d8e3cb 100644 --- a/rtcm2_json.c +++ b/rtcm2_json.c @@ -147,6 +147,18 @@ int json_rtcm2_read(const char *buf, }; /*@+type@*/ + const struct json_attr_t json_rtcm13[] = { + RTCM2_HEADER + {"status", t_boolean, .addr.boolean = &rtcm2->xmitter.status}, + {"rangeflag", t_boolean, .addr.boolean = &rtcm2->xmitter.rangeflag}, + {"lat", t_real, .addr.real = &rtcm2->xmitter.lat, + .dflt.real = NAN}, + {"lon", t_real, .addr.real = &rtcm2->xmitter.lon, + .dflt.real = NAN}, + {"range", t_uinteger, .addr.uinteger = &rtcm2->xmitter.range}, + {NULL}, + }; + const struct json_attr_t json_rtcm14[] = { RTCM2_HEADER {"week", t_uinteger, .addr.uinteger = &rtcm2->gpstime.week}, @@ -208,6 +220,8 @@ int json_rtcm2_read(const char *buf, status = json_read_object(buf, json_rtcm7, endptr); if (status == 0) rtcm2->almanac.nentries = (unsigned)satcount; + } else if (strstr(buf, "\"type\":13,") != NULL) { + status = json_read_object(buf, json_rtcm13, endptr); } else if (strstr(buf, "\"type\":14,") != NULL) { status = json_read_object(buf, json_rtcm14, endptr); } else if (strstr(buf, "\"type\":16,") != NULL) { |