[LinuxPPS] setting an offset

Bernhard Schiffner bernhard at schiffner-limbach.de
Thu Mar 27 08:49:02 CET 2008


Am Donnerstag, 27. März 2008 01:54 schrieb James Boddington:
> Bernhard Schiffner wrote:
> > If I read the code right, the static offset is something local to
> > ntpd. refclock_atom.c about line 409: "SAMPLE(dtemp +
> > pp->fudgetime1);"
> >
> > Means ntpd adds some value to the pps-readout.
> >
> > The interrupt (DCD-signal) is only shifted if the hardware of a
> > pps-source is (can be) configured properly.
> >
> > Nice test if fudge1 accepts ns (for cable delay compensation).
> > Hopefully (>50) µs for real shifting.
>
> I tried fudge 127.127.20.0 time 0.0000005 and the offset for that
> reference changed by 500ns (+/- jitter). Was watching peerstats.
>
> > I didn't test it.
> >
> > IMHO there is no need for linuxpps to have an offset inside.
>
> The pps rfc says PPS_OFFSETASSERT and PPS_OFFSETCLEAR are optional but
> were still implemented.
>
> What about when it is something other than ntp that is using the time
> stamp? While I have the kernel using the time stamp directly this is of
> interest to me.

Thanks for this test.
Thanks also for detailing PPS_OFFSETASSERT and PPS_OFFSETCLEAR in your 
other mail.

While the primary focus of PPS is something ntp-related, it can be used for 
everyting generating an interrrupt or signal  too.

To summarize:
NTPD-ATOM_CLOCK has a working ns-enabled offset as "fudgetime1" 
in /etc/ntp.conf.
PPS by implementing RFC 2783 has the variables PPS_OFFSETASSERT and 
PPS_OFFSETCLEAR doing theirs, which are hopefully set to 0 in ntp-like 
applications.


Bernhard



More information about the LinuxPPS mailing list