diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2006-08-16 16:52:38 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2006-08-16 16:52:38 +0000 |
commit | 888b6ed14c55daace0cb188739894c49d516e39b (patch) | |
tree | 0fb47b0d677b3179d997077d41c2ee86c4fc2032 /packet.c | |
parent | de938d5e99280e0fca60c93030972e8d777bf4c1 (diff) | |
download | gpsd-888b6ed14c55daace0cb188739894c49d516e39b.tar.gz |
Kluge to make pre-2003 Earthmates with EARTHA handshake work again.
Diffstat (limited to 'packet.c')
-rw-r--r-- | packet.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -280,6 +280,13 @@ static void nextstate(struct gps_device_t *session, unsigned char c) #ifdef RTCM104_ENABLE (void)rtcm_decode(session, c); #endif /* RTCM104_ENABLE */ + /* + * When the Earthmate is connected, it starts to send + * few Zodiac-binary frames before going into its EARTHA\r\n-loop. + * Therefore the regular state machine misdetects it as straight + * Zodiac binary. This kluge works around the problem. + */ + (void)gpsd_switch_driver(session,"Delorme EarthMate (pre-2003, Zodiac chipset)"); session->packet_state = NMEA_RECOGNIZED; } else session->packet_state = GROUND_STATE; |