17class Esp32Rtc :
public IRtc {
20 Esp32Rtc(
int sda = 6,
int scl = 7);
21 ~Esp32Rtc()
override =
default;
23 Result<void> init()
override;
24 TimePoint
now()
override;
25 Result<void>
adjust(
const TimePoint& time)
override;
26 Result<void>
setEpoch(uint32_t epochSeconds)
override;
27 bool isHealthy()
const override;
28 RtcDiagnostics diagnostics()
override;
34 ersa::drivers::rtc::Ds3231 rtc_;
36 uint32_t lastReadMs_{0};
37 uint32_t lastRtcPollMs_{0};
39 bool oscillatorStopped_{
false};
40 bool driftMeasured_{
false};
41 int32_t lastDriftSeconds_{0};
49 void reconcile(uint32_t nowMs,
bool force);
Definition calendar_time.h:11
void resync()
Definition watch_clock.cpp:31
void adjust(const CalendarTime &time)
Definition watch_clock.cpp:35
CalendarTime now()
Definition watch_clock.cpp:23
void setEpoch(uint32_t epochSeconds)
Definition watch_clock.cpp:39
Definition application.h:10