summaryrefslogtreecommitdiff
path: root/rtcm.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-07-16 20:35:12 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-07-16 20:35:12 +0000
commit74fbbbb1fb03de0f9128c738e9c1b569d1ad99f9 (patch)
treef0d10a4d2ae20a9d6bcef0fbadde563242a36222 /rtcm.c
parent08622d0218136ad547fd1720fe6fbd48542ed6f3 (diff)
downloadgpsd-74fbbbb1fb03de0f9128c738e9c1b569d1ad99f9.tar.gz
We got message 3.
Diffstat (limited to 'rtcm.c')
-rw-r--r--rtcm.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/rtcm.c b/rtcm.c
index 1b0c1b27..f768725a 100644
--- a/rtcm.c
+++ b/rtcm.c
@@ -564,6 +564,17 @@ static void unpack(struct gps_device_t *session)
}
}
break;
+ case 3:
+ {
+ struct rtcm_msg3 *m = (struct rtcm_msg3 *)msghdr;
+
+ if (len >= 4) {
+ session->rtcm.ecef.x = ((m->w3.x_h<<8)|(m->w4.x_l))*XYZ_SCALE;
+ session->rtcm.ecef.y = ((m->w4.y_h<<16)|(m->w5.y_l))*XYZ_SCALE;
+ session->rtcm.ecef.z = ((m->w5.z_h<<24)|(m->w6.z_l))*XYZ_SCALE;
+ }
+ }
+ break;
default:
break;
}
@@ -727,16 +738,10 @@ void rtcm_dump(struct gps_device_t *session, /*@out@*/char buf[], size_t buflen)
#if 0 /* I was too slow in getting these in. -wsr */
case 3:
- {
- struct msg3 *m = (struct msg3 *) msghdr;
-
- if (len >= 4) {
- printf("R\t%.2f\t%.2f\t%.2f\n",
- ((m->w3.x_h << 8) | (m->w4.x_l)) * XYZ_SCALE,
- ((m->w4.y_h << 16) | (m->w5.y_l)) * XYZ_SCALE,
- ((m->w5.z_h << 24) | (m->w6.z_l)) * XYZ_SCALE);
- }
- }
+ printf("R\t%.2f\t%.2f\t%.2f\n",
+ session->rtcm.ecef.x,
+ session->rctm.ecef.y,
+ session->rtcm.ecef.z);
break;
case 4: