diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2009-09-09 07:29:06 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2009-09-09 07:29:06 +0000 |
commit | 5744aee5cb326e473db12a1b104b328bd247d23c (patch) | |
tree | 3e3d5919ae755a0bd398066c0d7e798255c2e7ec /driver_zodiac.c | |
parent | 9e679fb1711620fe95cb39e6f1f029e39b4bcea6 (diff) | |
download | gpsd-5744aee5cb326e473db12a1b104b328bd247d23c.tar.gz |
Reliable cycle-start indication for almost all drivers.
Some regression tests needed to be rebuilt as a result.
One new regression test, for iTalk binary.
Diffstat (limited to 'driver_zodiac.c')
-rw-r--r-- | driver_zodiac.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/driver_zodiac.c b/driver_zodiac.c index 6f6212bb..bf93baca 100644 --- a/driver_zodiac.c +++ b/driver_zodiac.c @@ -407,15 +407,19 @@ static gps_mask_t zodiac_analyze(struct gps_device_t *session) (void)snprintf(session->gpsdata.tag,sizeof(session->gpsdata.tag),"%u",id); - /* normal cycle for these devices is 1001 1002 */ + /* + * Normal cycle for these devices is 1001 1002. + * We cound 1001 as end of cycle because 1002 doesn't + * carry fix information. + */ session->cycle_state = CYCLE_END_RELIABLE; + if (id == 1000) + session->cycle_state |= (CYCLE_START | CYCLE_END); switch (id) { case 1000: - session->cycle_state = CYCLE_END; return handle1000(session); case 1002: - /* actual cycle end, but conveys no fix information */ return handle1002(session); case 1003: return handle1003(session); |