| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Use GPS values when possible instead of calculated values.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
microjson still aborts on unknown attributes...
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
TESTED:
Now shows correct program name in -V output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
The NMEA driver now seems to report NO_FIX much better.
|
|
|
|
| |
No regression changes, just simpler code.
|
| |
|
|
|
|
| |
Also, ignore missing "nav status"
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
lat/lon/track/etc.
|
|/ |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Oh, and fix missing decimal point.
|
| |
|
|
|
|
| |
Many NMEA now reporting ss.sss.
|
|
|
|
| |
Might need to change subseconds to integer nanoseconds.
|
| |
|
|
|
|
| |
The 32-bit hosts will fail on 2038...
|
|
|
|
| |
Odd that it was never there before...
|
|
|
|
| |
No functional changes. Looks like epe never went anywhere...
|
|
|
|
| |
The computed epc does not match epc from some GPS.
|
|
|
|
| |
No functional changes.
|
|
|
|
| |
Require time, epx and epy. Optional epv.
|
|
|
|
| |
Report as empty.
|
|
|
|
| |
Only present in old SiRF.
|
|
|
|
| |
Better detection of NO FIX state.
|
|
|
|
|
| |
Fixes long standing complaints that gpsd freezes instead of
reporting NO FIX.
|
|
|
|
|
| |
status = 8 supposed to be simulator mode. Older Garmin seems to use it
for something undocuemnted.
|
|
|
|
| |
Changed two regressions for the better.
|
| |
|
| |
|
| |
|
|
|
|
| |
Check for properly formatted ddmmyy string.
|