| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Change this: A & B ? 0 : 1
To this: (A & B) ? 0 : 1
No logic or functional change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
| |
Next, implement labeled reporting and fix up gpson to do the right thing.
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...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.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
| |
Way too much logging was happening at LOG_IO level, which is intended for
watching data traffic in and out of the daemon rather than all the minutiae
of data analysis - that's LOG_DATA.
Also, LOG_DATA gets pushed down two levels. The effect is that -D 5
means exactly what it did, but for purposes other than driver debugging
-D 4 now suffices.
|
| |
|
|
|
|
|
|
|
| |
Because it might be going to chrony. Or something else.
No logic changes, just name changes and one new derived #define,
TIMEHINT_ENABLE.
|
|
|
|
| |
We'll have to sneak up on this change more slowly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ntp_offset becomes time_offset. There is a new config symbol CHRONY_ENABLE;
most time service code is npw controlled by TIMESERVICE_ENABLE. The
file ntpshm.c becomes timeexport.c
This change is not complete. More disentanglement has to be done inside
timeexport.c itself; at the moment enabling one but not both of
ntpshm or chrony will probably break its compile. The point of getting
this commit out is so Gary will see the new baseline code ASAP.
All regression tests pass.
|
|
|
|
|
| |
The fact that this was necessary may indicate a build systenm issue
that's leaving stale binaries in place.
|
|
|
|
|
|
|
|
| |
This is a large, ugly change. But without it we can't troubleshoot the
ICP/IP-source initialization bug properly - colliding definitions of
gpsd_report() were interfering with error reporting early in gpsd runs.
More cleanup work remains to be done, but at least this is working.
|
| |
|
|
|
|
|
|
|
|
| |
Becauser this changed the libgpsd API but not the libgps one, libgpsd now
has its own version number. (Doing otherwise would have inflicted a gratuitous
binary-compatibility break on application developers).
All regression tests pass. Audit check runs clean.
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
Patch by: Alexey Illarionov <littlesavage@orionet.ru>
|
| |
|
|
|
|
|
| |
Patch concept from Michael Tatarinov. Modified to use a session context
member rather than a global.
|
|
|
|
|
|
|
|
|
| |
sub1.l2 and sub1.af0 have wrong offsets
sub2.M0 is 32bit signed
sub3.Cid is 16bit signed
sub3.IDOT is 14bit signed
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Required so clients looking at flag masks in data exported via the shared-memory
interface will see the right thing.
These were separated originally in order to avoid pushing the reqyuired width
of the gpsdata.set flag mask over 32 bits. It became 64 bits in the Version 5
API change, so that constraint went away.
All regression tests pass.
|
|
|
|
|
|
|
|
|
| |
*_SET masks are library-side and for the set member of the fisx structure.
*_IS masks are daemon-side and used only in the status mask returned by the
packet analyzer methods, and code in the core library that uses same. Never the
twain shall meet.
All regression tests pass.
|
|
|
|
|
| |
I have profiled. For GPS data, 9600 is sufficient. The exception is if
subframe data is enabled.
|
| |
|
|
|
|
|
|
|
|
| |
...because we have a working parity check on the data now. I'm trying to
get rid of this magic constant.
To do: Check for and log suspcious jumps in the value. Probably means
implementing an internal method function to set it.
|
|\ |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
| |
Whoops, I thought this was already pushed.
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
So how do I enable that JSON output?
|
| | |
|
| | |
|