{
int i, n, poll, dpoll, filter_length;
unsigned long ref_id;
- double offset;
+ double offset, delay;
const char *tmp;
char name[5], cmd[10 + 1], *param;
unsigned char ref[5];
dpoll = 0;
filter_length = 15;
offset = 0.0;
+ delay = 1e-9;
ref_id = 0;
if (sscanf(line, "%4s%n", name, &n) != 1) {
} else if (!strncasecmp(cmd, "offset", 6)) {
if (sscanf(line, "%lf%n", &offset, &n) != 1)
break;
+ } else if (!strncasecmp(cmd, "delay", 5)) {
+ if (sscanf(line, "%lf%n", &delay, &n) != 1)
+ break;
} else {
LOG(LOGS_WARN, LOGF_Configure, "Unknown refclock parameter %s at line %d", cmd, line_number);
break;
refclock_sources[i].poll = poll;
refclock_sources[i].filter_length = filter_length;
refclock_sources[i].offset = offset;
+ refclock_sources[i].delay = delay;
refclock_sources[i].ref_id = ref_id;
n_refclock_sources++;
struct MedianFilter filter;
unsigned long ref_id;
double offset;
+ double delay;
SCH_TimeoutID timeout_id;
SRC_Instance source;
};
inst->driver_polled = 0;
inst->leap_status = 0;
inst->offset = params->offset;
+ inst->delay = params->delay;
inst->timeout_id = -1;
inst->source = NULL;
#endif
SRC_SetReachable(inst->source);
SRC_AccumulateSample(inst->source, &sample_time, offset,
- 1e-9, dispersion, 1e-9, dispersion, 0, inst->leap_status);
+ inst->delay, dispersion, inst->delay, dispersion, 0, inst->leap_status);
inst->missed_samples = 0;
} else {
inst->missed_samples++;