summaryrefslogtreecommitdiff
path: root/driver_superstar2.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-10-02 15:56:08 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-10-02 15:56:08 +0000
commita0023da1ea2b268830d981de3b3b5b2cf6058612 (patch)
tree6a3334a9b6f72643f6d60facd416d7dd17196b16 /driver_superstar2.c
parent34574031fb921a546325b5339c917d64ae6c58f8 (diff)
downloadgpsd-a0023da1ea2b268830d981de3b3b5b2cf6058612.tar.gz
The new instrumentation pays off.
On NMEA devices, mode could sometimes be held across cycles when it shouldn't have been. Fix this, simplifying how cycles are tracked in the process. Some regression tests needed rebuilding. Code splints clean.
Diffstat (limited to 'driver_superstar2.c')
-rw-r--r--driver_superstar2.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/driver_superstar2.c b/driver_superstar2.c
index 6ed59da5..4983a650 100644
--- a/driver_superstar2.c
+++ b/driver_superstar2.c
@@ -488,15 +488,7 @@ superstar2_dispatch(struct gps_device_t *session, unsigned char *buf,
(void)snprintf(session->gpsdata.tag,
sizeof(session->gpsdata.tag), "SS2-%d", type);
- /*
- * Only one message sends actual fix data, so we can treat it as
- * both start-of-cycle and end-of-cycle. For correctness, and in
- * case the reports ever merge data from other sentences, we
- * should find out what the actual cycle-ender is.
- */
session->cycle_end_reliable = true;
- if (type == SUPERSTAR2_NAVSOL_LLA)
- session->cycle_state |= CYCLE_START | CYCLE_END;
switch (type)
{
@@ -505,7 +497,7 @@ superstar2_dispatch(struct gps_device_t *session, unsigned char *buf,
case SUPERSTAR2_SVINFO: /* Satellite Visibility Data */
return superstar2_msg_svinfo(session, buf, len);
case SUPERSTAR2_NAVSOL_LLA: /* Navigation Data */
- return superstar2_msg_navsol_lla(session, buf, len);
+ return superstar2_msg_navsol_lla(session, buf, len) | (CLEAR_SET | REPORT_SET);
#ifdef __UNUSED__
case SUPERSTAR2_NAVSOL_ECEF: /* Navigation Data */
return superstar2_msg_navsol_ecef(session, buf, len);