| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is done so we can add a "log" hook to the pps_thread_t
structure (this is not done yet) and harmonize with the name of the
outer logging function. If that name had been left as gpsd_report()
there would have been scope for bad confusion with the report_hook
member.
Also, remove two stray duplicative printf calls from the NMEA2000 driver
(drivers shouldn't have printfs!) and fix one typo.
This is a step towards factoring out ntplib. For that to happen, the
PPS thread code needs to be decoupled from the core session structure.
No logic changes. Object compatibility preserved. All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
| |
All regression tests pass. Required one test rebuild for QZNSS; Beidou
test added.
|
| |
|
|
|
|
|
|
| |
This fixes the last case where # EOF was not being recognized.
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...for most packet types. Attempting to make *all* character pushbacks do this
breaks the following tests:
test/daemon/ac12_binary.log
test/daemon/gp-320fw-2019-04-07-coldboot.log
test/daemon/naujoks-ntrip.log
test/daemon/naujoks-rtcm2.log
test/daemon/rtcm2.log
test/daemon/triton400.log
Someday we should figure out why, but it is not very urgent as the
capability is mostly just useful for faster recovery from garbage
data on the wire.
However, this change does have significant impact on the test framework.
It should make recognition of the "# EOF\r\n" token injected by gpsfake
reliable even in a binary packet stream.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
| |
...including the "# EOF" generated by gpsfake. The case that was sometimes
being mishandled was "# EOF" just after a binary packet end.
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
|
|
| |
scons passthrough=false was failing on several missing ifdef guards
for JSON_LEADER blocks. Added matching ifdef guards to allow it to
compile cleanly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regression tests pass.
Author's notes:
RTCM2 support seems to be practically broken, if the stream
frequently includes the 0x40 byte. This byte causes packet.c to
temporarily think it is an AT1 stream, and stop calling rtcm2_decode()
while it thinks so.
I have an RTCM stream from station id 0, and this particular station ID
causes the 0x40 byte to appear in virtually every RTCM message, so for that
stream, I have to wait through hundreds of RTCM messages before it is
positively identified and RTCM decoding starts to work.
Patch attached, works for me.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
A major step towards eliminating reverse linkage.
All regression tests pass.
|
| |
|
|
|
|
|
|
| |
This is a large step towards eliminating the reverse linkage of gpsd_report().
Temporarily, it means that gpsmon will not redirect these messages to the
screen display properly. This will be fixed later.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The fact that this fix was needed mmay indicate a deeper bug in
end-of-packet handling.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This is a large, ugly change. But without it we can't troubleshoot the
ICP/IP-source initialization bug properly - colliding definitions of
gpsd_report() were interfering with error reporting early in gpsd runs.
More cleanup work remains to be done, but at least this is working.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
| |
Older versions of the 9x38 check allowed a total packet length of 3,
which was almost certainly wrong.
Older versions used to allow a data length of 11 for type 0x41; not
clear why as the TSIP driver only knows the 10-byte format that [TSIP]
describes.
All regression tests pass.
|
|
|
|
|
|
|
|
| |
Previuous versions allowed a data length of up to 27. It's not
clear why, as the TSIP reference specifies a length of 25 and
that's all the driver can use.
All regression tests pass.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|