summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* driver_nmea0183: Use epv from $PSRFEPE if available.Gary E. Miller2019-03-252-5/+4
| | | | Use GPS values when possible instead of calculated values.
* cgps: Use eph and sep from TPV instead of calculating.Gary E. Miller2019-03-251-21/+2
|
* driver_nmae0183: Command on $GPGBS.Gary E. Miller2019-03-231-0/+2
|
* driver_nmea0183: Add 3 more NMEA messages, but no new decodes.Gary E. Miller2019-03-231-1/+4
|
* Split epe into eph and sep.Gary E. Miller2019-03-22108-2993/+3064
| | | | | | | | Try to do it with forward and backward compatibility, which is challenging with current miscojson. Sometimes epe was used to 2D estimated erro. Sometimes for 3D error. So make it explicit eph is 2D, and sep is 3D.
* os_compat: OSX daemon() warning fix.Fred Wright2019-03-211-2/+27
| | | | | | | | | | | | | | | | | | | | | | | OSX considers the daemon() call deprecated. This is mainly because real OSX daemons are expected to run as launchd children, but since some programs here daemonize for convenience, and since self-daemonization is sometimes useful for testing, we can't really get rid of it. Previous work consolidated daemon() calls into os_compat, reducing the number of warnings, and this change gets rid of them altogether. There doesn't seem to be any easy way to avoid the warnings except by avoiding the normal declaration of daemon(), which is what we do here by duplicating it locally. If daemon() ever actually disappears, it could be reintroduced via the usual double-fork approach. TESTED: Ran "build-all check" as well as testing daemonization on a Mac Pro 10.9 and 10.14, MacBook Pro 10.9, PowerBook 10.5, and VMs for OSX 10.5-10.13, Ubuntu 14.04, CentOS 7, Fedora 25, FreeBSD 10.3, OpenBSD 5.6 (64- and 32-bit), and NetBSD 6.1.5.
* os_compat: Fix some comments.Fred Wright2019-03-211-1/+5
|
* time-regress: Add test for NaN case.Fred Wright2019-03-211-0/+3
| | | | | | | | | | This was punted when fixing the NaN case, due to the failure to notice that a NaN constant was available with unexpected capitalization. Now the test exists. TESTED: The new test fails with an intentionally incorrect expected value, and passes with the correct expectation.
* pseudonmea: remove bad sats from $GPGSV output.Gary E. Miller2019-03-208-236/+213
|
* libgps_json.c: Add missing epe. This was breaking cgps.Gary E. Miller2019-03-201-0/+2
| | | | microjson still aborts on unknown attributes...
* gegps: Fix typosFred Wright2019-03-202-2/+2
| | | | | | | | | The manpage text referred to 'gpsd' where it meant 'gegps'. The program's stopped message said 'gegpsd'. TESTED: Manpage and stopped message text are now correct.
* lcdgps: Fix typo in -V.Fred Wright2019-03-201-1/+1
| | | | | TESTED: Now shows correct program name in -V output.
* gpsrinex: Fix some compiler warnings.Fred Wright2019-03-201-3/+2
| | | | | | | | | | | | | | | | There were two issues here: 1) The initializer for the obs_cnt array needs two levels of brace, since it's an array of structs. 2) The obs_cnts array was incorrectly typed as having obs_codes enums as its *values*, when they're actually only used for its index. This resulted in a warning about the apparently pointless comparison against 99999. TESTED: Ran "build-all check" on OSX 10.9, 10.13, and 10.5 (PPC), as well as Ubuntu 14.04.
* Fix shared library installs on OSX.Fred Wright2019-03-201-1/+17
| | | | | | | | | | | | | | | | | | | | | Shared libraries on OSX need to have their IDs set to their full paths in order to get the proper paths into executables. Ideally, SCons would take care of this, but doesn't. It's necessary to use the OSX install_name_tool on an installed library to fix that. This adds code to do that, verifying that install_name_tool actually exists, and falling back to installing without it (the former behavior) otherwise. However, the CheckProg function didn't exist in some old versions of SCons, so if it's missing (on OSX), the code just assumes that the tool is present and hopes for the best. The version of SCons provided by MacPorts is known to have CheckProg. TESTED: Ran installs on OSX 10.9, 10.13, and 10.5 (PPC), as well as Ubuntu 14.04. Verified that the tool is used and has the intended effect when present on OSX. Verified that the install works without using it on OSX without it, as well as Linux without it, including when a dummy version is present on Linux. Did *not* test with an old SCons.
* Fix fencepost errors in GPS epoch (mainly comments).Fred Wright2019-03-202-3/+3
| | | | | | | | | | | | | | | | | | | | | | The definition of GPS_EPOCH in gpsd.h is correct, but the comment specified the incorrect corresponding date, which is 06-Jan-1980, not 06-Jan-1981, which isn't even a Sunday. The century hack in driver_nmea0183.c establishes a 100-year window for interpreting two-digit years. For now, the range 1980-2079 is reasonable, given that the GPS epoch is 06-Jan-1980, and the mention of wrapping "at" 2080 is consistent with this, but the comment incorrectly placed the GPS epoch in 1981 (perhaps due to believing the wrong comment in gpsd.h), and the code was written to wrap *after* 2080, rather than *at* 2080. This would place the window at 1981-2080, which would screw up 1980 (admittedly an unlikely case). This is mostly about not misleading people reading the code than actual real-life trouble. TESTED: Existing tests pass. A test case for a year of "80" would be needed to actually verify the fix, though.
* gpsutils: Fix unix_to_iso8601 NaN case.Fred Wright2019-03-201-1/+1
| | | | | | | | | | | | | Since the return type of unix_to_iso8601 is non-const, it's illegal to return a pointer to a string constant. Some compilers report a warning for this. The fix is to copy the string to the provided buffer. It would be nice to add a test case for this, but there doesn't seem to be any portable way to get NaN as a constant in C. TESTED: The warning is gone, and the tests still pass.
* cgps: Fix typo track->speed. remove redundant mode tests.Gary E. Miller2019-03-191-2/+2
|
* driver_nmea0183: Missed one regression change.Gary E. Miller2019-03-191-0/+7
| | | | The NMEA driver now seems to report NO_FIX much better.
* driver_nmea0183: Move error checking into do_lat_lon().Gary E. Miller2019-03-191-92/+102
| | | | No regression changes, just simpler code.
* driver_nmea0183: Tweak xxGGA mode setting.Gary E. Miller2019-03-1913-74/+78
|
* driver_nmea0183: Have xxGNS report No FIX from FAA mode.Gary E. Miller2019-03-194-24/+28
| | | | Also, ignore missing "nav status"
* Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/gpsdGary E. Miller2019-03-186-23/+17
|\
| * gpscat: Fix for Python without curses package.Fred Wright2019-03-181-3/+5
| | | | | | | | | | | | | | | | | | | | Some Python installs (notably some NetBSD versions) lack the curses package. Since its only use here was for the printable character test, derive a test from string.printable instead. TESTED: Tested (in raw mode) with a receiver mixing NMEA and binary, with Python 2.6, 2.7, and 3.2-3.7, observing proper printability filtering.
| * gpsrinex: Fix build on OpenBSD.Fred Wright2019-03-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | On OpenBSD, apparently _XOPEN_SOURCE 500 isn't good enough to get isfinite(). Changing it to 600 fixes it. TESTED: (With subsequent fix included) Ran "build-all check" on Mac Pro 10.9, Mac Pro 10.14, MacBook Pro 10.9, PowerBook 10.5, VMs for OSX 10.5-10.13, Ubuntu 14.04, CentOS 7, Fedora 25, FreeBSD 10.3, OpenBSD 5.6, OpenBSD 5.6 32-bit, NetBSD 6.1.5, and Beaglebone (arm) Debian 7.
| * gpsd.h: Adds missing include for fd_set.Fred Wright2019-03-181-2/+4
| | | | | | | | | | | | | | | | | | | | For some reason this was only causing trouble on OpenBSD. TESTED: (With subsequent fixes included) Ran "build-all check" on Mac Pro 10.9, Mac Pro 10.14, MacBook Pro 10.9, PowerBook 10.5, VMs for OSX 10.5-10.13, Ubuntu 14.04, CentOS 7, Fedora 25, FreeBSD 10.3, OpenBSD 5.6, OpenBSD 5.6 32-bit, NetBSD 6.1.5, and Beaglebone (arm) Debian 7.
| * Avoids troublesome dependency on M_LN2 from math.h.Fred Wright2019-03-183-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The M_LN2 definition isn't always provided by math.h, depending on the settings of the pesky configure flags. Since ln(2) is a mathematical constant, there's no loss of generality in defining our own version, and that decouples us from the variability. Since the stated purpose of defining _XOPEN_SOURCE in driver_tsip.c and driver_zodiac.c is just to make M_LN2 available, this is no longer necessary. TESTED: (With subsequent fixes included) Ran "build-all check" on Mac Pro 10.9, Mac Pro 10.14, MacBook Pro 10.9, PowerBook 10.5, VMs for OSX 10.5-10.13, Ubuntu 14.04, CentOS 7, Fedora 25, FreeBSD 10.3, OpenBSD 5.6, OpenBSD 5.6 32-bit, NetBSD 6.1.5, and Beaglebone (arm) Debian 7.
* | driver_nmea0183: xxRMC: Stop reporting missing fields as zero.Gary E. Miller2019-03-1816-301/+316
| | | | | | | | lat/lon/track/etc.
* | driver_nmea0183: Have xxGGA set time and mode.Gary E. Miller2019-03-1835-258/+568
|/
* driver_nmea0183: Fix 32/64 bug in cycle enders.Gary E. Miller2019-03-184-72/+71
| | | | | | Long standing bug, that became obvious when more NMEA decodes were added. A 32 bit mask used to index into a 40 member array.o Also fix over agressive mode setting on $PSRFEPE.
* driver_nmea0183: Another place ss.ss -> ss.sssGary E. Miller2019-03-152-3/+3
| | | | Oh, and fix missing decimal point.
* driver_nmea0183: remove bad cast.Gary E. Miller2019-03-151-1/+1
|
* driver_nmea: Another place to report time to %.3fGary E. Miller2019-03-151-1/+1
| | | | Many NMEA now reporting ss.sss.
* driver_nmea0183: Better subseconds in merge_hhmmss().Gary E. Miller2019-03-151-3/+11
| | | | Might need to change subseconds to integer nanoseconds.
* driver_nmea0183: Fix comment about Telit malformed year.Gary E. Miller2019-03-151-1/+1
|
* driver_nmea0183: Handle 2099 on 32-bits as 1999.Gary E. Miller2019-03-152-2/+14
| | | | The 32-bit hosts will fail on 2038...
* gpsd_json: epe now in the JSON.Gary E. Miller2019-03-1595-2670/+2672
| | | | Odd that it was never there before...
* Move epe from gps_data_t to be near its friends in gps_fix_t.Gary E. Miller2019-03-157-17/+17
| | | | No functional changes. Looks like epe never went anywhere...
* libgpsd_core: Simplify epc computation.Gary E. Miller2019-03-151-3/+2
| | | | The computed epc does not match epc from some GPS.
* libgpsd_core: Reorder error modeling simplifying if's.Gary E. Miller2019-03-141-46/+44
| | | | No functional changes.
* pseudonmea: Tweak when $GPGBS is output.Gary E. Miller2019-03-147-135/+166
| | | | Require time, epx and epy. Optional epv.
* pseudonmea: Don't report unknown lat/lon/spd/trk as zeros.Gary E. Miller2019-03-142-54/+80
| | | | Report as empty.
* driver_nmea0183: $PSRFEPE,V sets MODE_NO_FIXGary E. Miller2019-03-143-4/+21
| | | | Only present in old SiRF.
* driver_nmea0183: xxGLL,V now sets MODE_NO_FIX.Gary E. Miller2019-03-1415-31/+141
| | | | Better detection of NO FIX state.
* driver_nmea0183: Be more aggressive reporting NO_FIX in GPRMC.Gary E. Miller2019-03-1431-9/+187
| | | | | Fixes long standing complaints that gpsd freezes instead of reporting NO FIX.
* driver_nmea0183: Add STATUS_SIM. Update status in GPGGA.Gary E. Miller2019-03-144-11/+20
| | | | | status = 8 supposed to be simulator mode. Older Garmin seems to use it for something undocuemnted.
* driver_nmea0183: Have $GPRMC,V, report no fix.Gary E. Miller2019-03-143-1/+4
| | | | Changed two regressions for the better.
* drier_nmea: Make merge_hhmmss() more paranoid, return error codes.Gary E. Miller2019-03-141-79/+108
|
* Regressions: cleanup april6_2019 test case.Gary E. Miller2019-03-142-8/+5
|
* driver_nmea: Fix potential segfault w/ DD() in merge_ddmmyy()Gary E. Miller2019-03-141-3/+4
|
* driver_nmea0183: Be more paranoid in merge_ddmmyy()Gary E. Miller2019-03-143-4/+34
| | | | Check for properly formatted ddmmyy string.