reference: add UpdateOnce and PrintOnce modes

This commit is contained in:
Miroslav Lichvar 2014-04-09 12:11:21 +02:00
parent 0baf00e1c0
commit c546c48d0d
2 changed files with 21 additions and 0 deletions

View file

@ -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 */

View file

@ -43,6 +43,8 @@ extern void REF_Finalise(void);
typedef enum {
REF_ModeNormal,
REF_ModeInitStepSlew,
REF_ModeUpdateOnce,
REF_ModePrintOnce,
REF_ModeIgnore,
} REF_Mode;