| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
PPS observed live on GR601W.
|
|
|
|
| |
Missing guard for PPS_ENABLED ifdef guard around ppsthread_log
|
| |
|
|
|
|
| |
PPS observed live on GR-601W. All regression yests pass.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the big step towards ntplib. A couple of minor issues remain to be
ironed out, the most significant of which is what to do about the timestamp_t
type.
This changes some field offsets of private fields in struct gps_device_t.
Probably does not require a version bump as access to them is all through
the libgpsd API.
All regression tests pass. PPS observed live in gpsmon direct mode.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Not exploitable, but could gave been trouble if the funcition was fed more
data than exprected through a coding error.
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Missing ifdef guard TIMEHINT around usage of time_offset in
libgpsd_core.c
|
|
|
|
| |
There's still some minor bug here - extra newlines at level LOG_PROG and above.
|
|
|
|
|
|
| |
All regression tests pass. PPS observed live with gosmon.
gpsmon presently ignores this message, but shout display its contents near PPS.
|
|
|
|
| |
No logic changes. All regression tesrs pass. Live PPS observed.
|
|
|
|
|
| |
added dummy usage of parameters if function is conditionally compiled
out
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
The root cause still to be found.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Until we see a high precision GPS timestamp this can be
ignored.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Any failure of pthread_mutex_lock() is a fatal error.
|
| |
|
| |
|
|
|
|
| |
When in doubt, always test return codes.
|
| |
|