summaryrefslogtreecommitdiff
path: root/gpsd.h
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2006-11-07 03:25:41 +0000
committerEric S. Raymond <esr@thyrsus.com>2006-11-07 03:25:41 +0000
commita961236300450960213ee2432c500c48c016ef4d (patch)
tree1d29870bdf0e98cc91e075b4775776cd55ab8b00 /gpsd.h
parent4e901caa5b1a0417009f9c50e554153d5c60ffab (diff)
downloadgpsd-a961236300450960213ee2432c500c48c016ef4d.tar.gz
Interleave NMEA subtype probes with received packets. This seems to
*immediately* improve detection of SiRF devices in NMEA mode, and probably solves Davor Emard's Garmin GPS-10 bug as well (though this is not yet proven.
Diffstat (limited to 'gpsd.h')
-rw-r--r--gpsd.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gpsd.h b/gpsd.h
index f757ce21..0731ee05 100644
--- a/gpsd.h
+++ b/gpsd.h
@@ -79,7 +79,7 @@ struct gps_type_t {
int channels;
/*@null@*/bool (*probe_detect)(struct gps_device_t *session);
/*@null@*/void (*probe_wakeup)(struct gps_device_t *session);
- /*@null@*/void (*probe_subtype)(struct gps_device_t *session);
+ /*@null@*/void (*probe_subtype)(struct gps_device_t *session, int seq);
/*@null@*/void (*configurator)(struct gps_device_t *session);
/*@null@*/ssize_t (*get_packet)(struct gps_device_t *session);
/*@null@*/gps_mask_t (*parse_packet)(struct gps_device_t *session);
@@ -149,6 +149,7 @@ struct gps_device_t {
size_t outbuflen;
unsigned long char_counter; /* count characters processed */
unsigned long retry_counter; /* count sniff retries */
+ unsigned packet_counter; /* packets since last driver switch */
char subtype[64]; /* firmware version or subtype ID */
double poll_times[FD_SETSIZE]; /* last daemon poll time */
#ifdef NTPSHM_ENABLE