summaryrefslogtreecommitdiff
path: root/driver_rtcm3.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-03-07 06:59:10 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-03-07 06:59:10 +0000
commit45238dc94b0a807a17aff9949640e7254e37b8d6 (patch)
tree1c458ffd8cebaa3b23e88f7459993d99e541f9de /driver_rtcm3.c
parente9fa6c57f112469ed48320debb7a24df672ed9f1 (diff)
downloadgpsd-45238dc94b0a807a17aff9949640e7254e37b8d6.tar.gz
Handle RTCM3 message 1014.
Diffstat (limited to 'driver_rtcm3.c')
-rw-r--r--driver_rtcm3.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/driver_rtcm3.c b/driver_rtcm3.c
index c12667a3..27c478b3 100644
--- a/driver_rtcm3.c
+++ b/driver_rtcm3.c
@@ -400,6 +400,14 @@ void rtcm3_unpack(/*@out@*/struct rtcm3_t *rtcm, char *buf)
break;
case 1014:
+ rtcm->rtcmtypes.rtcm3_1014.network_id =(int)ugrab(8);
+ rtcm->rtcmtypes.rtcm3_1014.subnetwork_id =(int)ugrab(4);
+ rtcm->rtcmtypes.rtcm3_1014.stationcount =(char)ugrab(5);
+ rtcm->rtcmtypes.rtcm3_1014.master_id =(int)ugrab(12);
+ rtcm->rtcmtypes.rtcm3_1014.aux_id =(int)ugrab(12);
+ rtcm->rtcmtypes.rtcm3_1014.d_lat =(unsigned short)ugrab(20) * ANTENNA_DEGREE_RESOLUTION;
+ rtcm->rtcmtypes.rtcm3_1014.d_lon =(unsigned short)ugrab(21) * ANTENNA_DEGREE_RESOLUTION;
+ rtcm->rtcmtypes.rtcm3_1014.d_alt =(unsigned short)ugrab(23) / 1000;
break;
case 1015:
@@ -698,6 +706,16 @@ void rtcm3_dump(struct rtcm3_t *rtcm, FILE *fp)
break;
case 1014:
+ (void)fprintf(fp,
+ " netid=%u subnetid=%d statcount=%d master=%d aux=%d lat=%f, lon=%f, alt=%f\n",
+ rtcm->rtcmtypes.rtcm3_1014.network_id,
+ rtcm->rtcmtypes.rtcm3_1014.subnetwork_id,
+ (int)rtcm->rtcmtypes.rtcm3_1014.stationcount,
+ rtcm->rtcmtypes.rtcm3_1014.master_id,
+ rtcm->rtcmtypes.rtcm3_1014.aux_id,
+ rtcm->rtcmtypes.rtcm3_1014.d_lat,
+ rtcm->rtcmtypes.rtcm3_1014.d_lon,
+ rtcm->rtcmtypes.rtcm3_1014.d_alt);
break;
case 1015: