rtctime.cpp: bugfix time sync at device startup
This commit is contained in:
parent
c05edbc2f3
commit
edf5310d81
@ -97,14 +97,16 @@ time_t get_rtctime(void) {
|
||||
} // get_rtctime()
|
||||
|
||||
void sync_rtctime(void) {
|
||||
if (timeStatus() != timeSet) {
|
||||
ESP_LOGE(TAG, "Unable to sync with the RTC");
|
||||
} else {
|
||||
time_t t = now();
|
||||
setTime(t);
|
||||
ESP_LOGI(TAG, "RTC has set system time to %02d/%02d/%d %02d:%02d:%02d",
|
||||
month(t), day(t), year(t), hour(t), minute(t), second(t));
|
||||
if (timeStatus() != timeSet) { // do we need time sync?
|
||||
time_t t = get_rtctime();
|
||||
if (t) { // do we have valid time by RTC?
|
||||
setTime(t);
|
||||
ESP_LOGI(TAG, "RTC has set system time to %02d/%02d/%d %02d:%02d:%02d",
|
||||
month(t), day(t), year(t), hour(t), minute(t), second(t));
|
||||
} else
|
||||
ESP_LOGE(TAG, "RTC has no confident time, not synced");
|
||||
}
|
||||
|
||||
#ifdef TIME_SYNC_INTERVAL_RTC
|
||||
setSyncProvider(&get_rtctime);
|
||||
setSyncInterval(TIME_SYNC_INTERVAL_RTC);
|
||||
|
Loading…
Reference in New Issue
Block a user