| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
qErr, aka "sawtooth" correction, is the error in the PPS time.
|
|
|
|
|
|
|
|
|
|
|
| |
OSX needs _DARWIN_C_SOURCE defined to get strlcpy() (copied from
driver_ais.c). There's some inconsistency in the config test,
perhaps related to its being a builtin.
TESTED:
Ran "build-all check" on most of the usual set of machines and VMs,
with no issues. Only skipped macOS 10.14, due to the large cost
of rebooting into it at this time.
|
| |
|
| |
|
|
|
|
| |
These datum codes seem standard, other drivers will use them.
|
|
|
|
|
| |
Sadly, $PGRMM is after a cycle ender and the data is never
reported, so no regression changes. Cycle ender needs to get fixed...
|
|
|
|
| |
It seems the gpsd epc is more pessimistic than from the GPS.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
No functional changes. Looks like epe never went anywhere...
|
|
|
|
|
| |
Turns out eps also came from other GPS, but never made it to TPV.
Regressions changed to show new eps data.
|
|
|
|
|
| |
Turns out epd also came from SiRF, but never made it to TPV.
Regressions changed to show new epd data.
|
| |
|
|
|
|
|
| |
SuS and POSIX have different idea on where pselect() prototype
lives.
|
|
|
|
|
| |
Also, remove sime header inclusions discovered to be unnecessary during
the change.
|
| |
|
|
|
|
| |
Better comments in gpsutils.c
|
|
|
|
|
|
|
|
|
|
| |
1541766896.999512 became "2018-11-09T12:34:56.000Z". Which sould
be :57. The fractional seconds got rounded up, but the seconds did
not get incremented to match.
Added regression tests for unix_to_iso8601().
Reported by Peter Liu <greendice@me.com>.
|
|
|
|
|
| |
This showed up a bug where rtcm3_unpack() was not clearing its
rtcm3 data, which is a union with the attitude data.
|
| |
|
|
|
|
| |
Thanks to Virgin Orbit for their support on this patch.
|
|
|
|
| |
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
| |
|
|
|
|
| |
Gotta check each value for isfinite() anyway.
|
|
|
|
| |
More work to do so cgps, xgps, etc. see the new data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This creates a header for os_compat.c, and moves the related
prototypes into it from gpsd_config.h (as created by SConstruct),
after adding references to it to gpsd.h (via gpsd.h-tail) and a few
other sources that need it but don't include gpsd.h.
It also removes includes of <time.h> in the places where they were
only needed for the code now removed from gpsd_config.h.
TESTED:
Ran "scons build-all check" on OSX 10.9 (with strlcat/strlcpy but no
clock_gettime), OSX 10.12 (with strlcat/strlcpy and clock_gettime),
and Ubuntu 14 (with clock_gettime but no strlcat/strlcpy). Also
verified that fallback versions were not being included where
unnecessary.
|
| |
|
|
|
|
|
|
| |
Promote scan-build to be onere of the stock pre-release checks.
Fix one minor cppcheck nit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
It's not used on the client side, and it's needed separately for ntplib.
All regression tesrs pass. PPS is live.
|
|
|
|
|
|
|
| |
On Mac OS X it will get proper nanosecond precision; elsewhere, only
microseconds. Hides the conformance failure from the rest of the code.
All regression tests pass.
|
|
|
|
|
|
|
| |
All callers ignore value returned by timespec_str. Additionally, the
function returns simply the result of snprintf(), which is not
necessarily the number of chars written to the buffer (if the buffer
provided by the caller was too small).
|
| |
|
|
|
|
|
| |
It can be as short as 12 chars: "-0.123456789"
Or as long as 21 chars: "-2147483647.123456789"
|
| |
|
|
|
|
|
| |
Converting a timespec to a printable string is odd, so
placed in a new function for ease of use.
|
|
|
|
| |
timestamp() should not be used where nanoSec count.
|
|
|
|
|
|
| |
The experiments since then have failed.
All regression tests pass.
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
| |
Initialize struct tm before passing it to strptime
The issue is that mktime uses tm_isdst but some versions of strptime
don't actually set tm_isdst so you get an uninitialized memory behavior
at that point
|
|
|
|
|
|
|
| |
Returns us to something amost identical to the original code.
Sigh. Timezones are a swamp.
All regression tests pass.
|
|
|
|
|
|
| |
Fortunately, there's a much simpler way to do the computation correctly.
All regression tests pass,
|
|
|
|
| |
Dependency soon to be fixed. All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cygwin GCC complains about code like isprint(c), where c is of type char.
The isX() and toX() functions/macros (ISO C allows either) all accept an
int, whose value should be either that of an unsigned char, or the
special value EOF (== -1).
So cast to unsigned char each argument to isprint, tolower, etc.
Silences several warnings of the form:
gpsutils.c: In function 'safe_atof':
gpsutils.c:90:5: warning: array subscript has type 'char'
[-Wchar-subscripts]
while (isspace(*p)) {
^
gpsutils.c:188:2: warning: array subscript has type 'char'
[-Wchar-subscripts]
while (isdigit(*p)) {
^
|
|
|
|
| |
All regression tests pass. PPS is live.
|