reference: add UpdateOnce and PrintOnce modes
This commit is contained in:
parent
0baf00e1c0
commit
c546c48d0d
2 changed files with 21 additions and 0 deletions
19
reference.c
19
reference.c
|
@ -732,6 +732,25 @@ special_mode_sync(int valid, double offset)
|
|||
|
||||
end_ref_mode(1);
|
||||
|
||||
break;
|
||||
case REF_ModeUpdateOnce:
|
||||
case REF_ModePrintOnce:
|
||||
if (!valid) {
|
||||
LOG(LOGS_WARN, LOGF_Reference, "No suitable source for synchronisation");
|
||||
end_ref_mode(0);
|
||||
break;
|
||||
}
|
||||
|
||||
step = mode == REF_ModeUpdateOnce;
|
||||
|
||||
LOG(LOGS_INFO, LOGF_Reference, "System clock wrong by %.6f seconds (%s)",
|
||||
-offset, step ? "step" : "ignored");
|
||||
|
||||
if (step)
|
||||
LCL_ApplyStepOffset(offset);
|
||||
|
||||
end_ref_mode(1);
|
||||
|
||||
break;
|
||||
case REF_ModeIgnore:
|
||||
/* Do nothing until the mode is changed */
|
||||
|
|
|
@ -43,6 +43,8 @@ extern void REF_Finalise(void);
|
|||
typedef enum {
|
||||
REF_ModeNormal,
|
||||
REF_ModeInitStepSlew,
|
||||
REF_ModeUpdateOnce,
|
||||
REF_ModePrintOnce,
|
||||
REF_ModeIgnore,
|
||||
} REF_Mode;
|
||||
|
||||
|
|
Loading…
Reference in a new issue