summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index 306bca13..c6ced73d 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -899,9 +899,14 @@ static void gpsd_error_model(struct gps_device_t *session,
* expected time error should be half the resolution of
* the GPS clock, so we put the bound of the error
* in as a constant pending getting it from each driver.
- * FIXME: increase this if no leap-second has been seen
- * and it's less than 750s (one almanac load cycle)
- * from device powerup.
+ *
+ * In an ideal world, we'd increase this if no leap-second has
+ * been seen and it's less than 750s (one almanac load cycle) from
+ * device powerup. Alas, we have no way to know when device
+ * powerup occurred - depending on the receiver design it could be
+ * when the hardware was first powered up or when it was first
+ * opened. Also, some devices (notably plain NMEA0183 receivers)
+ * never ship an indication of when they have valid leap second.
*/
if (isnan(fix->time) == 0 && isnan(fix->ept) != 0)
fix->ept = 0.005;