summaryrefslogtreecommitdiff
path: root/gpsd.h-tail
diff options
context:
space:
mode:
Diffstat (limited to 'gpsd.h-tail')
-rw-r--r--gpsd.h-tail10
1 files changed, 10 insertions, 0 deletions
diff --git a/gpsd.h-tail b/gpsd.h-tail
index 3865fc29..63cfd69f 100644
--- a/gpsd.h-tail
+++ b/gpsd.h-tail
@@ -280,6 +280,16 @@ struct gps_context_t {
#endif
ssize_t (*serial_write)(struct gps_device_t *,
const char *buf, const size_t len);
+ /*
+ * Used for calculation of sleep time before select(),
+ * needed to sidestep buggy fast looping selects.
+ */
+#define WINDOW_AVG_SIZE 8 /* reset avg after this number of reads */
+#define SLEEP_FACTOR 4700000U /* controls the formula to compute delay */
+#define SLEEP_THRESHOLD 4.0 /* delay if avg is less than this */
+ float inbytesavg; /* average number of bytes per read */
+ unsigned char inbyteswpos;
+ bool selectbug; /* true if the slect bug is triggered */
};
/* state for resolving interleaved Type 24 packets */