| 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()
|
|
|
|
|
|
|
| |
We're now back to no logic changes since code freeze. If SHM(1) still fails
as Gray reported on the dev list, something else is going on.
All regression tests pass.
|
|
|
|
|
|
| |
Also, ensure this always happens within the regression-test driver.
All regression tests pass.
|
|
|
|
|
|
|
| |
All callers ignore value returned by timespec_str. Additionally, the
function returns simply the result of snprintf(), which is not
necessarily the number of chars written to the buffer (if the buffer
provided by the caller was too small).
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Whoops, I thought I commited this last week. Fixes display of
-0.000000001 as -1.999999999
This fixes a lot of PPS glitches.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
No error checking was previously done on uses of ppslast_mutex. So
likely the mutex has never worked, just created the odd segfault.
|
| |
|
|
|
|
| |
Length 0 means the minimum is unknown and the driver should use character I/O.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
All regression tests pass with both gcc- and clang-built binaries.
One clang warning remains in the JSON test code.
|
|
|
|
|
|
| |
As a side effect, simplify configuration slightly.
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These functions aren't called if ntpshm support is disabled, so there's
no need to declare them.
Fixes the following warning seen on cygwin with ntpshm disabled:
In file included from gpsutils.c:22:0:
gpsd.h:1215:80: warning: 'struct shmTime' declared inside parameter list
extern int ntpshm_put(struct gps_device_t *, volatile struct shmTime
*, struct timedrift_t *);
^
gpsd.h:1215:80: warning: its scope is only this definition or
declaration, which is probably not what you want
|
|
|
|
|
|
|
|
|
|
|
|
| |
Guard includes of termios.h with #ifdef HAVE_TERMIOS_H.
Test for termios.h in scons, and define/undefine HAVE_TERMIOS_H accordingly.
Fixes the below error seen on cygwin, which lacks termios.h:
In file included from gpsutils.c:22:0:
gpsd.h:349:21: fatal error: termios.h: No such file or directory
#include <termios.h>
^
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Use new macros (UNUSED, PRINTF_FUNC) where appropriate.
This change doesn't affect generated binary code.
|
|
|
|
|
|
|
|
|
|
| |
This is a first step towards removing the NTPSHMSEGS limit.
Instead of devices holding two indices into the segment array in
the context structure, give them copies of the actual segment pointers
and allow ntpshm_put() to take a pointer limit.
All regression tests pass.
|
| |
|
|
|
|
|
| |
according to Reinhard:
It makes no sense to build nmea2000 without ais support.
|
|
|
|
|
|
|
| |
Instead, set the used member in the satellites array directly where possible.
The NMEA0183 and TSIP drivers still need a local equivalent.
This changes pseudo-NMEA GSA output in several binary-protocol tests.
|
| |
|
|
|
|
| |
GARMIN_TEXT was mixed up with NMEA_ENABLED
|
|
|
|
|
|
| |
Fortunately, there's a much simpler way to do the computation correctly.
All regression tests pass,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The recent addition of a prototype for gmtime in gpsd.h breaks the
cygwin compile. Cygwin has gmtime, so the declarations conflict.
Handle this by adding an scons check for gmtime, and make declaration
of the bundled version conditional on absence of the system-supplied
version.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBAgAGBQJUJvXAAAoJECH/phKUbjXCdgwH/RrMznXe51HHR5eLD3Y/vor8
h514XtvlzB/ghWQcAuiWX8mGy/J7k8OJFb8HmUXPAhSuzeiRooZXLz7uk3UvfeGv
4p5MfND3E7FCZVBu9/o9n5gf27wddXKChHVfAZ1MsnusRmwfjAiPoTr0iVoarWLw
s/8tjvnHJg4A3i08nu4Y+Z9rwyDqkmB2YPQ0Zs+deCsbK4AA4Lx3oVkgDkVCk7zz
vBZPueS6ylAMb1hbEthW3l7St3S2ESLG7nIxwv1lQ0mmAi70pknHeLYbiBLU0QqT
A2ZsOOajespqq9/pmxP6ZJcwy8DtNXcj8LvRcNAOrjiV52MQUwTZGLLwVP5WMxk=
=PoQy
-----END PGP SIGNATURE-----
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the build fails as follows
gpsmon.o: In function `gpsmon_hook':
gpsmon.c:(.text+0x8b0): undefined reference to `ntpshm_latch'
collect2: error: ld returned 1 exit status
scons: *** [gpsmon] Error 1
Addresses Sacannah bug #43129: ntpshm patch is incomplete.
Signed-off-by: Simon Dawson <spdawson@gmail.com>
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
Some cleanup and testing is still required.
|
|
|
|
|
|
| |
Next, implement labeled reporting and fix up gpson to do the right thing.
All regression tests pass.
|
| |
|
|
|
|
|
|
| |
A major step towards eliminating reverse linkage.
All regression tests pass.
|