summaryrefslogtreecommitdiff
path: root/driver_navcom.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-09-16 16:26:02 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-09-16 16:26:02 +0000
commit27b869ce4eb2bb12ce8bdd4ea11cfeb9075bc465 (patch)
tree883402295f6702acb5316c2669137bcea6f80609 /driver_navcom.c
parent05afcd8e2e3ef96fd4e4a56dd788911c6f0815fa (diff)
downloadgpsd-27b869ce4eb2bb12ce8bdd4ea11cfeb9075bc465.tar.gz
Change the driver event set to be more orthogonal.
This had the expected effect, the N command can now works on SiRFs again because the subdevice probe is not called after every driver switch. One of the Trimbles has minor regression breakage on this change (two fewer reports emitted just after packet lock) but I'm not worrying about that as the TSIP driver needs to be upgraded to do CYCLE_END, anyway.
Diffstat (limited to 'driver_navcom.c')
-rw-r--r--driver_navcom.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/driver_navcom.c b/driver_navcom.c
index 700eb866..03695400 100644
--- a/driver_navcom.c
+++ b/driver_navcom.c
@@ -205,7 +205,11 @@ static void navcom_event_hook(struct gps_device_t *session, event_t event)
/*@ +type @*/
}
/* Request the following messages: */
- if (event == event_probe_subtype && session->packet.counter == 0) {
+ /*
+ * FIXME: It might not be necessary to call this on reactivate.
+ * Experiment to see if the holds its settings through a close.
+ */
+ if (event == event_identified || event == event_reactivate) {
/*@ +charint @*/
navcom_cmd_0x1c(session, 0x01, 5); /* Blink LEDs on receiver */
navcom_cmd_0x20(session, 0xae, 0x1770); /* Identification Block - send every 10 min*/