gpsd-dev
[Top][All Lists]
Advanced

[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>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]