6 #if ! defined(EPOXY_DUINO)
7 #if defined(ARDUINO_ARCH_STM32)
10 #include <AceCommon.h>
11 #include "HardwareDateTime.h"
14 using ace_common::bcdToDec;
15 using ace_common::decToBcd;
22 mRtc = &STM32RTC::getInstance();
24 mRtc->setClockSource(STM32RTC::LSI_CLOCK);
25 mRtc->begin(HOUR_FORMAT_24);
30 void StmRtc::readDateTime(HardwareDateTime* dateTime)
const {
32 if (mRtc && mRtc->isTimeSet()) {
35 dateTime->second = mRtc->getSeconds();
36 dateTime->minute = mRtc->getMinutes();
37 dateTime->hour = mRtc->getHours();
38 dateTime->dayOfWeek = mRtc->getWeekDay();
39 dateTime->day = mRtc->getDay();
40 dateTime->month = mRtc->getMonth();
41 dateTime->year = mRtc->getYear();
48 dateTime->dayOfWeek = 0;
57 void StmRtc::setDateTime(
const HardwareDateTime& dateTime)
const {
61 mRtc->setTime(dateTime.hour, dateTime.minute, dateTime.second);
63 dateTime.dayOfWeek, dateTime.day, dateTime.month, dateTime.year
68 bool StmRtc::isTimeSet()
const {
70 return mRtc->isTimeSet();
78 #endif // #if ! defined(EPOXY_DUINO)
79 #endif // #if defined(ARDUINO_ARCH_STM32)