| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Currently, debug level 0 is actually LOG_SHOUT.
This change doesn't affect generated binary code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to Matthias Drochner at
http://lists.lysator.liu.se/pipermail/lsh-bugs/2003q4/000151.html:
I thought I'd give lsh a try, just to see how it compares to openssh...
The client didn't work well on NetBSD, got a message like "unexpected
EWOULDBLOCK" on each keystroke.
Looked a bit deeper and found that stdin is set to O_NONBLOCK and
a raw tty mode with c_cc[VMIN] > 1 and c_cc[VTIME] > 0.
I'll append a little test program which does the same. I've tried
it on 3 operating systems (Linux, NetBSD, Digital UNIX), and it
behaves differently on each:
-on Linux, if a key is pressed, the read returns immediately with
that one character
-on NetBSD, the read returns with no data but EWOULDBLOCK
-on D'UNIX, the poll() doesn't teturn before 4 keypresses are done;
the read() returns these 4 characters
Indeed, in SUSv2's termios page is a sentence which says that if
both O_NONBLOCK and VTIME>0 are set, the behaviour is more or less
undefined.
I've solved my immediate problems by setting VMIN to 1 instead of 4
in unix_interact.c:do_make_raw(), but VTIME is still pointless,
so I wouldn't call this a clean solution.
All regression tests pass.
|
| |
|
| |
|
| |
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
|
|
| |
Required for testing the changes related to saellide-data representation.
All regression tests pass.
|
| |
|
| |
|
|
|
|
|
| |
All regression tests pass with default options (GPS tests are disabled with
minimal on, because socket_export is off).
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
Some cleanup and testing is still required.
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This involved moving some out of the AIS driver. There is a related
small change in behavior; now, if split24 is on, the Type B half of
a matched pair will be shipped with type 'both'.
All regression tests pass. PPS is live.
|
| |
|
|
|
|
| |
Now we'll know exactly what's being sent on a UBX mode change.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ITU-R 1371-4, there are new model and serial fields carved out of
the right-hand end of vendorid, which is reduced from 7 chars to 3.
It is not clear in which minor revision this change took place. To
cope with older AIS implementations, unpack the trailing bits *both*
ways; truly revision-4-conformant implementations will have up to four
characters of trailing garbage on the vendorid, and older
implementations will have garbafe in the model and serial fields.
This commit also reverts the change to copy only 20 characters rather
than 21 when analyzing the name field in a type21. There's some mystery
about why this didn't break the rgression tests sooner.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
Note there are some exit(2) instances we bneed to decide what to do with.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A test campaign was run with live data from aishub.net (ca. 25 millions
sentence, 1.2 GB of logs), the goal was to check the decoding and the JSON
parsing and dumping code.
On all the AIS data, the following tests were done:
- AIVDM decoding
- JSON scaled dump
- JSON validity check on scaled dump.
- JSON unscaled dump
- JSON validity check on unscaled dump
- JSON unscaled idempotency check
- JSON unscaled/scaled idempotency check
The last check consisted of:
- parsing the unscaled dump
- dumping it back in scaled mode
- compare it with the original scaled dump.
This test campaign has unveiled plenty of small bugs all around the AIS code.
This patch fixes all of them and adds new sentences in the regression tests.
|
|
|
|
|
|
|
| |
Currently gpsdecode doesn't care about the -u (unscaled) flag. Fix that.
This patch will allow aivdm-regress to run tests in scaled mode.
scons check passed.
|
|
|
|
| |
splint and check pass.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The few gpsd_hexdump() calls left have explicit guards.
|
| |
|
| |
|
|
|
|
| |
Not turned in by default yet; it interferes with RTCM2 decoding.
|
| |
|
| |
|
|
|
|
| |
Intended mainly for selective reports from very large AIS logs.
|