gpsd-dev
[Top][All Lists]
Advanced

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

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


From: Andy Walls
Subject: Re: [gpsd-dev] A detail in your ntpoffset script
Date: Tue, 22 Oct 2013 19:00:39 -0400
User-agent: K-9 Mail for Android

8 milliseconds.

You might want to read this:
https://github.com/scottellis/overo-irqlat/blob/master/README.md

BTW, on the OMAP you can use the integrated timer counter units in capture mode to capture the PPS edge with much better (>100 nanosecond) precision. You have to write your own kernel code to do it though. Then you get to let the system clock trash that up to 30 microsecond precision. :(

Regards,
Andy



tz <address@hidden> wrote:
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.

Regards,
Andy


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.

Beat

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


--
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]