summaryrefslogtreecommitdiff
path: root/driver_tsip.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-09-03 14:20:39 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-09-03 14:20:39 +0000
commit4d7853c6bd047f2e64754590411adf4fb6ba4b88 (patch)
tree65fbcacc14d90200ad7864d7e305cd927ee03ee5 /driver_tsip.c
parent10c4e65e6be0edc3a93e42ccd2bd468dba0a340c (diff)
downloadgpsd-4d7853c6bd047f2e64754590411adf4fb6ba4b88.tar.gz
Now make it possible for a driver to signal cycle start, cycle end, ...
and the fact that its cycle end indication is reliable. All regression tests pass.
Diffstat (limited to 'driver_tsip.c')
-rw-r--r--driver_tsip.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/driver_tsip.c b/driver_tsip.c
index 0adcd7d6..ae4e0981 100644
--- a/driver_tsip.c
+++ b/driver_tsip.c
@@ -266,7 +266,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
session->gpsdata.fix.latitude,
session->gpsdata.fix.longitude,
session->gpsdata.fix.altitude);
- session->cycle_state = cycle_start;
+ session->cycle_state |= CYCLE_START;
mask |= LATLON_SET | ALTITUDE_SET;
break;
case 0x4b: /* Machine/Code ID and Additional Status */
@@ -486,7 +486,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
session->gpsdata.fix.latitude,
session->gpsdata.fix.longitude,
session->gpsdata.fix.altitude);
- session->cycle_state = cycle_start;
+ session->cycle_state |= CYCLE_START;
mask |= LATLON_SET | ALTITUDE_SET;
break;
case 0x8f: /* Super Packet. Well... */
@@ -564,7 +564,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
session->driver.tsip.gps_week = s4;
session->gpsdata.fix.time = session->gpsdata.sentence_time =
gpstime_to_unix((int)s4, ul1 * 1e-3) - session->context->leap_seconds;
- session->cycle_state = cycle_start;
+ session->cycle_state |= CYCLE_START;
mask |= TIME_SET | LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET | STATUS_SET | MODE_SET;
break;
case 0x23: /* Compact Super Packet */
@@ -617,7 +617,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
/*@ +evalorder @*/
if ((session->gpsdata.fix.track = atan2(d1,d2) * RAD_2_DEG) < 0)
session->gpsdata.fix.track += 360.0;
- session->cycle_state = cycle_start;
+ session->cycle_state |= CYCLE_START;
mask |= TIME_SET | LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET | STATUS_SET | MODE_SET;
break;
@@ -697,7 +697,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
session->gpsdata.fix.longitude,
session->gpsdata.fix.altitude);
- session->cycle_state = cycle_start;
+ session->cycle_state |= CYCLE_START;
mask |= LATLON_SET | ALTITUDE_SET | STATUS_SET | MODE_SET;
break;