sourcestats: add function to correct accumulated offsets
This will be needed to follow server time corrections in order to better estimate frequency.
This commit is contained in:
parent
0bf39c0ab9
commit
72f7d09f58
2 changed files with 20 additions and 0 deletions
|
@ -779,6 +779,22 @@ SST_SlewSamples(SST_Stats inst, struct timespec *when, double dfreq, double doff
|
|||
|
||||
/* ================================================== */
|
||||
|
||||
void
|
||||
SST_CorrectOffset(SST_Stats inst, double doffset)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!inst->n_samples)
|
||||
return;
|
||||
|
||||
for (i = -inst->runs_samples; i < inst->n_samples; i++)
|
||||
inst->offsets[get_runsbuf_index(inst, i)] += doffset;
|
||||
|
||||
inst->estimated_offset += doffset;
|
||||
}
|
||||
|
||||
/* ================================================== */
|
||||
|
||||
void
|
||||
SST_AddDispersion(SST_Stats inst, double dispersion)
|
||||
{
|
||||
|
|
|
@ -102,6 +102,10 @@ SST_GetTrackingData(SST_Stats inst, struct timespec *ref_time,
|
|||
|
||||
extern void SST_SlewSamples(SST_Stats inst, struct timespec *when, double dfreq, double doffset);
|
||||
|
||||
/* This routine corrects already accumulated samples to improve the
|
||||
frequency estimate when a new sample is accumulated */
|
||||
extern void SST_CorrectOffset(SST_Stats inst, double doffset);
|
||||
|
||||
/* This routine is called when an indeterminate offset is introduced
|
||||
into the local time. */
|
||||
extern void SST_AddDispersion(SST_Stats inst, double dispersion);
|
||||
|
|
Loading…
Reference in a new issue