Hello,

I am working on bringing up a chronyd instance on a GPS receiver using a
1Hz PPS refclock supplemented by a SOCK refclock supplying samples from a
custom application in the sock_sample format as opposed to using a program
like gpsd (since we ourselves are a GPS receiver). The basic infrastructure
is set up. PPS and SOCK refclocks are being set up by chronyd, data is
being properly received over the Unix socket, and metrics are provided when
using the chronyc sources and chronyc tracking commands.

However, I am confused as to exactly what data I am supposed to be sending
over the socket and how the stamps from the two refclocks interact. The FAQ
page on the site states:

“A pulse-per-second (PPS) reference clock requires a non-PPS time source to
determine which second of UTC corresponds to each pulse.”

What I (probably incorrectly) infer from this statement is that the PPS
refclock will take the system time at the point of PPS assertion and the
SOCK refclock is responsible for telling chrony what UTC second that PPS
signal is associated with.

If such is the case, does this mean I can simply send the GPS fix time
(i.e. the UTC second that it will be at the next PPS assertion) once per
second over the socket in advance of the PPS assertion while the PPS
refclock is locked to this SOCK refclock? Would I just leave the offset as
0 since chrony would be using the PPS timestamp generated by the PPS
refclock as the time to compare the fix time with?

If I have the whole thing backwards and upside down in my mind, please let
me know. Thank you!

Best,

Stephen

Reply via email to