summaryrefslogtreecommitdiff
path: root/zodiac.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-06-15 17:28:40 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-06-15 17:28:40 +0000
commit14bd6c57b9e479354eb0f60bae79dc274d54f0cb (patch)
tree7397271bf5bef76b4545e574cb523eca982cf40d /zodiac.c
parentd7aa3db02d43fc7c123a2d3300116611ca835aa3 (diff)
downloadgpsd-14bd6c57b9e479354eb0f60bae79dc274d54f0cb.tar.gz
New packet-return API using newdata and explicit merging.
Diffstat (limited to 'zodiac.c')
-rw-r--r--zodiac.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/zodiac.c b/zodiac.c
index 19c66ed1..92a48a0b 100644
--- a/zodiac.c
+++ b/zodiac.c
@@ -139,9 +139,9 @@ static gps_mask_t handle1000(struct gps_device_t *session)
/*@ -boolops -predboolothers @*/
session->gpsdata.status = (getword(10) & 0x1c) ? 0 : 1;
if (session->gpsdata.status != 0)
- session->gpsdata.fix.mode = (getword(10) & 1) ? MODE_2D : MODE_3D;
+ session->gpsdata.newdata.mode = (getword(10) & 1) ? MODE_2D : MODE_3D;
else
- session->gpsdata.fix.mode = MODE_NO_FIX;
+ session->gpsdata.newdata.mode = MODE_NO_FIX;
/*@ +boolops -predboolothers @*/
/* solution_type = getword(11); */
@@ -157,40 +157,40 @@ static gps_mask_t handle1000(struct gps_device_t *session)
session->gpsdata.nmea_date.tm_min = (int)getword(23);
session->gpsdata.nmea_date.tm_sec = (int)getword(24);
session->gpsdata.subseconds = (int)getlong(25) / 1e9;
- session->gpsdata.fix.time = session->gpsdata.sentence_time =
+ session->gpsdata.newdata.time = session->gpsdata.sentence_time =
(double)mkgmtime(&session->gpsdata.nmea_date) + session->gpsdata.subseconds;
#ifdef NTPSHM_ENABLE
- if (session->gpsdata.fix.mode > MODE_NO_FIX)
- (void)ntpshm_put(session, session->gpsdata.fix.time + 1.1);
+ if (session->gpsdata.newdata.mode > MODE_NO_FIX)
+ (void)ntpshm_put(session, session->gpsdata.newdata.time + 1.1);
#endif
/*@ -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;
+ session->gpsdata.newdata.latitude = ((long)getlong(27)) * RAD_2_DEG * 1e-8;
+ session->gpsdata.newdata.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;
+ session->gpsdata.newdata.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->gpsdata.newdata.altitude -= session->gpsdata.separation;
+ session->gpsdata.newdata.speed = (int)getlong(34) * 1e-2;
+ session->gpsdata.newdata.track = (int)getword(36) * RAD_2_DEG * 1e-3;
session->mag_var = ((short)getword(37)) * RAD_2_DEG * 1e-4;
- session->gpsdata.fix.climb = ((short)getword(38)) * 1e-2;
+ session->gpsdata.newdata.climb = ((short)getword(38)) * 1e-2;
/* map_datum = getword(39); */
- session->gpsdata.fix.eph = (int)getlong(40) * 1e-2;
- session->gpsdata.fix.epv = (int)getlong(42) * 1e-2;
- session->gpsdata.fix.ept = (int)getlong(44) * 1e-2;
- session->gpsdata.fix.eps = (int)getword(46) * 1e-2;
+ session->gpsdata.newdata.eph = (int)getlong(40) * 1e-2;
+ session->gpsdata.newdata.epv = (int)getlong(42) * 1e-2;
+ session->gpsdata.newdata.ept = (int)getlong(44) * 1e-2;
+ session->gpsdata.newdata.eps = (int)getword(46) * 1e-2;
/* clock_bias = (int)getlong(47) * 1e-2; */
/* clock_bias_sd = (int)getlong(49) * 1e-2; */
/* clock_drift = (int)getlong(51) * 1e-2; */
/* clock_drift_sd = (int)getlong(53) * 1e-2; */
#if 0
- gpsd_report(1, "date: %lf\n", session->gpsdata.fix.time);
+ gpsd_report(1, "date: %lf\n", session->gpsdata.newdata.time);
gpsd_report(1, " solution invalid:\n");
gpsd_report(1, " altitude: %d\n", (getword(10) & 1) ? 1 : 0);
gpsd_report(1, " no diff gps: %d\n", (getword(10) & 2) ? 1 : 0);