| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
NTPTIME is from the serial stream, it never had anything to
do with PPS and it just confused everyone.
|
|
|
|
|
|
|
|
|
| |
This applies to not just PPS, but all NTP reportable
time. Even with a valid fix, the frist 3 times may be off.
Don't send bad time to ntp/chrony.
Move the definition into gpsd.h to be widely available not
depending on scons options.
|
|
|
|
| |
I have seen up to about 490 in RTCM3.
|
|
|
|
| |
I'm not sure if gpsd can really decode 3.1 or 3.2, but at least try to.
|
|
|
|
|
| |
GNGSA's almost always come in pairs, and never with any other
flavor of xxGSA.
|
|
|
|
|
|
|
|
| |
The combine code stolen from the GPGSV/BDGSV combining code.
Just 2 regressions changed. No surprise since Beidu rarely seen
in the USA.
I eyeballed the changes in the chk files and they look good.
|
|
|
|
| |
No packet decoder yet.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
...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.
|
| |
|