Calendar#


Introduction#

The Calendar application for requires software that manages dates, events, alarms, and reminders within hardware constraints. Here's a brief overview of how you would go about building such an application.


Configuration#

Calendar provides three types of trigger those are Alarm, Second and Millisecond.

The procedures for setting up a calendar in an si91x is sl_calendar_clock_t, after that These functions will re-initiate and configure the calender sl_si91x_calendar_set_configuration()

  • For more information on configuring available parameters refer to the respective peripheral example readme document.


Usage#

The common Calendar functions can be used after the calendar Structures are specified, passing an instance of sl_calendar_datetime_config_t. These functions will initiate and configure the calendar below, which is the flow for implementation.

  1. sl_si91x_calendar_set_configuration

  2. sl_si91x_calendar_init

  3. sl_si91x_calendar_build_datetime_struct

  4. sl_si91x_calendar_set_date_time

  5. sl_si91x_calendar_deinit

Modules#

clock_calibration_config_t

sl_calendar_version_t

Typedefs#

typedef AON_CLK_T

Renaming clock type enum.

typedef RTC_TIME_CONFIG_T

Renaming datetime structure.

typedef RTC_MONTH_T

Renaming month structure.

typedef RTC_DAY_OF_WEEK_T

Renaming days of week structure.

typedef void(*

Typedef for the function pointer of the callback function.

Functions#

TIME_CONVERSION_ENUM(time_conversion_enum)

Enumeration to represent time conversion format.

RC_CLOCK_CALIBRATION_ENUM(rc_clock_calibration_enum)

Enumeration to represent the different RC clock calibration configurations.

RO_CLOCK_CALIBRATION_ENUM(ro_clock_calibration_enum)

Enumeration to represent different ro clock calibration configurations.

sl_status_t
sl_si91x_calendar_set_configuration(sl_calendar_clock_t clock_type)

Configuration and initialization of Calendar i.e., RTC clock.

sl_status_t
sl_si91x_calendar_set_date_time(sl_calendar_datetime_config_t *config)

Set the date and time of the Calendar RTC.

sl_status_t
sl_si91x_calendar_get_date_time(sl_calendar_datetime_config_t *config)

Fetch the current date and time of an existing Calendar RTC.

sl_status_t
sl_si91x_calendar_rcclk_calibration(clock_calibration_config_t *clock_calibration_config)

Calibrate the RC Clock.

sl_status_t
sl_si91x_calendar_roclk_calibration(clock_calibration_config_t *clock_calibration_config)

Calibrate the RO Clock.

sl_status_t

Register the callback for one milli-second trigger and enables it.

sl_status_t

Register the callback for one second trigger and enable it.

sl_status_t

Register the callback for alarm trigger and enable it.

sl_status_t

Unregister the callback for one milli-second trigger and disable it.

sl_status_t

Unregister the callback for one second trigger and disable it.

sl_status_t

Unregister the callback for alarm trigger and disable it.

sl_status_t
sl_si91x_calendar_set_alarm(sl_calendar_datetime_config_t *alarm)

Set the date and time of new alarm in RTC.

sl_status_t
sl_si91x_calendar_get_alarm(sl_calendar_datetime_config_t *alarm)

Fetch the date and time of an existing alarm set in RTC.

sl_status_t
sl_si91x_calendar_build_datetime_struct(sl_calendar_datetime_config_t *date, uint8_t Century, uint8_t Year, sl_calendar_month_t Month, sl_calendar_days_of_week_t DayOfWeek, uint8_t Day, uint8_t Hour, uint8_t Minute, uint8_t Second, uint16_t Milliseconds)

Build the structure for date-time configuration.

sl_status_t
sl_si91x_calendar_convert_unix_time_to_ntp_time(uint32_t time, uint32_t *ntp_time)

Convert Unix timestamp to NTP timestamp.

sl_status_t
sl_si91x_calendar_convert_ntp_time_to_unix_time(uint32_t ntp_time, uint32_t *time)

Convert NTP timestamp to Unix timestamp.

boolean_t

Return the state of one milli-second trigger of RTC (enabled or disabled).

boolean_t

Return the state of one second trigger of RTC (enabled or disabled).

boolean_t

Return the state of alarm trigger of RTC (enabled or disabled).

__STATIC_INLINE void

Starts the Calendar RTC.

__STATIC_INLINE void

Stops the Calendar RTC.

__STATIC_INLINE void

Initialize the calibration for Calendar clocks.

__STATIC_INLINE void

Clear the one milli-second trigger.

__STATIC_INLINE void

Clear the one second trigger.

__STATIC_INLINE void

Clear the alarm trigger.

__STATIC_INLINE void

Initialize calendar operation.

__STATIC_INLINE void

De-initialize calendar operation.

Macros#

#define
SLI_ALARM_IRQHandler IRQ028_Handler

Alarm IRQ Handler.

#define

RTC IRQ Handler.

#define
SLI_NVIC_ALARM MCU_CAL_ALARM_IRQn

Alarm NVIQ enable.

#define
SLI_NVIC_MSEC_SEC MCU_CAL_RTC_IRQn

RTC NVIQ enable.

#define

Time Conversion format enum declaration.

#define

Time Conversion format enum declaration.

#define

Time Conversion format enum declaration.

Typedef Documentation#

sl_calendar_clock_t#

typedef AON_CLK_T sl_calendar_clock_t

Renaming clock type enum.


Definition at line 71 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_calendar_datetime_config_t#

typedef RTC_TIME_CONFIG_T sl_calendar_datetime_config_t

Renaming datetime structure.


Definition at line 72 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_calendar_month_t#

typedef RTC_MONTH_T sl_calendar_month_t

Renaming month structure.


Definition at line 73 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_calendar_days_of_week_t#

typedef RTC_DAY_OF_WEEK_T sl_calendar_days_of_week_t

Renaming days of week structure.


Definition at line 74 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

calendar_callback_t#

typedef void(* calendar_callback_t) (void) )(void)

Typedef for the function pointer of the callback function.


Definition at line 79 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

Function Documentation#

TIME_CONVERSION_ENUM#

TIME_CONVERSION_ENUM (time_conversion_enum )

Enumeration to represent time conversion format.

Parameters
N/A

Definition at line 92 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

RC_CLOCK_CALIBRATION_ENUM#

RC_CLOCK_CALIBRATION_ENUM (rc_clock_calibration_enum )

Enumeration to represent the different RC clock calibration configurations.

Parameters
N/A

Definition at line 99 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

RO_CLOCK_CALIBRATION_ENUM#

RO_CLOCK_CALIBRATION_ENUM (ro_clock_calibration_enum )

Enumeration to represent different ro clock calibration configurations.

Parameters
N/A

Definition at line 110 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_set_configuration#

sl_status_t sl_si91x_calendar_set_configuration (sl_calendar_clock_t clock_type)

Configuration and initialization of Calendar i.e., RTC clock.

Parameters
[in]clock_type

(sl_calendar_clock_t) Enum for RTC Clock Type (RO, RC or XTAL)

It takes input of clock type enum sl_calendar_clock_t. The clock type can be RO, RC or XTAL.It configures the clock type and after configuration, initialized the RTC clock.

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_FAIL (0x0001) - The function is failed


Definition at line 141 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_set_date_time#

sl_status_t sl_si91x_calendar_set_date_time (sl_calendar_datetime_config_t * config)

Set the date and time of the Calendar RTC.

Parameters
[in]config

(sl_calendar_datetime_config_t) Pointer to the Date Configuration Structure.

The input parameters consists of date-time structure, the members of structure are listed below:

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-4)

  • Year (uint8_t) Year (1-99) + (Century * 1000)

  • Month (enum) Month from the sl_calendar_month_t enum

  • DayOfWeek (enum) Day of Week from the sl_calendar_days_of_week_t enum

  • Day Day (uint8_t) (1-31)

  • Hour Hour (uint8_t) (0-23)

  • Minute Minutes (uint8_t) (0-59)

  • Second Seconds (uint8_t) (0-59)

  • Milliseconds Milliseconds (uint16_t) (0-999)

    Returns

    • status 0 if successful, else error code as follows:

      • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

      • SL_STATUS_OK (0x0000) - Success


Definition at line 164 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_get_date_time#

sl_status_t sl_si91x_calendar_get_date_time (sl_calendar_datetime_config_t * config)

Fetch the current date and time of an existing Calendar RTC.

Parameters
[in]config

(sl_calendar_datetime_config_t) Pointer to the Date Configuration Structure.

The input parameters consists of dummy date-time structure. The structure is updated with the current date-time parameters. The members of structure are listed below:

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-4)

  • Year (uint8_t) Year (1-99) + (Century * 1000)

  • Month (enum) Month from the sl_calendar_month_t enum

  • DayOfWeek (enum) Day of Week from the sl_calendar_days_of_week_t enum

  • Day Day (uint8_t) (1-31)

  • Hour Hour (uint8_t) (0-23)

  • Minute Minutes (uint8_t) (0-59)

  • Second Seconds (uint8_t) (0-59)

  • Milliseconds Milliseconds (uint16_t) (0-999)

    Returns

    • status 0 if successful, else error code as follows:

      • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

      • SL_STATUS_OK (0x0000) - Success


Definition at line 190 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_rcclk_calibration#

sl_status_t sl_si91x_calendar_rcclk_calibration (clock_calibration_config_t * clock_calibration_config)

Calibrate the RC Clock.

Parameters
[in]clock_calibration_config

( clock_calibration_config_t) pointer to the clock calibration structure

If the RC clock is selected as the input clock to calendar, it is recommended to calibrate it after power-sequence. It expects clock calibration structure \refclock_calibration_config_t as input, the members are listed below:

  • rc_enable_calibration: true to enable and false to disable RC calibration

  • rc_enable_periodic_calibration: true to enable and false to disable RC periodic calibration

  • rc_trigger_time: Expected values - 5 sec, 10 sec, 15 sec, 30 sec, 1 min, 2 min RC_CLOCK_CALIBRATION_ENUM

    Returns

    • status 0 if successful, else error code as follows:

      • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

      • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

      • SL_STATUS_OK (0x0000) - Success

    Note

    • Only RC parameters are utilized in this function.


Definition at line 211 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_roclk_calibration#

sl_status_t sl_si91x_calendar_roclk_calibration (clock_calibration_config_t * clock_calibration_config)

Calibrate the RO Clock.

Parameters
[in]clock_calibration_config

( clock_calibration_config_t) pointer to the clock calibration structure.

If the RO clock is selected as the input clock to calendar, it is recommended to calibrate it after power-sequence. This function internally calibrates the RC clock also. It expects clock calibration structure clock_calibration_config_t as input, the members are listed below:

  • rc_enable_calibration: true to enable and false to disable RC calibration

  • rc_enable_periodic_calibration: true to enable and false to disable RC periodic calibration

  • rc_trigger_time: Expected values - 5 sec, 10 sec, 15 sec, 30 sec, 1 min, 2 min RC_CLOCK_CALIBRATION_ENUM

  • ro_enable_calibration: true to enable and false to disable RO calibration

  • ro_enable_periodic_calibration: true to enable and false to disable periodic calibration

  • ro_trigger_time: Expected values - 1 sec, 2 sec, 4 sec, 8 sec RO_CLOCK_CALIBRATION_ENUM

    • Pre-condition:

  • sl_si91x_calendar_calibration_init

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

    • SL_STATUS_OK (0x0000) - Success

Note

  • Both RC and RO parameters are utilized in this function, so it is compulsory to update all the parameters.


Definition at line 239 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_register_msec_trigger_callback#

sl_status_t sl_si91x_calendar_register_msec_trigger_callback (calendar_callback_t callback)

Register the callback for one milli-second trigger and enables it.

Parameters
[in]callback

(function pointer calendar_callback_t) Callback function pointer to be called when msec interrupt is triggered.

At the time of trigger the function passed in this function as a argument is called. It expects the function pointer as input argument. Before calling this function again, it is mandatory to call sl_si91x_calendar_unregister_msec_trigger_callback, otherwise it returns SL_STATUS_BUSY error-code.

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_BUSY (0x0004) - The callback is already registered, unregister previous callback before registering new one


Definition at line 257 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_register_sec_trigger_callback#

sl_status_t sl_si91x_calendar_register_sec_trigger_callback (calendar_callback_t callback)

Register the callback for one second trigger and enable it.

Parameters
[in]callback

(function pointer calendar_callback_t) Callback function pointer to be called when sec interrupt is triggered.

At the time of trigger the function passed in this function as a argument is called. It expects the function pointer as input argument. Before calling this function again, it is mandatory to call sl_si91x_calendar_unregister_sec_trigger_callback, otherwise it returns SL_STATUS_BUSY error-code.

Returns

  • status 0 if successful, else error code as follow

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_BUSY (0x0004) - The callback is already registered, unregister previous callback before registering new one


Definition at line 275 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_register_alarm_trigger_callback#

sl_status_t sl_si91x_calendar_register_alarm_trigger_callback (calendar_callback_t callback)

Register the callback for alarm trigger and enable it.

Parameters
[in]callback

(function pointer calendar_callback_t) Callback function pointer to be called when alarm interrupt is triggered.

At the time of trigger the function passed in this function as a argument is called. It expects the function pointer as input argument. Before calling this function again, it is mandatory to call sl_si91x_calendar_unregister_alarm_trigger_callback, otherwise it returns SL_STATUS_BUSY error-code.

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_BUSY (0x0004) - The callback is already registered, unregister previous callback before registering new one


Definition at line 293 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_unregister_msec_trigger_callback#

sl_status_t sl_si91x_calendar_unregister_msec_trigger_callback (void )

Unregister the callback for one milli-second trigger and disable it.

Parameters
N/A

It is mandatory to call this function before registering the callback again.

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_FAIL (0x0001) - The function is failed


Definition at line 305 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_unregister_sec_trigger_callback#

sl_status_t sl_si91x_calendar_unregister_sec_trigger_callback (void )

Unregister the callback for one second trigger and disable it.

Parameters
N/A

It is mandatory to call this function before registering the callback again.

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_FAIL (0x0001) - The function is failed


Definition at line 317 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_unregister_alarm_trigger_callback#

sl_status_t sl_si91x_calendar_unregister_alarm_trigger_callback (void )

Unregister the callback for alarm trigger and disable it.

Parameters
N/A

It is mandatory to call this function before registering the callback again.

  • Pre-condition:

    • sl_si91x_calendar_register_alarm_trigger_callback

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_OK (0x0000) - Success

    • SL_STATUS_FAIL (0x0001) - The function is failed


Definition at line 329 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_set_alarm#

sl_status_t sl_si91x_calendar_set_alarm (sl_calendar_datetime_config_t * alarm)

Set the date and time of new alarm in RTC.

Parameters
[in]alarm

( sl_calendar_datetime_config_t) Pointer to the Date Configuration Structure.

It is a one-shot alarm, after triggering the alarm it is elapsed. The input parameters consists of date-time structure, the members of structure are listed below:

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-4)

  • Year (uint8_t) Year (1-99) + (Century * 1000)

  • Month (enum) Month from the sl_calendar_month_t enum

  • DayOfWeek (enum) Day of Week from the sl_calendar_days_of_week_t enum

  • Day Day (uint8_t) (1-31)

  • Hour Hour (uint8_t) (0-23)

  • Minute Minutes (uint8_t) (0-59)

  • Second Seconds (uint8_t) (0-59)

  • Milliseconds Milliseconds (uint16_t) (0-999)

    Returns

    • status 0 if successful, else error code as follows:

      • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

      • SL_STATUS_OK (0x0000) - Success


Definition at line 353 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_get_alarm#

sl_status_t sl_si91x_calendar_get_alarm (sl_calendar_datetime_config_t * alarm)

Fetch the date and time of an existing alarm set in RTC.

Parameters
[in]alarm

( sl_calendar_datetime_config_t) Pointer to the Date Configuration Structure.

The input parameters consists of dummy date-time structure. The structure is updated with the current date-time parameters. The members of structure are listed below:

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-4)

  • Year (uint8_t) Year (1-99) + (Century * 1000)

  • Month (enum) Month from the sl_calendar_month_t enum

  • DayOfWeek (enum) Day of Week from the sl_calendar_days_of_week_t enum

  • Day Day (uint8_t) (1-31)

  • Hour Hour (uint8_t) (0-23)

  • Minute Minutes (uint8_t) (0-59)

  • Second Seconds (uint8_t) (0-59)

  • Milliseconds Milliseconds (uint16_t) (0-999)

    Returns

    • status 0 if successful, else error code as follows:

      • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

      • SL_STATUS_OK (0x0000) - Success


Definition at line 379 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_build_datetime_struct#

sl_status_t sl_si91x_calendar_build_datetime_struct (sl_calendar_datetime_config_t * date, uint8_t Century, uint8_t Year, sl_calendar_month_t Month, sl_calendar_days_of_week_t DayOfWeek, uint8_t Day, uint8_t Hour, uint8_t Minute, uint8_t Second, uint16_t Milliseconds)

Build the structure for date-time configuration.

Parameters
[in]date

( sl_calendar_datetime_config_t) Pointer to the Date Configuration Structure

[in]Century

(uint8_t) Century (0-4)

[in]Year

(uint8_t) Year (1-99) + (Century * 1000)

[in]Month

(enum) Month from the RTC_MONTH_T enum

[in]DayOfWeek

(enum) Day of Week from the RTC_DAY_OF_WEEK_T enum

[in]Day

Day (uint8_t) (1-31)

[in]Hour

Hour (uint8_t) (0-23)

[in]Minute

Minutes (uint8_t) (0-59)

[in]Second

Seconds (uint8_t) (0-59)

[in]Milliseconds

Milliseconds (uint16_t) (0-999)

By providing the following parameters as input, it validates and fills the date-time configuration structure with the respective values.

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

    • SL_STATUS_OK (0x0000) - Success


Definition at line 401 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_convert_unix_time_to_ntp_time#

sl_status_t sl_si91x_calendar_convert_unix_time_to_ntp_time (uint32_t time, uint32_t * ntp_time)

Convert Unix timestamp to NTP timestamp.

Parameters
[in]time

(uint32_t) Unix timestamp

[in]ntp_time

(uint32_t) variable to store NTP timestamp

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

    • SL_STATUS_OK (0x0000) - Success


Definition at line 422 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_convert_ntp_time_to_unix_time#

sl_status_t sl_si91x_calendar_convert_ntp_time_to_unix_time (uint32_t ntp_time, uint32_t * time)

Convert NTP timestamp to Unix timestamp.

Parameters
[in]ntp_time

(uint32_t) NTP timestamp

[in]time

(uint32_t) variable to store Unix timestamp

Returns

  • status 0 if successful, else error code as follows:

    • SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer

    • SL_STATUS_INVALID_PARAMETER (0x0021) - Parameters are invalid

    • SL_STATUS_OK (0x0000) - Success


Definition at line 433 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_is_msec_trigger_enabled#

boolean_t sl_si91x_calendar_is_msec_trigger_enabled (void )

Return the state of one milli-second trigger of RTC (enabled or disabled).

Parameters
N/A

If enabled, returns true. If disabled, returns false.

Returns

  • (boolean) true if trigger is enabled, false otherwise


Definition at line 444 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_is_sec_trigger_enabled#

boolean_t sl_si91x_calendar_is_sec_trigger_enabled (void )

Return the state of one second trigger of RTC (enabled or disabled).

Parameters
N/A

If enabled, returns true. If disabled, returns false.

Returns

  • (boolean) true if trigger is enabled, false otherwise


Definition at line 455 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_is_alarm_trigger_enabled#

boolean_t sl_si91x_calendar_is_alarm_trigger_enabled (void )

Return the state of alarm trigger of RTC (enabled or disabled).

Parameters
N/A

If enabled, returns true. If disabled, returns false.

  • Pre-condition:

    • sl_si91x_calendar_register_alarm_trigger_callback

Returns

  • (boolean) true if trigger is enabled, false otherwise


Definition at line 466 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_rtc_start#

__STATIC_INLINE void sl_si91x_calendar_rtc_start (void )

Starts the Calendar RTC.

Parameters
N/A

Returns

  • none


Definition at line 476 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_rtc_stop#

__STATIC_INLINE void sl_si91x_calendar_rtc_stop (void )

Stops the Calendar RTC.

Parameters
N/A

Returns

  • none


Definition at line 491 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_calibration_init#

__STATIC_INLINE void sl_si91x_calendar_calibration_init (void )

Initialize the calibration for Calendar clocks.

Parameters
N/A

It is mandatory to call this function before calling RO clock calibration or RC clock calibration function.

Returns

  • none


Definition at line 505 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_clear_msec_trigger#

__STATIC_INLINE void sl_si91x_calendar_clear_msec_trigger (void )

Clear the one milli-second trigger.

Parameters
N/A

It is generally called in the IRQ handler.

Returns

  • none


Definition at line 517 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_clear_sec_trigger#

__STATIC_INLINE void sl_si91x_calendar_clear_sec_trigger (void )

Clear the one second trigger.

Parameters
N/A

It is generally called in the IRQ handler.

Returns

  • none


Definition at line 529 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_clear_alarm_trigger#

__STATIC_INLINE void sl_si91x_calendar_clear_alarm_trigger (void )

Clear the alarm trigger.

Parameters
N/A

It is generally called in the IRQ handler.

Returns

  • none


Definition at line 541 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_init#

__STATIC_INLINE void sl_si91x_calendar_init (void )

Initialize calendar operation.

Parameters
N/A

It power ups the RTC domain and starts the calendar clock.

Returns

  • none


Definition at line 554 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_deinit#

__STATIC_INLINE void sl_si91x_calendar_deinit (void )

De-initialize calendar operation.

Parameters
N/A

It power down the RTC domain and stops the calendar clock.

Returns

  • none


Definition at line 567 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

sl_si91x_calendar_get_version#

sl_calendar_version_t sl_si91x_calendar_get_version (void )

Get the calendar version.

Parameters
[in]

It returns the API version of calendar.

Returns


Definition at line 580 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

Macro Definition Documentation#

SLI_ALARM_IRQHandler#

#define SLI_ALARM_IRQHandler
Value:
IRQ028_Handler

Alarm IRQ Handler.


Definition at line 48 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

SLI_MSEC_SEC_IRQHandler#

#define SLI_MSEC_SEC_IRQHandler
Value:
IRQ029_Handler

RTC IRQ Handler.


Definition at line 49 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

SLI_NVIC_ALARM#

#define SLI_NVIC_ALARM
Value:
MCU_CAL_ALARM_IRQn

Alarm NVIQ enable.


Definition at line 50 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

SLI_NVIC_MSEC_SEC#

#define SLI_NVIC_MSEC_SEC
Value:
MCU_CAL_RTC_IRQn

RTC NVIQ enable.


Definition at line 51 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

TIME_CONVERSION_ENUM#

#define TIME_CONVERSION_ENUM
Value:
typedef uint8_t name; \
enum name##_enum

Time Conversion format enum declaration.


Definition at line 55 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

RC_CLOCK_CALIBRATION_ENUM#

#define RC_CLOCK_CALIBRATION_ENUM
Value:
typedef uint8_t name; \
enum name##_enum

Time Conversion format enum declaration.


Definition at line 58 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h

RO_CLOCK_CALIBRATION_ENUM#

#define RO_CLOCK_CALIBRATION_ENUM
Value:
typedef uint8_t name; \
enum name##_enum

Time Conversion format enum declaration.


Definition at line 61 of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_calendar.h