refclock: ignore samples with unsynchronised leap status

This commit is contained in:
Miroslav Lichvar 2015-12-18 15:17:06 +01:00
parent ba25fb1bcc
commit ba81d68b07

View file

@ -372,8 +372,6 @@ RCL_AddSample(RCL_Instance instance, struct timeval *sample_time, double offset,
!valid_sample_time(instance, sample_time)) !valid_sample_time(instance, sample_time))
return 0; return 0;
filter_add_sample(&instance->filter, &cooked_time, offset - correction + instance->offset, dispersion);
switch (leap) { switch (leap) {
case LEAP_Normal: case LEAP_Normal:
case LEAP_InsertSecond: case LEAP_InsertSecond:
@ -381,10 +379,11 @@ RCL_AddSample(RCL_Instance instance, struct timeval *sample_time, double offset,
instance->leap_status = leap; instance->leap_status = leap;
break; break;
default: default:
instance->leap_status = LEAP_Unsynchronised; DEBUG_LOG(LOGF_Refclock, "refclock sample ignored bad leap %d", leap);
break; return 0;
} }
filter_add_sample(&instance->filter, &cooked_time, offset - correction + instance->offset, dispersion);
instance->pps_active = 0; instance->pps_active = 0;
log_sample(instance, &cooked_time, 0, 0, offset, offset - correction + instance->offset, dispersion); log_sample(instance, &cooked_time, 0, 0, offset, offset - correction + instance->offset, dispersion);