43 #if defined(ARDUINO_attiny) || defined(ARDUINO_AVR_ATTINYX4) || defined(ARDUINO_AVR_ATTINYX5) || defined(ARDUINO_AVR_ATTINYX7) || defined(ARDUINO_AVR_ATTINYX8) || defined(ARDUINO_AVR_ATTINYX61) || defined(ARDUINO_AVR_ATTINY43) || defined(ARDUINO_AVR_ATTINY828) || defined(ARDUINO_AVR_ATTINY1634) || defined(ARDUINO_AVR_ATTINYX313)
44 #include <TinyWireM.h>
45 #define URTCLIB_WIRE TinyWireM
48 #define URTCLIB_WIRE Wire
57 #define URTCLIB_ADDRESS 0x68
63 #define URTCLIB_MODEL_DS1307 1
67 #define URTCLIB_MODEL_DS3231 2
71 #define URTCLIB_MODEL_DS3232 3
78 #define URTCLIB_WEEKDAY_SUNDAY 1
82 #define URTCLIB_WEEKDAY_MONDAY 2
86 #define URTCLIB_WEEKDAY_TUESDAY 3
90 #define URTCLIB_WEEKDAY_WEDNESDAY 4
94 #define URTCLIB_WEEKDAY_THURSDAY 5
98 #define URTCLIB_WEEKDAY_FRIDAY 6
102 #define URTCLIB_WEEKDAY_SATURDAY 7
123 #define URTCLIB_ALARM_TYPE_1_NONE 0b00000000
128 #define URTCLIB_ALARM_TYPE_1_ALL_S 0b00101111
133 #define URTCLIB_ALARM_TYPE_1_FIXED_S 0b00101110
138 #define URTCLIB_ALARM_TYPE_1_FIXED_MS 0b00101100
143 #define URTCLIB_ALARM_TYPE_1_FIXED_HMS 0b00101000
148 #define URTCLIB_ALARM_TYPE_1_FIXED_DHMS 0b00100000
153 #define URTCLIB_ALARM_TYPE_1_FIXED_DOWHMS 0b00110000
169 #define URTCLIB_ALARM_TYPE_2_NONE 0b10000000
174 #define URTCLIB_ALARM_TYPE_2_ALL_M 0b10101110
179 #define URTCLIB_ALARM_TYPE_2_FIXED_M 0b10101100
184 #define URTCLIB_ALARM_TYPE_2_FIXED_HM 0b10101000
189 #define URTCLIB_ALARM_TYPE_2_FIXED_DHM 0b10100000
194 #define URTCLIB_ALARM_TYPE_2_FIXED_DOWHM 0b10110000
200 #define URTCLIB_ALARM_1 URTCLIB_ALARM_TYPE_1_NONE
205 #define URTCLIB_ALARM_2 URTCLIB_ALARM_TYPE_2_NONE
210 #define URTCLIB_ALARM_ANY 0b01010101
220 #define URTCLIB_SQWG_OFF_0 0b11111111
225 #define URTCLIB_SQWG_OFF_1 0b11111110
230 #define URTCLIB_SQWG_1H 0b00000000
237 #define URTCLIB_SQWG_1024H 0b00001000
242 #define URTCLIB_SQWG_4096H 0b00010000
247 #define URTCLIB_SQWG_8192H 0b00011000
254 #define URTCLIB_SQWG_32768H 0b00000011
263 #define URTCLIB_TEMP_ERROR 32767
272 #define uRTCLIB_decToBcd(val) ((uint8_t) ((val / 10 * 16) + (val % 10)))
277 #define uRTCLIB_bcdToDec(val) ((uint8_t) ((val / 16 * 10) + (val % 16)))
280 #if ARDUINO_ARCH_ESP8266
286 #define uRTCLIB_YIELD yield();
288 #if ARDUINO_ARCH_ESP32
294 #define uRTCLIB_YIELD yield();
296 #define uRTCLIB_YIELD
322 uRTCLib(
const int,
const uint8_t);
418 void set(
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t);
541 bool alarmSet(
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t,
const uint8_t);
748 uint8_t _dayOfWeek = 0;
749 int16_t _temp = 9999;
756 uint8_t _a1_second = 0;
757 uint8_t _a1_minute = 0;
758 uint8_t _a1_hour = 0;
759 uint8_t _a1_day_dow = 0;
763 uint8_t _a2_minute = 0;
764 uint8_t _a2_hour = 0;
765 uint8_t _a2_day_dow = 0;
783 uint8_t _controlStatus = 0x00;
DS1307, DS3231 and DS3232 RTCs basic library.
Definition uRTCLib.h:300
bool enable32KOut()
Enables 32K pin output.
Definition uRTCLib.cpp:1598
uint8_t second()
Returns actual second.
Definition uRTCLib.cpp:546
void set_rtc_address(const int)
Sets RTC i2 addres.
Definition uRTCLib.cpp:638
void set_model(const uint8_t)
Sets RTC Model.
Definition uRTCLib.cpp:651
void set_12hour_mode(const bool)
Set clock in 12 or 24 hour mode 12 hour mode has 1-12 hours and AM or PM flag 24 hour mode has 0-23 h...
Definition uRTCLib.cpp:723
bool status32KOut()
Checks 32K pin output status.
Definition uRTCLib.cpp:1677
bool disable32KOut()
Disable 32K pin output.
Definition uRTCLib.cpp:1637
bool alarmClearFlag(const uint8_t)
Clears an alarm flag.
Definition uRTCLib.cpp:1036
bool alarmSet(const uint8_t, const uint8_t, const uint8_t, const uint8_t, const uint8_t)
Sets any alarm.
Definition uRTCLib.cpp:821
uint8_t month()
Returns actual month.
Definition uRTCLib.cpp:603
int16_t temp()
Returns actual temperature.
Definition uRTCLib.cpp:534
bool alarmTriggered(const uint8_t)
Checks if any alarm has been triggered.
Definition uRTCLib.cpp:1277
uint8_t alarmDayDow(const uint8_t)
Returns actual alarm day or DOW.
Definition uRTCLib.cpp:1239
uint8_t day()
Returns actual day.
Definition uRTCLib.cpp:594
uint8_t alarmHour(const uint8_t)
Returns actual alarm hour.
Definition uRTCLib.cpp:1207
bool lostPower()
Returns lost power VBAT staus.
Definition uRTCLib.cpp:343
bool ramWrite(const uint8_t, byte)
Writes a byte to RTC RAM.
Definition uRTCLib.cpp:1497
bool alarmDisable(const uint8_t)
Disables an alarm.
Definition uRTCLib.cpp:980
void set(const uint8_t, const uint8_t, const uint8_t, const uint8_t, const uint8_t, const uint8_t, const uint8_t)
Sets RTC datetime data.
Definition uRTCLib.cpp:685
uint8_t alarmMode(const uint8_t)
Returns actual alarm mode.
Definition uRTCLib.cpp:1110
uRTCLib()
Constructor.
Definition uRTCLib.cpp:51
bool enableBattery()
Enable VBAT operation when VCC power is lost.
Definition uRTCLib.cpp:420
uint8_t sqwgMode()
Changes SQWG mode, including turning it off.
Definition uRTCLib.cpp:1444
uint8_t dayOfWeek()
Returns actual Day Of Week.
Definition uRTCLib.cpp:628
uint8_t hour()
Returns actual hour.
Definition uRTCLib.cpp:565
bool agingSet(int8_t)
Sets aging value on the RTC.
Definition uRTCLib.cpp:1544
int8_t agingGet()
Reads actual aging value on the RTC.
Definition uRTCLib.cpp:1533
uint8_t alarmMinute(const uint8_t)
Returns actual alarm minute.
Definition uRTCLib.cpp:1174
void lostPowerClear()
Clears lost power VBAT staus.
Definition uRTCLib.cpp:354
uint8_t alarmSecond(const uint8_t)
Returns actual alarm second.
Definition uRTCLib.cpp:1142
bool sqwgSetMode(const uint8_t)
Gets current SQWG mode.
Definition uRTCLib.cpp:1309
bool getEOSCFlag()
Returns Enable Oscillator Flag.
Definition uRTCLib.cpp:326
bool disableBattery()
Disable VBAT operation when VCC power is lost.
Definition uRTCLib.cpp:477
uint8_t hourModeAndAmPm()
Returns whether clock is in 12 or 24 hour mode and AM or PM if in 12 hour mode 0 = 24 hour mode (0-23...
Definition uRTCLib.cpp:578
uint8_t year()
Returns actual year.
Definition uRTCLib.cpp:612
uint8_t minute()
Returns actual minute.
Definition uRTCLib.cpp:555
uint8_t model()
Gets RTC Model.
Definition uRTCLib.cpp:663
byte ramRead(const uint8_t)
Reads a byte from RTC RAM.
Definition uRTCLib.cpp:1459
bool refresh()
Refresh data from HW RTC.
Definition uRTCLib.cpp:81
#define URTCLIB_ADDRESS
Default RTC I2C address.
Definition uRTCLib.h:57
#define URTCLIB_MODEL_DS3232
Model definition, DS3232.
Definition uRTCLib.h:71
#define URTCLIB_SQWG_OFF_1
SQWG OFF, keeps output hight.
Definition uRTCLib.h:225
#define URTCLIB_ALARM_TYPE_1_NONE
Alarm 1 - Disabled.
Definition uRTCLib.h:123
#define URTCLIB_ALARM_TYPE_2_NONE
Alarm 2 - Disabled.
Definition uRTCLib.h:169