| 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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
All knowledge of the ntpd SHM format is now confined to the three
files ntpshm.h, ntpshmread.c, and ntpshmwrite.c.
No logic changes. All regression tests pass. PPS works on GR-601W.
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes some macros which assured both source and object
compatibility with client API version 6.0 in spite of some internal
renames.
But it turns out the gps.h we shipped had a broken inclusion and would
have blown up any compile if it was used from /usr/include, anyway.
So nobody can have built with the changed names and we can remove
this cruft.
|
|
|
|
|
|
|
| |
It's bad that this get past me. Anybody who tries writing a C client
with 3.12 is going to lose. Requires a release to fix.
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.
|
|
|
|
| |
No logic changes. All regression tesrs pass. Live PPS observed.
|
|
|
|
|
| |
All regression tests pass. Clients are working live. PPS observed on Macx-1.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
| |
Converting a timespec to a printable string is odd, so
placed in a new function for ease of use.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
| |
timespec_diff_ns() should not be used is the delta is more than
about 2 seconds.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
| |
WARNING! Loss of precision
UNIX time to nanoSec precision is 62 significant bits
UNIX time to nanoSec precision after 2038 is 63 bits
a double is only 53 significant bits.
You can not do PPS math with doubles
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add the customary do { ... } while (0) around this macro which expands
to executable code (as opposed to an expression).
I believe this is not necessary when, as in this case, the code is a
single line.
But a) it costs nothing, b) it might become multi-line one day, and c)
it looks wrong to my C programmer eyes - alarm bells ring every time I
read it, and I don't want to blunt that generally healthy reaction.
|
|
|
|
|
| |
Use new macros (UNUSED, PRINTF_FUNC) where appropriate.
This change doesn't affect generated binary code.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
Returns us to something amost identical to the original code.
Sigh. Timezones are a swamp.
All regression tests pass.
|
|
|
|
| |
Dependency soon to be fixed. 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.
|
| |
|
|
|
|
|
|
|
| |
Required a regression-test rebuild, of course. The field is still set by
the TSIP and SiRF drivers; the SiRF driver actually uses it. It may be
possible to eliminate the TSIP uses, but so far attempting this has
produced odd regression-test failures.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The variable state used to be a boolean, and was used to index
into pulse[] to find the last two edges. state became a mask and
was accessing pulsep[] out of bounds, doing off things.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
...actually revealed a bug - device-shutdown messages getting lost on the
way out to the test clients. This set of changes mostly fixes it. Some
glitches remain; this state of things passes all regression tests but
attempting to get rid of what now ought to be unnecessary code in fake.py
does not pass. To be continued...
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass. PPS is live in both gpsd and gpsmon.
|
|
|
|
|
| |
...against the extremmely unlikely evebtuality of anything but gpsmon
wanting to use it.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass. PPS is live.
|
|
|
|
|
|
| |
Finally defines a message validity nask that won't fit in 32 bits, alas.
Defines a timedrift structure that we will use internally as well.
|