RTC¶
Low-level RTC (Real Time Clock) peripheral driver.
Note
The values used for setting and getting the time/alarm should conform to the struct tm
specification. Compare: http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html
-
void(*
rtc_alarm_cb_t
()¶ Signature for alarm Callback.
Parameters
arg: optional argument to put the callback in the right context
-
void
rtc_init
(void)¶ Initialize RTC module.
-
int
rtc_set_time
(struct tm * time)¶ Set RTC to given time.
Parameters
time: Pointer to the struct holding the time to set. Return values
- 0 for success
- -1 an error occurred
-
int
rtc_get_time
(struct tm * time)¶ Get current RTC time.
Parameters
time: Pointer to the struct to write the time to. Return values
- 0 for success
- -1 an error occurred
-
int
rtc_set_alarm
(struct tm * time,rtc.h::rtc_alarm_cb_t
cb, void * arg)¶ Set an alarm for RTC to the specified value.
Note
Any already set alarm will be overwritten.
Parameters
time: The value to trigger an alarm when hit. cb: Callback executed when alarm is hit. arg: Argument passed to callback when alarm is hit. Return values
- 0 for success
- -2 invalid
time
parameter - -1 other errors
-
int
rtc_get_alarm
(struct tm * time)¶ Gets the current alarm setting.
Parameters
time: Pointer to structure to receive alarm time Return values
- 0 for success
- -1 an error occurred
-
void
rtc_clear_alarm
(void)¶ Clear any set alarm, do nothing if nothing set.
-
void
rtc_poweron
(void)¶ Turns the RTC hardware module on.
-
void
rtc_poweroff
(void)¶ Turns the RTC hardware module off.