|
|
@@ -36,16 +36,16 @@ namespace rtc { |
|
|
|
|
|
|
|
void setup() { |
|
|
|
VERBOSE("setup"); |
|
|
|
powerOn(); |
|
|
|
hardware::i2c::powerOn(); |
|
|
|
RTC.control(DS3231_12H, DS3231_OFF); //24 hours clock |
|
|
|
RTC.control(DS3231_INT_ENABLE, DS3231_OFF); //INTCN OFF |
|
|
|
powerOff(); |
|
|
|
hardware::i2c::powerOff(); |
|
|
|
} |
|
|
|
|
|
|
|
void getTime(tmElements_t &time) { |
|
|
|
powerOn(); |
|
|
|
hardware::i2c::powerOn(); |
|
|
|
RTC.readTime(); |
|
|
|
powerOff(); |
|
|
|
hardware::i2c::powerOff(); |
|
|
|
|
|
|
|
details::readTimeFromRegisters(time); |
|
|
|
VERBOSE_FORMAT("getTime", "%d/%d/%d %d:%d:%d", tmYearToCalendar(time.Year), time.Month, time.Day, time.Hour, time.Minute, time.Second); |
|
|
@@ -55,9 +55,9 @@ namespace rtc { |
|
|
|
VERBOSE_FORMAT("setTime", "%d/%d/%d %d:%d:%d", tmYearToCalendar(time.Year), time.Month, time.Day, time.Hour, time.Minute, time.Second); |
|
|
|
details::writeTimeToRegisters(time); |
|
|
|
|
|
|
|
powerOn(); |
|
|
|
hardware::i2c::powerOn(); |
|
|
|
RTC.writeTime(); |
|
|
|
powerOff(); |
|
|
|
hardware::i2c::powerOff(); |
|
|
|
} |
|
|
|
|
|
|
|
void setAlarm(uint16_t seconds) { |
|
|
@@ -73,13 +73,13 @@ namespace rtc { |
|
|
|
void setAlarm(tmElements_t &time) { |
|
|
|
details::writeTimeToRegisters(time); |
|
|
|
|
|
|
|
powerOn(); |
|
|
|
hardware::i2c::powerOn(); |
|
|
|
RTC.writeAlarm1(DS3231_ALM_DTHMS); |
|
|
|
|
|
|
|
RTC.control(DS3231_A1_FLAG, DS3231_OFF); //reset Alarm 1 flag |
|
|
|
RTC.control(DS3231_A1_INT_ENABLE, DS3231_ON); //Alarm 1 ON |
|
|
|
RTC.control(DS3231_INT_ENABLE, DS3231_ON); //INTCN ON |
|
|
|
powerOff(); |
|
|
|
hardware::i2c::powerOff(); |
|
|
|
|
|
|
|
Log.notice(F("Set alarm to : %d/%d/%d %d:%d:%d\n"), tmYearToCalendar(time.Year), time.Month, time.Day, time.Hour, time.Minute, time.Second); |
|
|
|
|
|
|
|