fix portduino rtc

1.2-legacy
Kevin Hester 2021-05-03 09:30:03 +08:00
rodzic 6dc4471bec
commit f40c6f21d4
1 zmienionych plików z 14 dodań i 6 usunięć

Wyświetl plik

@ -49,13 +49,21 @@ bool perhapsSetRTC(RTCQuality q, const struct timeval *tv)
if (shouldSet) { if (shouldSet) {
lastSetMsec = now; lastSetMsec = now;
#ifndef NO_ESP32
settimeofday(tv, NULL); // This delta value works on all platforms
readFromRTC();
#else
timeStartMsec = now; timeStartMsec = now;
zeroOffsetSecs = tv->tv_sec; zeroOffsetSecs = tv->tv_sec;
// If this platform has a setable RTC, set it
#ifndef NO_ESP32
settimeofday(tv, NULL);
#endif #endif
// nrf52 doesn't have a readable RTC (yet - software not written)
#if defined(PORTDUINO) || !defined(NO_ESP32)
readFromRTC();
#endif
return true; return true;
} else { } else {
return false; return false;
@ -84,7 +92,7 @@ bool perhapsSetRTC(RTCQuality q, struct tm &t)
uint32_t getTime() uint32_t getTime()
{ {
return ((millis() - timeStartMsec) / 1000) + zeroOffsetSecs; return (((uint32_t) millis() - timeStartMsec) / 1000) + zeroOffsetSecs;
} }
uint32_t getValidTime(RTCQuality minQuality) uint32_t getValidTime(RTCQuality minQuality)