hardware_rtc

Typedefs

typedef void(* rtc_callback_t) (void)
 

Functions

void rtc_init (void)
 Initialise the RTC system.
 
bool rtc_set_datetime (datetime_t *t)
 Set the RTC to the specified time. More...
 
bool rtc_get_datetime (datetime_t *t)
 Get the current time from the RTC. More...
 
bool rtc_running (void)
 Is the RTC running?
 
void rtc_set_alarm (datetime_t *t, rtc_callback_t user_callback)
 Set a time in the future for the RTC to call a user provided callback. More...
 
void rtc_enable_alarm (void)
 Enable the RTC alarm (if inactive)
 
void rtc_disable_alarm (void)
 Disable the RTC alarm (if active)
 

Detailed Description

Hardware Real Time Clock API

The RTC keeps track of time in human readable format and generates events when the time is equal to a preset value. Think of a digital clock, not epoch time used by most computers. There are seven fields, one each for year (12 bit), month (4 bit), day (5 bit), day of the week (3 bit), hour (5 bit) minute (6 bit) and second (6 bit), storing the data in binary format.

See also
datetime_t

Typedef Documentation

◆ rtc_callback_t

typedef void(* rtc_callback_t) (void)

Callback function type for RTC alarms

See also
rtc_set_alarm()

Function Documentation

◆ rtc_get_datetime()

bool rtc_get_datetime ( datetime_t t)

Get the current time from the RTC.

Parameters
tPointer to a datetime_t structure to receive the current RTC time
Returns
true if datetime is valid, false if the RTC is not running.

◆ rtc_set_alarm()

void rtc_set_alarm ( datetime_t t,
rtc_callback_t  user_callback 
)

Set a time in the future for the RTC to call a user provided callback.

Parameters
tPointer to a datetime_t structure containing a time in the future to fire the alarm. Any values set to -1 will not be matched on.
user_callbackpointer to a rtc_callback_t to call when the alarm fires

◆ rtc_set_datetime()

bool rtc_set_datetime ( datetime_t t)

Set the RTC to the specified time.

Note
Note that after setting the RTC date and time, a subsequent read of the values (e.g. via rtc_get_datetime()) may not reflect the new setting until up to three cycles of the potentially-much-slower RTC clock domain have passed. This represents a period of 64 microseconds with the default RTC clock configuration.
Parameters
tPointer to a datetime_t structure contains time to set
Returns
true if set, false if the passed in datetime was invalid.