diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2011-01-21 05:02:22 -0500 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2011-01-21 05:02:22 -0500 |
commit | a8fed05fc3760e05d809f3c612d7143261876f6b (patch) | |
tree | e492708e2bd161fd1201df61436a444fa9a92914 /driver_zodiac.c | |
parent | 45ec8b87531c5c967ab94dd531abe417dc912bf2 (diff) | |
download | gpsd-a8fed05fc3760e05d809f3c612d7143261876f6b.tar.gz |
Add some suitable warning comments.
Diffstat (limited to 'driver_zodiac.c')
-rw-r--r-- | driver_zodiac.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/driver_zodiac.c b/driver_zodiac.c index 7e61db17..7d54bf75 100644 --- a/driver_zodiac.c +++ b/driver_zodiac.c @@ -1,6 +1,11 @@ /* * Handle the Rockwell binary packet format supported by the old Zodiac chipset * + * Week counters are not limited to 10 bits. It's unknown what + * the firmware is doing to disambiguate them, if anything; it might just + * be adding a fixed offset based on a hidden epoch value, in which case + * unhappy things will occur on the next rollover. + * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ @@ -221,6 +226,7 @@ static gps_mask_t handle1002(struct gps_device_t *session) int gps_seconds = getzlong(11); /* gps_nanoseconds = getzlong(13); */ /*@-charint@*/ + /* Note: this week counter is not limited to 10 bits. */ session->context->gps_week = (unsigned short)gps_week; session->gpsdata.satellites_used = 0; memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used)); |