summaryrefslogtreecommitdiff
path: root/gps.h
Commit message (Collapse)AuthorAgeFilesLines
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-26/+16
| | | | | | | | | | | | | | | | | | | 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.
* Hide a macro that doesn't need to be exposed.Eric S. Raymond2015-03-081-6/+2
|
* Clean up the HAVE_* namespace in conditionalization macros.Eric S. Raymond2015-03-071-3/+3
|
* Begin factoring out ntplib.Eric S. Raymond2015-03-071-0/+3
| | | | | | | 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.
* Worst reason to remove an ugly kluge ever.Eric S. Raymond2015-02-261-8/+0
| | | | | | | | | | | 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.
* gps.h gets installed in /usr/include and must not use other GPSD-specific files!Eric S. Raymond2015-02-261-1/+0
| | | | | | | 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.
* TOFF JSON message implemented and documented.Eric S. Raymond2015-02-231-0/+3
| | | | | | All regression tests pass. PPS observed live with gosmon. gpsmon presently ignores this message, but shout display its contents near PPS.
* Abolish all confusing uses of the word 'drift' for a time delta.Eric S. Raymond2015-02-231-5/+13
| | | | No logic changes. All regression tesrs pass. Live PPS observed.
* Feature removal - delete last remnants of old pre-JSON protocol from libgps.Eric S. Raymond2015-02-221-1/+0
| | | | | All regression tests pass. Clients are working live. PPS observed on Macx-1.
* Avoid overexposure of an internal mask. EOF_SET -> EOF_ISEric S. Raymond2015-02-201-1/+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.
* Comment typo fix. No code changes.Eric S. Raymond2015-02-151-1/+1
|
* Replace Gary's magic number 22 with TIMESPEC_LEN.Eric S. Raymond2015-02-121-1/+0
| | | | All regression tests pass.
* splint cleanup. All regressiion tests pass.Eric S. Raymond2015-02-091-1/+1
|
* Add function timespec_str(), and use it.Gary E. Miller2015-02-051-0/+1
| | | | | Converting a timespec to a printable string is odd, so placed in a new function for ease of use.
* Fix PPS vars in client-mode gpsmon.Eric S. Raymond2015-02-031-1/+1
| | | | All regression tests pass.
* Comment possible numeric overflow in timespec_diff_ns()Gary E. Miller2015-02-021-0/+1
| | | | | timespec_diff_ns() should not be used is the delta is more than about 2 seconds.
* Revert the change abolishing the "pps" policy flag, it broke gpsmon client mode.Eric S. Raymond2015-02-021-0/+1
| | | | All regression tests pass.
* Add comment warning not to use doubles in PPS math.Gary E. Miller2015-02-011-2/+2
| | | | | | | | | 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
* Note potential loss of precision in timestamp_tGary E. Miller2015-01-311-0/+7
|
* API major version bump.Eric S. Raymond2015-01-251-3/+4
|
* Document recent changes.Eric S. Raymond2015-01-251-2/+4
|
* Add do { ... } while (0) around assignment in macroMatt2015-01-231-1/+1
| | | | | | | | | | 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.
* Add compiler.h with compiler specific macros.Zbigniew Chyla2015-01-211-8/+1
| | | | | Use new macros (UNUSED, PRINTF_FUNC) where appropriate. This change doesn't affect generated binary code.
* Clean STATUS_DGPS_FIX out of the public interface. All regression tests pass.Eric S. Raymond2015-01-131-2/+1
|
* Fix a namespace-pollution issue that causes OS X build failures.Eric S. Raymond2015-01-091-16/+0
| | | | All regression tests pass.
* Better way to avoid glibc dependency.Eric S. Raymond2014-09-291-0/+1
| | | | | | | Returns us to something amost identical to the original code. Sigh. Timezones are a swamp. All regression tests pass.
* Remove some custom code, at the cost of introducing a glibc depenency.Eric S. Raymond2014-09-251-1/+0
| | | | Dependency soon to be fixed. All regression tests pass.
* Refactor representation of satellite data into an array of structs...Eric S. Raymond2014-09-221-5/+9
| | | | | | | | | | | | | | | | | | ...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.
* Remove a qualifying comment left over from the old polling interface.Eric S. Raymond2014-09-051-16/+2
|
* Drop the obsolete tag field from JSON output. Bump the minor protocol number.Eric S. Raymond2014-08-241-6/+3
| | | | | | | 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.
* Reduce space required by devicelist now that it's in the main structure.Eric S. Raymond2014-08-231-8/+3
|
* PPS is no kinger marked unstable/experimental.Eric S. Raymond2014-08-231-1/+0
|
* Device list fully moved out of terminal union; all regression tests pass.Eric S. Raymond2014-08-231-7/+8
|
* Full implementation of AIS 'structured' bit. All regression tests pass.Eric S. Raymond2014-08-231-0/+1
|
* libgps version bump to 22: AIS types 6 and 8 get 'structured' member.Eric S. Raymond2014-08-231-1/+4
|
* Cirresct specification annd processing of Inland AIS Type 10 message.Eric S. Raymond2014-08-181-3/+3
|
* Fix an out of bounds on pulse[] in ppsthread.cGary E. Miller2013-11-301-1/+1
| | | | | | 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.
* Remove a bit of floating point that snuck into timespec_diff_ns()Gary E. Miller2013-11-301-2/+2
|
* timespec_diff_ns() must return a long, int is too short.Gary E. Miller2013-11-291-1/+2
|
* Investigating ways to get rid of CLOSE_DELAY in the test framework...Eric S. Raymond2013-11-271-1/+2
| | | | | | | | ...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...
* Release-stamp the minor API bump that took place in 3.10.Eric S. Raymond2013-11-251-1/+1
|
* Restore inadvertently deleted code.Eric S. Raymond2013-11-201-0/+31
|
* Delete somebody's stray character.Eric S. Raymond2013-11-201-31/+0
|
* Fix up the pps=no build. All regression tests pass.Eric S. Raymond2013-11-171-0/+3
|
* ppsbar -> pps.Eric S. Raymond2013-11-131-2/+2
| | | | All regression tests pass. PPS is live in both gpsd and gpsmon.
* Teach the client library about ppsbar...Eric S. Raymond2013-11-101-0/+1
| | | | | ...against the extremmely unlikely evebtuality of anything but gpsmon wanting to use it.
* PPS events now show in gpsmon runb through the daemon.Eric S. Raymond2013-11-091-0/+1
|
* Unify time-difference computations. All regression tests pass, PPS is live.Eric S. Raymond2013-11-061-2/+3
|
* Fix up gpsprof's dime difference calculation and add a mtching C macro.Eric S. Raymond2013-11-031-0/+2
| | | | All regression tests pass. PPS is live.
* Support reading PPS messages in libgps.Eric S. Raymond2013-11-031-3/+10
| | | | | | 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.