| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Also, use PPSDRIFT_SET as a client-side status flag for JSON PPS rather
than the (not yet shipped) TIMEDRIFT_SET. Next release we're probably
going to add a drift object for in-line time.
No logic changes. All regression tests pass.
|
|
|
|
| |
missing ifdef guards around pps_thread_stash_fixtime()
|
|
|
|
|
|
| |
This will avoid an object file compatibility break later.
All regression tetrs pass. SHM segments allocate successfully in live testing.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
The root cause still to be found.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
last_fixtime.clock and last_fixtime_clock were storing
63 bits of time in 53 bits of timestamp_t (double).
Change timestamp_t to timespec to restore nSec precision.
Along the way save some floating point that is
slow in embedded systems that have no FPU.
|
|
|
|
|
| |
Until we see a high precision GPS timestamp this can be
ignored.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to Matthias Drochner at
http://lists.lysator.liu.se/pipermail/lsh-bugs/2003q4/000151.html:
I thought I'd give lsh a try, just to see how it compares to openssh...
The client didn't work well on NetBSD, got a message like "unexpected
EWOULDBLOCK" on each keystroke.
Looked a bit deeper and found that stdin is set to O_NONBLOCK and
a raw tty mode with c_cc[VMIN] > 1 and c_cc[VTIME] > 0.
I'll append a little test program which does the same. I've tried
it on 3 operating systems (Linux, NetBSD, Digital UNIX), and it
behaves differently on each:
-on Linux, if a key is pressed, the read returns immediately with
that one character
-on NetBSD, the read returns with no data but EWOULDBLOCK
-on D'UNIX, the poll() doesn't teturn before 4 keypresses are done;
the read() returns these 4 characters
Indeed, in SUSv2's termios page is a sentence which says that if
both O_NONBLOCK and VTIME>0 are set, the behaviour is more or less
undefined.
I've solved my immediate problems by setting VMIN to 1 instead of 4
in unix_interact.c:do_make_raw(), but VTIME is still pointless,
so I wouldn't call this a clean solution.
All regression tests pass.
|
| |
|
|
|
|
| |
Any failure of pthread_mutex_lock() is a fatal error.
|
| |
|
| |
|
|
|
|
| |
When in doubt, always test return codes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When select(2) returns too fast with only small amounts of data, the main loop
will buzz and eat power - a significant issue on, e.g. battery-powered RasPi
devices, where it was first spotted. This code watches read volume and delays
when it sees lots of small bursts.
All regressiion tests pass. But note: the adaptive-delay logic has to
suppress delays to arrange this, otherwise we get an all too familiar
class of spurious test failure.
|
|
|
|
|
| |
By using str_rstrip_char we explicitly show that we're removing
trailing comma/space.
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
|
|
| |
Don't use constant/expression from an array's definition when referring
to its size. Eliminates redundancy and avoids problems when array size
changes. The change doesn't affect generated code.
|
| |
|
|
|
|
| |
Required one check rebuild (change affects only error estimates).
|
|
|
|
| |
Mismatch in guards for static function visibilize
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...from a set of parallel arrays. This change flushed out a
longstanding bug in the computation of DOPs for estimated error bars.
Some test-load rebuilds were required:
geostar-geos1m-binary.log.chk: With this change error
estimates are computed and reported.
trimble-lassen_iq-3dfix.log, trimble-lassen_iq-3dfix.log: the
change revealed a bug in the computation of satellite-seen bits.
Error estimates did not change.
navcom.log: Error estimates changed.
With these rebuilds, all regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
|
| |
...so we can easily check that it's independent of order in the
list of satellites.
All regression tests pass.
|
|
|
|
|
| |
For some odd reason trying to faxtor out the symmetrize operation
induces a core dump. To be investigated.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cygwin GCC complains about code like isprint(c), where c is of type char.
The isX() and toX() functions/macros (ISO C allows either) all accept an
int, whose value should be either that of an unsigned char, or the
special value EOF (== -1).
So cast to unsigned char each argument to isprint, tolower, etc.
Silences several warnings of the form:
gpsutils.c: In function 'safe_atof':
gpsutils.c:90:5: warning: array subscript has type 'char'
[-Wchar-subscripts]
while (isspace(*p)) {
^
gpsutils.c:188:2: warning: array subscript has type 'char'
[-Wchar-subscripts]
while (isdigit(*p)) {
^
|
|
|
|
| |
...but thy won't of you turn nofloats on.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
Some cleanup and testing is still required.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...with calls to gps_notify(), which indirects to its output method
through a slot in an errout structure. Usually the errout structure
lives inside the session context, but because struct errout_t is its
own thing this does not have to be the case. One large clique of
gpsd_notify() calls, in packet.c and isgps.c, looks at a struct
errout_t copy in a lexer control block
This change is not complete. Remnant gpsd_report calls need to be changed,
and gpsmon needs to be tweaked so that the struct_error_t in its context
is a non-defaukt hook updating the cuses display rather than simply
dumping to stderr. Also the report label functionality needs to be added.
All regression tests pass.
|
|
|
|
|
|
| |
A major step towards eliminating reverse linkage.
All regression tests pass.
|