[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] A detail in your ntpoffset script

From: tz
Subject: Re: [gpsd-dev] A detail in your ntpoffset script
Date: Tue, 22 Oct 2013 18:51:43 -0400

8 MILLIseconds, not microseconds?  Aargh.

I need to get an arduino, an Dallas semi chip, a GPS with PPS and figure out how to inject an accurate tick.

My Raspberry Pi was more accurate (until it was run over on I-90 in South Dakota after falling out of my tour pack last month).

On Tue, Oct 22, 2013 at 6:42 PM, Andy Walls <address@hidden> wrote:
GPIO edge interrupts on an OMAP with linux 3.x have a latency of about 8 msec. I use that as the fudge for my GPIO connected PPS.

As Greg pointed out, if you're using a counter timer with a low latency count capture to catch the PPS, then you can end up with an extremely small offset for the PPS.


Beat Bolli <address@hidden> wrote:
On 23.10.13 00:17, Eric S. Raymond wrote:
awk '
/127\.127\.28\.0/ { sum += $5 * 1000; cnt++; }
END { print sum / cnt; }
' </var/log/ntpstats/peerstats

Should that be .1 rather than .0?

I'm thinking of this coment in ntpshm.c:

* Segments 0 and 1: permissions 0600, i.e. other programs can only
* read and write as root.
* Segments 2 and 3: permissions 0666, i.e. other programs can read
* and write as any user. I.e.: if ntpd has been
* configured to use these segments, any
* unpriviliged user is allowed to provide data
* for synchronisation.
* As gpsd can be started as both root and non-root, this behaviour is
* mimicked by:
* Started as root: do as ntpd when attaching (creating) the segments.
* (In contrast to ntpd, which only attaches (creates) configured
* segments, gpsd creates all segments.)
* Started as non-root: only attach (create) segments 2 and 3 with
* permissions 0666. As the permissions are for any user, the creator
* does not matter.
* For each GPS module gpsd controls, it will use the attached ntpshm
* segments in pairs (for coarse clock and pps source, respectively)
* starting from the first found segments. I.e. started as root, one
* GPS will deliver data on segments 0 and 1, and as non-root data
* will be delivered on segments 2 and 3.

This seems to imply that the PPS unit is .1 rather than .0.

This is correct, but I was assuming that the PPS doesn't have to be
fudged, because it is directly connected to the kernel PPS via an
interrupt. I have a fudge offset only on the GPS unit, and none on the
PPS. This seems to make sense to me, because only the NMEA stuff is
delayed by the RS232 transmission.


Sent from my Android phone with K-9 Mail. Please excuse my brevity.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]