summaryrefslogtreecommitdiff
path: root/zodiac.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-06-13 22:33:53 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-06-13 22:33:53 +0000
commit60a6be224f2f896a017b950c269b8c61f61a47e1 (patch)
tree199bb860ad27b4558cc74f83c2970fd7f57bc9ae /zodiac.c
parentdcbd37b05e20e4fd35512332fff86316a4411278 (diff)
downloadgpsd-60a6be224f2f896a017b950c269b8c61f61a47e1.tar.gz
Add Zodiac log to regression test.
Diffstat (limited to 'zodiac.c')
-rw-r--r--zodiac.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/zodiac.c b/zodiac.c
index 7d87a4c2..2404935c 100644
--- a/zodiac.c
+++ b/zodiac.c
@@ -167,9 +167,15 @@ static gps_mask_t handle1000(struct gps_device_t *session)
/*@ -type @*/
session->gpsdata.fix.latitude = ((long)getlong(27)) * RAD_2_DEG * 1e-8;
session->gpsdata.fix.longitude = ((long)getlong(29)) * RAD_2_DEG * 1e-8;
+ /*
+ * The Rockwell Jupiter TU30-D140 reports altitude as uncorrected height
+ * above WGS84 geoid. The Zodiac binary protocol manual does not
+ * specify whether word 31 is geodetic or WGS 84.
+ */
session->gpsdata.fix.altitude = ((long)getlong(31)) * 1e-2;
/*@ +type @*/
session->gpsdata.separation = ((short)getword(33)) * 1e-2;
+ session->gpsdata.fix.altitude -= session->gpsdata.separation;
session->gpsdata.fix.speed = (int)getlong(34) * 1e-2;
session->gpsdata.fix.track = (int)getword(36) * RAD_2_DEG * 1e-3;
session->mag_var = ((short)getword(37)) * RAD_2_DEG * 1e-4;