summaryrefslogtreecommitdiff
path: root/gps.h
Commit message (Collapse)AuthorAgeFilesLines
* ATT: centralize clearing of the attitude data.Gary E. Miller2018-09-111-1/+2
| | | | | This showed up a bug where rtcm3_unpack() was not clearing its rtcm3 data, which is a union with the attitude data.
* Savannah issue #53671: policy_t -> gps_policy_t.Gary E. Miller2018-07-261-2/+2
| | | | | | This is to prevent a conflict with Boost version 1.67. No functional change.
* update gpsd to send arbitrary data to GPS from clientGary E. Miller2018-07-141-0/+3
| | | | New ?DEVICE:{"hexdata":"data" option.
* gps_read(): fix some nasty buffer overruns and corruptions.Gary E. Miller2018-07-141-5/+6
| | | | | | | Now pass an optional message buffer to gps_read(). Finally the JSON display in cgps works. Thanks to Virgin Orbit for their support fixing this bug.
* $GPVTG Added parsing, storage, output of magnetic courseDaniel_M_Williams2018-06-121-1/+4
| | | | Signed-off-by: Gary E. Miller <gem@rellim.com>
* SPDXify the licerse references.Eric S. Raymond2018-03-081-1/+1
|
* ECEF: jiggle the ECEF data structure, add missing accuracies to client.Gary E. Miller2018-02-161-1/+1
|
* ECEF: remove unused and unneeded ecef.valid.Gary E. Miller2018-02-121-1/+0
| | | | Gotta check each value for isfinite() anyway.
* Add ECEF support to u-blocx driver, data comes out in json.Gary E. Miller2018-02-081-5/+12
| | | | More work to do so cgps, xgps, etc. see the new data.
* Major API change: add ECEF into gps_fix_tGary E. Miller2018-02-071-2/+7
| | | | | | | | Time to stop throwing away the ecef data from GPS devices. u-blox sends ECEF date to mm precision. Major API change as this moves things down in gps_data_t Until this works end to end, don't expect the API to be binary stable.
* Suppress the last few spurious cppcheck warnings before release.Eric S. Raymond2017-09-071-0/+6
|
* RTCM3 is unsigned byte, not chars.Gary E. Miller2016-04-201-1/+1
| | | | | | | | | | | | | | This was causing problems in sign extension. On amd64/Gentoo sign was extended: (unsigned int)(char 0x80) became: 0xfffffff80 But on Pi2/Wheezy the same thing became: 0x80. The obvious fix is to make it unsigned, as god intended. All regression tests pass on pi2/wheezzy and amd64/gentoo.
* Improve comments in satellite_t.Gary E. Miller2016-04-131-2/+3
|
* Removes non-ASCII characters from gps.h comments.Fred Wright2016-04-101-2/+2
| | | | | | | | | | | | | Testing maskaudit.py with Python 3 revealed that two comments in gps.h (lines 285 and 294) were using non-ASCII minus signs in the comments. This resulted in exceptions with Python >=3.3 and LANG unset. Since there's no intention to actually use non-ASCII characters here, it doesn't seem worthwhile to fix the code. TESTED: Using a version of SConstruct patched to use the target Python for build helpers, ran "scons build-all" with all six supported Python versions.
* Comment in the code the accuracy needed for cm level lat/lon.Gary E. Miller2016-03-281-0/+11
|
* Add concept of a GPS-disciplined oscillatorMichael Brown2016-02-091-2/+13
| | | | Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
* By popular demand, restore STATUS_DGPS_FIX to public interface.Eric S. Raymond2016-01-291-1/+2
|
* Increment API version.Reinhard Arlt2015-05-181-1/+2
|
* Add navigation data to gps.h.Reinhard Arlt2015-05-181-1/+22
|
* Document assumptions about NMEA satellite IDs and PRNs more thoroughly.Eric S. Raymond2015-04-071-4/+6
|
* Update PRN numbers reference. Also PRNMAX definition.Sanjeev Gupta2015-04-071-5/+6
|
* Change TODO, needd a place to store precision in gps_data_t.Gary E. Miller2015-04-021-0/+1
| | | | That is where the JSON read wwould put the data.
* 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.