@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
struct sock_sample {
struct timeval tv;
double offset;
+ int pulse;
int leap;
};
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)