| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
If a pointer (not array) is passed to NITEMS() macro, gcc will emit
compilation warning.
The actual check is based on newly added COMPILE_CHECK_IS_ARRAY macro.
The change doesn't affect generated binary code.
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It's not used on the client side, and it's needed separately for ntplib.
All regression tesrs pass. PPS is live.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
No logic changes, though it looks like there are two because two guards
that would always have failed when the code was compiled with pps=off
are now conditioned out. Also, this code is offset-preserving
so as not to break link-time compatibility of libgpsd.
(This is the subtler approach...)
All regression tests pass.
|
|
|
|
|
|
| |
fom sessions."
Previous approch was a bit too frontal.
|
|
|
|
| |
We need to sneak up on this in a more subtle way.
|
|
|
|
|
|
| |
The new struct ppsthread_t isolates the interface to the PPS monitor loop.
It will need more members before we're done, including some reporting
hooks.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
HAVE_TERMIOS_H was some sort of relic, apparently always on. I don't think the
code would have compiled without it.
All regression tests pass.
|
|
|
|
|
| |
All regression tests pass. Required one test rebuild for QZNSS; Beidou
test added.
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
| |
All regression tests pass. PPS observed live with gosmon.
gpsmon presently ignores this message, but shout display its contents near PPS.
|
|
|
|
|
|
|
|
| |
Also, use PPSDRIFT_SET as a client-side status flag for JSON PPS rather
than the (not yet shipped) TIMEDRIFT_SET. Next release we're probably
going to add a drift object for in-line time.
No logic changes. All regression tests pass.
|
|
|
|
| |
missing ifdef guards around pps_thread_stash_fixtime()
|
|
|
|
|
|
|
| |
We're now back to no logic changes since code freeze. If SHM(1) still fails
as Gray reported on the dev list, something else is going on.
All regression tests pass.
|
|
|
|
|
|
| |
Also, ensure this always happens within the regression-test driver.
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).
|
| |
|
|
|
|
|
|
| |
This will avoid an object file compatibility break later.
All regression tetrs pass. SHM segments allocate successfully in live testing.
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Whoops, I thought I commited this last week. Fixes display of
-0.000000001 as -1.999999999
This fixes a lot of PPS glitches.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
last_fixtime.clock and last_fixtime_clock were storing
63 bits of time in 53 bits of timestamp_t (double).
Change timestamp_t to timespec to restore nSec precision.
Along the way save some floating point that is
slow in embedded systems that have no FPU.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
No error checking was previously done on uses of ppslast_mutex. So
likely the mutex has never worked, just created the odd segfault.
|
| |
|
|
|
|
| |
Length 0 means the minimum is unknown and the driver should use character I/O.
|