Trident IoT SDK
 
Loading...
Searching...
No Matches

RTC Driver API functions. More...

+ Collaboration diagram for RTC:

Functions

tr_hal_status_t tr_hal_rtc_init (tr_hal_rtc_settings_t *rtc_settings)
 
tr_hal_status_t tr_hal_rtc_is_running (bool *is_enabled)
 
tr_hal_status_t tr_hal_rtc_get_time (tr_hal_rtc_time *return_time)
 
tr_hal_status_t tr_hal_rtc_get_date (tr_hal_rtc_date *return_date)
 
tr_hal_status_t tr_hal_rtc_get_date_time (tr_hal_rtc_date_time *return_date_time)
 
bool tr_hal_rtc_diff_greater_than_ms (tr_hal_rtc_time *time1, tr_hal_rtc_time *time2, uint32_t check_against_ms)
 
tr_hal_status_t tr_hal_rtc_set_time (tr_hal_rtc_time new_time)
 
tr_hal_status_t tr_hal_rtc_set_date (tr_hal_rtc_date new_date)
 
tr_hal_status_t tr_hal_rtc_set_date_time (tr_hal_rtc_date_time new_date_time)
 
tr_hal_status_t tr_hal_rtc_set_event_handler (tr_hal_rtc_event_callback_t new_event_handler)
 
tr_hal_status_t tr_hal_rtc_set_interrupt_behavior (bool enable_chip_interrupts, tr_hal_int_pri_t interrupt_priority, bool wake_on_interrupt)
 
tr_hal_status_t tr_hal_rtc_get_interrupt_behavior (bool *enable_chip_interrupts, tr_hal_int_pri_t *interrupt_priority, bool *wake_on_interrupt)
 
tr_hal_status_t tr_hal_rtc_get_clock_divisor (uint32_t *clock_divisor)
 
tr_hal_status_t tr_hal_rtc_set_clock_divisor (uint32_t clock_divisor)
 
tr_hal_status_t tr_hal_rtc_set_time_trigger_event (tr_hal_rtc_time_unit_t time_unit, tr_hal_rtc_event_trigger_t event_trigger, uint16_t trigger_value)
 
tr_hal_status_t tr_hal_rtc_set_combo_trigger_event (tr_hal_rtc_date_time new_date_time)
 

Detailed Description

RTC Driver API functions.





Function Documentation

◆ tr_hal_rtc_diff_greater_than_ms()

bool tr_hal_rtc_diff_greater_than_ms ( tr_hal_rtc_time * time1,
tr_hal_rtc_time * time2,
uint32_t check_against_ms )

◆ tr_hal_rtc_get_clock_divisor()

tr_hal_status_t tr_hal_rtc_get_clock_divisor ( uint32_t * clock_divisor)

-— clock divisor -—


◆ tr_hal_rtc_get_date()

tr_hal_status_t tr_hal_rtc_get_date ( tr_hal_rtc_date * return_date)

◆ tr_hal_rtc_get_date_time()

tr_hal_status_t tr_hal_rtc_get_date_time ( tr_hal_rtc_date_time * return_date_time)

◆ tr_hal_rtc_get_interrupt_behavior()

tr_hal_status_t tr_hal_rtc_get_interrupt_behavior ( bool * enable_chip_interrupts,
tr_hal_int_pri_t * interrupt_priority,
bool * wake_on_interrupt )

◆ tr_hal_rtc_get_time()

tr_hal_status_t tr_hal_rtc_get_time ( tr_hal_rtc_time * return_time)

-— read time and date -—


◆ tr_hal_rtc_init()

tr_hal_status_t tr_hal_rtc_init ( tr_hal_rtc_settings_t * rtc_settings)

-— RTC init -—


◆ tr_hal_rtc_is_running()

tr_hal_status_t tr_hal_rtc_is_running ( bool * is_enabled)

◆ tr_hal_rtc_set_clock_divisor()

tr_hal_status_t tr_hal_rtc_set_clock_divisor ( uint32_t clock_divisor)

◆ tr_hal_rtc_set_combo_trigger_event()

tr_hal_status_t tr_hal_rtc_set_combo_trigger_event ( tr_hal_rtc_date_time new_date_time)

◆ tr_hal_rtc_set_date()

tr_hal_status_t tr_hal_rtc_set_date ( tr_hal_rtc_date new_date)

◆ tr_hal_rtc_set_date_time()

tr_hal_status_t tr_hal_rtc_set_date_time ( tr_hal_rtc_date_time new_date_time)

◆ tr_hal_rtc_set_event_handler()

tr_hal_status_t tr_hal_rtc_set_event_handler ( tr_hal_rtc_event_callback_t new_event_handler)

-— set event handler -—


◆ tr_hal_rtc_set_interrupt_behavior()

tr_hal_status_t tr_hal_rtc_set_interrupt_behavior ( bool enable_chip_interrupts,
tr_hal_int_pri_t interrupt_priority,
bool wake_on_interrupt )

-— interrupt handling -—


◆ tr_hal_rtc_set_time()

tr_hal_status_t tr_hal_rtc_set_time ( tr_hal_rtc_time new_time)

-— set time and date -—


◆ tr_hal_rtc_set_time_trigger_event()

tr_hal_status_t tr_hal_rtc_set_time_trigger_event ( tr_hal_rtc_time_unit_t time_unit,
tr_hal_rtc_event_trigger_t event_trigger,
uint16_t trigger_value )

-— events (interrupts) -—

there are multiple ways to set an event trigger:

  1. no event
  2. event on every unit change (ex: every hour or every day, right after unit change)
  3. event on specific unit value (ex: when hour==6 or when day==12
  4. combo event that uses multiple time unit settings (ex: every hour==12, min==33, sec==12)

each time unit (year, month, day, hour, minute, second) can set one event for either #2 or #3, OR the SYSTEM can set one combo event (#4)

The combo event (#4) does not need to use all time units, but if it does not use one time unit it cannot use any time units greater than the time unit not used