mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 16:35:06 -05:00
Add PPS support to SOCK driver
This commit is contained in:
@@ -2176,9 +2176,10 @@ Software that can be used as a source of timestamps includes
|
||||
@item SOCK
|
||||
Unix domain socket driver. The parameter is a path to the socket
|
||||
which is used as the source of timestamps. This is as a better
|
||||
alternative to SHM, it does not require polling and the offset
|
||||
resolution is not limited to microsecond. The format for messages
|
||||
sent over the socket is declared in file @code{refclock_sock.c}.
|
||||
alternative to SHM, it does not require polling, the offset
|
||||
resolution is not limited to microsecond and it supports PPS.
|
||||
The format for messages sent over the socket is declared in file
|
||||
@code{refclock_sock.c}.
|
||||
@end table
|
||||
|
||||
The @code{refclock} command also supports a number of subfields (which
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
struct sock_sample {
|
||||
struct timeval tv;
|
||||
double offset;
|
||||
int pulse;
|
||||
int leap;
|
||||
};
|
||||
|
||||
@@ -53,7 +54,11 @@ static void read_sample(void *anything)
|
||||
if (recv(sockfd, &sample, sizeof (sample), 0) != sizeof (sample))
|
||||
return;
|
||||
|
||||
RCL_AddSample(instance, &sample.tv, sample.offset, sample.leap);
|
||||
if (sample.pulse) {
|
||||
RCL_AddPulse(instance, &sample.tv, sample.offset);
|
||||
} else {
|
||||
RCL_AddSample(instance, &sample.tv, sample.offset, sample.leap);
|
||||
}
|
||||
}
|
||||
|
||||
static int sock_initialise(RCL_Instance instance)
|
||||
|
||||
Reference in New Issue
Block a user