rtc: improve accuracy of preinit step
This commit is contained in:
parent
5fce101f85
commit
38ac081114
1 changed files with 6 additions and 2 deletions
|
@ -1027,8 +1027,12 @@ RTC_Linux_TimePreInit(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Correct time */
|
/* Correct time */
|
||||||
new_sys_time.tv_sec = rtc_t - (time_t)(0.5 + accumulated_error);
|
|
||||||
new_sys_time.tv_usec = 0;
|
new_sys_time.tv_sec = rtc_t;
|
||||||
|
/* Average error in the RTC reading */
|
||||||
|
new_sys_time.tv_usec = 500000;
|
||||||
|
|
||||||
|
UTI_AddDoubleToTimeval(&new_sys_time, -accumulated_error, &new_sys_time);
|
||||||
|
|
||||||
/* Set system time only if the step is larger than 1 second */
|
/* Set system time only if the step is larger than 1 second */
|
||||||
if (!(gettimeofday(&old_sys_time, NULL) < 0) &&
|
if (!(gettimeofday(&old_sys_time, NULL) < 0) &&
|
||||||
|
|
Loading…
Reference in a new issue