| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
...to mark that the device has a good time even if it does not report
a position fix. Used by the OnCore driver, e.g. when in position hold
mode.
scons check passes
|
|
|
|
| |
...set it conditionally when needed.
|
|
|
|
|
|
|
|
|
| |
Move from gpsd.h to libgps.h
This is the more logical place for this code
and removes the dependency of test_libgps.c on gpsd.h
Signed-off-by: Jon Schlueter <jon.schlueter@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
The Spectratime iSync GRClok and LNRClok devices generate NMEA-format
status packets, which report the status of the GPS-disciplined
rubidium oscillator. These packets are inserted randomly into the
middle of packets from the embedded u-Blox GPS.
Add support for a stash buffer, used to hold the initial portion of
interrupted NMEA packets.
|
|
|
|
| |
Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
|
| |
|
|
|
|
| |
(e.g. Garmin USB). Bug was introduced by the fix for Savannah bug #46082.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simon Artott wrote:
When using a pipe with the serial driver (e.g. stdin from another
process) to provide NMEA data, the fd is set to blocking mode and
gpsd_poll() gets stuck in a loop calling get_packet() because read()
always waits for more data.
I have to remove the "Switch back to blocking I/O now that CLOCAL is
set" code from serial.c to get it to work. The driver should detect if
the fd is a pipe and keep it set to non-blocking.
|
| |
|
| |
|
|
|
|
| |
Steps 4 and 5 remain to be done.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The proximate cause was that we've been seing emission of error
messages that were randomly and disturbingly variable across different
environments - notably Raspbian and Gentoo splint gave nontrivially
different results than Ubuntu 14.10 splint. And this was *not* due to
Ubuntu patches! A pristine splint built from the 3.1.2 tarball on
Ubuntu didn't match the Raspbian and Gentoo results either.
But this has been coming for a while. Easy access to more modern
static analyzers such as coverity, scan-build and cppcheck has been
decreasing the utility of splint, which is unmaintained and somewhat
buggy and not easy to use.
Only file not cleaned is ppsthread.c, because Gary has been working
on it during this cleanup.
All regression tests pass. PPS observed live on GR601-W.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For these devices:
1. The hunt loop is disabled.
2. When emitting a PPS report, all other (non-/dev/pps) devices are
checked for in-band time. If no time is found the report is not
emitted. If time is ound its seconds field is incremented by 1 and it
is used
Every PPS from a device resets its online time, which should prevent
/dev/pps devices from timing out too often.
Not yet tested with a /dev/pps device. All regression tests oass.
|
|
|
|
| |
Trying to cherry pick instead of just +siip-sys-headers
|
|
|
|
|
|
|
|
| |
If a pointer (not array) is passed to NITEMS() macro, gcc will emit
compilation warning.
The actual check is based on newly added COMPILE_CHECK_IS_ARRAY macro.
The change doesn't affect generated binary code.
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It's not used on the client side, and it's needed separately for ntplib.
All regression tesrs pass. PPS is live.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is done so we can add a "log" hook to the pps_thread_t
structure (this is not done yet) and harmonize with the name of the
outer logging function. If that name had been left as gpsd_report()
there would have been scope for bad confusion with the report_hook
member.
Also, remove two stray duplicative printf calls from the NMEA2000 driver
(drivers shouldn't have printfs!) and fix one typo.
This is a step towards factoring out ntplib. For that to happen, the
PPS thread code needs to be decoupled from the core session structure.
No logic changes. Object compatibility preserved. All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
| |
No logic changes, though it looks like there are two because two guards
that would always have failed when the code was compiled with pps=off
are now conditioned out. Also, this code is offset-preserving
so as not to break link-time compatibility of libgpsd.
(This is the subtler approach...)
All regression tests pass.
|
|
|
|
|
|
| |
fom sessions."
Previous approch was a bit too frontal.
|
|
|
|
| |
We need to sneak up on this in a more subtle way.
|
|
|
|
|
|
| |
The new struct ppsthread_t isolates the interface to the PPS monitor loop.
It will need more members before we're done, including some reporting
hooks.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
HAVE_TERMIOS_H was some sort of relic, apparently always on. I don't think the
code would have compiled without it.
All regression tests pass.
|
|
|
|
|
| |
All regression tests pass. Required one test rebuild for QZNSS; Beidou
test added.
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
| |
All regression tests pass. PPS observed live with gosmon.
gpsmon presently ignores this message, but shout display its contents near PPS.
|
|
|
|
|
|
|
|
| |
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.
|