diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2010-04-14 02:01:15 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2010-04-14 02:01:15 -0400 |
commit | 5d64a1e0d6f44e7058cf21badf56517381f712cc (patch) | |
tree | c1e5968dae06540288d806faaf283d61a1bb5ec1 /driver_garmin.c | |
parent | 5329e53076fb92dc494bacf52d7386b18559efa9 (diff) | |
parent | 2e7ff585c5be1d57de18212c2f37d7c15ad960a9 (diff) | |
download | gpsd-5d64a1e0d6f44e7058cf21badf56517381f712cc.tar.gz |
Merge branch 'master' of ssh://esr@git.berlios.de/gitroot/gpsd
Diffstat (limited to 'driver_garmin.c')
-rw-r--r-- | driver_garmin.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/driver_garmin.c b/driver_garmin.c index b6afdcf6..d876a9ac 100644 --- a/driver_garmin.c +++ b/driver_garmin.c @@ -1147,8 +1147,22 @@ static ssize_t garmin_control_send(struct gps_device_t *session, #ifdef NTPSHM_ENABLE static double garmin_ntp_offset(struct gps_device_t *session) { - /* only one sentence ships time */ - return 0.430; /* valid at 4800bps */ + if (session->sourcetype == source_usb) { + return 0.042; /* Garmin USB */ + } + /* only two sentences ships time */ + /* but the PVT data is always first */ + switch (session->gpsdata.dev.baudrate) { + case 4800: + return 0.430; /* TBD */ + case 9600: + return 0.430; /* tested 12Arp10 */ + case 19200: + return 0.430; /* TBD */ + case 38400: + return 0.430; /* TBD */ + } + return 0.430; /* WTF? WAG */ } #endif /* NTPSHM_ENABLE */ |