[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gpsd-dev] buzzkill is gone, please re-test
From: |
Eric S. Raymond |
Subject: |
[gpsd-dev] buzzkill is gone, please re-test |
Date: |
Thu, 29 Jan 2015 15:21:39 -0500 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Adaptive delay is gone.
Instead, I've moved away from the character-at-at-time I/O that gpsd always
used up to now. Each driver-type change looks at the driver type,
gets from it a minimum packet length N, and then tells the tty layer
to read N characters at a time from the GPS with a 0.1sec timeout (the
shortest possible).
The effect should be that device reports come in in N-character chunks
except for the last N characters of a packet burst, which could be
delayed by 0.1sec. The number of select(2) returns per cycle should
drop by N (13 for SiRF binary, 16 for NMEA 0183).
One reason this seems a workable strategy is that the really critical
data (time/lat/lon/alt) tend to arrive early in the GPS reporting cycle;
the added latency, if any, is usually going to affect only skyview and
error-modeling stuff (GSV, GSA).
I wanted to used cooked-mode I/O with ICANON for textual packets and let
the TTY layer do all the buffering itself. That, alas, is to fragile;
ICANON mode won't cope well if a binary packet appears on the wire.
Please test.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
- [gpsd-dev] buzzkill is gone, please re-test,
Eric S. Raymond <=
- Re: [gpsd-dev] buzzkill is gone, please re-test, Gary E. Miller, 2015/01/29
- Re: [gpsd-dev] buzzkill is gone, please re-test, Eric S. Raymond, 2015/01/29
- Re: [gpsd-dev] buzzkill is gone, please re-test, Gary E. Miller, 2015/01/29
- Re: [gpsd-dev] buzzkill is gone, please re-test, Gary E. Miller, 2015/01/29
- Re: [gpsd-dev] buzzkill is gone, please re-test, Eric S. Raymond, 2015/01/29
- Re: [gpsd-dev] buzzkill is gone, please re-test, Gary E. Miller, 2015/01/29
- Re: [gpsd-dev] buzzkill is gone, please re-test, Harlan Stenn, 2015/01/29