Calendar#

Introduction#

The Calendar application manages dates, events, alarms, and reminders within hardware constraints. This section provides a brief overview of building such an application.

Configuration#

The Calendar provides three types of triggers: Second, Millisecond, and Alarm.

To set up a calendar in the si91x, use the sl_calendar_clock_t structure. It is mandatory to call sl_si91x_calendar_calibration_init function before calling RO clock calibration or RC clock calibration function.

For more detailed information on configuring available parameters, see the respective peripheral example README document.

Usage#

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, following the implementation flow below:

  1. sl_si91x_calendar_init - Initializes the calendar module.

  2. sl_si91x_calendar_build_datetime_struct - Builds the datetime structure.

  3. sl_si91x_calendar_set_date_time - Sets the date and time.

  4. sl_si91x_calendar_deinit - Deinitialize the calendar module.

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)

This API is no longer supported due to the restriction on peripheral drivers to configuring clocks.

sl_status_t
sl_si91x_calendar_set_date_time(sl_calendar_datetime_config_t *config)

To configure and initialize Calendar (that is, the RTC clock).

sl_status_t
sl_si91x_calendar_get_date_time(sl_calendar_datetime_config_t *config)

To fetch the current date and time of an existing Calendar that is, RTC clock.

sl_status_t
sl_si91x_calendar_rcclk_calibration(clock_calibration_config_t *clock_calibration_config)

To calibrate the RC clock.

sl_status_t
sl_si91x_calendar_roclk_calibration(clock_calibration_config_t *clock_calibration_config)

To calibrate the RO clock.

sl_status_t

To register the callback for a one-millisecond trigger and enable it.

sl_status_t

To register the callback for a one-second trigger and enable it.

sl_status_t

To register the callback for an alarm trigger and enable it.

sl_status_t

To deregister the callback for one millisecond trigger and disable it.

sl_status_t

To deregister the callback for the one-second trigger and disable it.

sl_status_t

To deregister the callback for the alarm trigger and disable it.

sl_status_t
sl_si91x_calendar_set_alarm(sl_calendar_datetime_config_t *alarm)

To set the date and time of a new alarm in RTC.

sl_status_t
sl_si91x_calendar_get_alarm(sl_calendar_datetime_config_t *alarm)

To 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)

To 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)

To convert a Unix timestamp to an NTP timestamp.

sl_status_t
sl_si91x_calendar_convert_ntp_time_to_unix_time(uint32_t ntp_time, uint32_t *time)

To convert NTP timestamp to Unix timestamp.

boolean_t

To return the state of the one millisecond trigger of RTC (enabled or disabled).

boolean_t

To check the state of the one-second trigger of RTC.

boolean_t

To check the state of the alarm trigger of RTC.

sl_status_t
sl_si91x_calendar_convert_unix_time_to_calendar_datetime(uint32_t unix_time, sl_calendar_datetime_config_t *cal_date_time)

Convert Unix timestamp to Calendar RTC timestamp.

sl_status_t
sl_si91x_calendar_convert_calendar_datetime_to_unix_time(sl_calendar_datetime_config_t *cal_date_time, uint32_t *unix_time)

Convert Calendar RTC timestamp to Unix timestamp.

__STATIC_INLINE void

Starts the Calendar RTC.

__STATIC_INLINE void

To stop the Calendar RTC.

__STATIC_INLINE void

To initialize the calibration for Calendar clocks.

__STATIC_INLINE void

To clear the one millisecond trigger.

__STATIC_INLINE void

To clear the one-second trigger.

__STATIC_INLINE void

To clear the alarm trigger.

__STATIC_INLINE void

To initialize calendar operation.

__STATIC_INLINE void

To de-initialize calendar operation.

To get the calendar version.

Macros#

#define
SLI_ALARM_IRQHandler IRQ028_Handler

Alarm IRQ Handler.

#define
SLI_MSEC_SEC_IRQHandler IRQ029_Handler

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_ENUM (name)

Time Conversion format enum declaration.

#define
RC_CLOCK_CALIBRATION_ENUM (name)

Time Conversion format enum declaration.

#define
RO_CLOCK_CALIBRATION_ENUM (name)

Time Conversion format enum declaration.

Typedef Documentation#

sl_calendar_clock_t#

typedef AON_CLK_T sl_calendar_clock_t

Renaming clock type enum.


sl_calendar_datetime_config_t#

typedef RTC_TIME_CONFIG_T sl_calendar_datetime_config_t

Renaming datetime structure.


sl_calendar_month_t#

typedef RTC_MONTH_T sl_calendar_month_t

Renaming month structure.


sl_calendar_days_of_week_t#

typedef RTC_DAY_OF_WEEK_T sl_calendar_days_of_week_t

Renaming days of week structure.


calendar_callback_t#

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

Typedef for the function pointer of the callback function.


Function Documentation#

TIME_CONVERSION_ENUM#

TIME_CONVERSION_ENUM (time_conversion_enum )

Enumeration to represent time conversion format.

Parameters
TypeDirectionArgument NameDescription
time_conversion_enumN/A

RC_CLOCK_CALIBRATION_ENUM#

RC_CLOCK_CALIBRATION_ENUM (rc_clock_calibration_enum )

Enumeration to represent the different RC clock calibration configurations.

Parameters
TypeDirectionArgument NameDescription
rc_clock_calibration_enumN/A

RO_CLOCK_CALIBRATION_ENUM#

RO_CLOCK_CALIBRATION_ENUM (ro_clock_calibration_enum )

Enumeration to represent different RO clock calibration configurations.

Parameters
TypeDirectionArgument NameDescription
ro_clock_calibration_enumN/A

sl_si91x_calendar_set_configuration#

sl_status_t sl_si91x_calendar_set_configuration (sl_calendar_clock_t clock_type)

This API is no longer supported due to the restriction on peripheral drivers to configuring clocks.

Parameters
TypeDirectionArgument NameDescription
sl_calendar_clock_t[in]clock_type

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

To configure and initialize Calendar (that is, the RTC clock).

This API is no longer supported due to the restriction on peripheral drivers to configure clock.

Returns

  • status, error code as follows:

    • SL_STATUS_OK - return ok to support backward compatibility.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_set_date_time#

sl_status_t sl_si91x_calendar_set_date_time (sl_calendar_datetime_config_t * config)

To configure and initialize Calendar (that is, the RTC clock).

Parameters
TypeDirectionArgument NameDescription
sl_calendar_datetime_config_t *[in]config

Pointer to the Date Configuration Structure (sl_calendar_datetime_config_t).

Sets the date and time of the Calendar RTC. The input parameters include a date-time structure, with the following members:

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-3)

  • Year (uint8_t) Year (0-99)

  • 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 (uint8_t) Day (1-31)

  • Hour (uint8_t) Hour (0-23)

  • Minute (uint8_t) Minute (0-59)

  • Second (uint8_t) Second (0-59)

  • Milliseconds (uint16_t) Milliseconds (0-999)

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_get_date_time#

sl_status_t sl_si91x_calendar_get_date_time (sl_calendar_datetime_config_t * config)

To fetch the current date and time of an existing Calendar that is, RTC clock.

Parameters
TypeDirectionArgument NameDescription
sl_calendar_datetime_config_t *[in]config

Pointer to the Date Configuration Structure (sl_calendar_datetime_config_t).

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

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-3)

  • Year (uint8_t) Year (0-99)

  • 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 (uint8_t) Day (1-31)

  • Hour (uint8_t) Hour (0-23)

  • Minute (uint8_t) Minute (0-59)

  • Second (uint8_t) Second (0-59)

  • Milliseconds (uint16_t) Milliseconds (0-999)

Returns

  • status Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_rcclk_calibration#

sl_status_t sl_si91x_calendar_rcclk_calibration (clock_calibration_config_t * clock_calibration_config)

To calibrate the RC clock.

Parameters
TypeDirectionArgument NameDescription
clock_calibration_config_t *[in]clock_calibration_config

Pointer to the clock calibration structure (clock_calibration_config_t).

This API is no longer supported due to the restriction on peripheral drivers to configure clock.

Returns

  • status, error code as follows:

    • SL_STATUS_OK - return ok to support backward compatibility.

For more information on the status documentation, please refer to SL STATUS DOCUMENTATION.


sl_si91x_calendar_roclk_calibration#

sl_status_t sl_si91x_calendar_roclk_calibration (clock_calibration_config_t * clock_calibration_config)

To calibrate the RO clock.

Parameters
TypeDirectionArgument NameDescription
clock_calibration_config_t *[in]clock_calibration_config

Pointer to the clock calibration structure (clock_calibration_config_t).

This API is no longer supported due to the restriction on peripheral drivers to configure clock.

Returns

  • status, error code as follows:

    • SL_STATUS_OK - return ok to support backward compatibility.

For more information on the status documentation, please refer to SL STATUS DOCUMENTATION.


sl_si91x_calendar_register_msec_trigger_callback#

sl_status_t sl_si91x_calendar_register_msec_trigger_callback (calendar_callback_t callback)

To register the callback for a one-millisecond trigger and enable it.

Parameters
TypeDirectionArgument NameDescription
calendar_callback_t[in]callback

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

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

Returns

  • Status code indicating the results:

    • SL_STATUS_OK - Success.

    • SL_STATUS_BUSY - The callback is already registered. Deregister the previous callback before registering a new one.

    • SL_STATUS_NULL_POINTER - The parameter is a null pointer.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_register_sec_trigger_callback#

sl_status_t sl_si91x_calendar_register_sec_trigger_callback (calendar_callback_t callback)

To register the callback for a one-second trigger and enable it.

Parameters
TypeDirectionArgument NameDescription
calendar_callback_t[in]callback

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

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

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_BUSY - The callback is already registered. Deregister the previous callback before registering a new one.

    • SL_STATUS_NULL_POINTER - The parameter is a null pointer.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_register_alarm_trigger_callback#

sl_status_t sl_si91x_calendar_register_alarm_trigger_callback (calendar_callback_t callback)

To register the callback for an alarm trigger and enable it.

Parameters
TypeDirectionArgument NameDescription
calendar_callback_t[in]callback

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

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

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_BUSY - The callback is already registered. Deregister the previous callback before registering a new one.

    • SL_STATUS_NULL_POINTER - The parameter is a null pointer.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_unregister_msec_trigger_callback#

sl_status_t sl_si91x_calendar_unregister_msec_trigger_callback (void )

To deregister the callback for one millisecond trigger and disable it.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Note

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

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_FAIL - The function failed.

For more information on the status documentation, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_unregister_sec_trigger_callback#

sl_status_t sl_si91x_calendar_unregister_sec_trigger_callback (void )

To deregister the callback for the one-second trigger and disable it.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Note

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

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_FAIL - Function failed.

For more information on status codes, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_unregister_alarm_trigger_callback#

sl_status_t sl_si91x_calendar_unregister_alarm_trigger_callback (void )

To deregister the callback for the alarm trigger and disable it.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Note

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

Returns

  • Status code indicating the results:

    • SL_STATUS_OK - Success.

    • SL_STATUS_FAIL - Function failed.

For more information on status codes, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_set_alarm#

sl_status_t sl_si91x_calendar_set_alarm (sl_calendar_datetime_config_t * alarm)

To set the date and time of a new alarm in RTC.

Parameters
TypeDirectionArgument NameDescription
sl_calendar_datetime_config_t *[in]alarm

Pointer to the Date Configuration Structure (sl_calendar_datetime_config_t).

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

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-3)

  • Year (uint8_t) Year (0-99)

  • 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 (uint8_t) Day (1-31)

  • Hour (uint8_t) Hour (0-23)

  • Minute (uint8_t) Minute (0-59)

  • Second (uint8_t) Second (0-59)

  • Milliseconds (uint16_t) Milliseconds (0-999)

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

For more information on status codes, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_get_alarm#

sl_status_t sl_si91x_calendar_get_alarm (sl_calendar_datetime_config_t * alarm)

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

Parameters
TypeDirectionArgument NameDescription
sl_calendar_datetime_config_t *[in]alarm

Pointer to the Date Configuration Structure (sl_calendar_datetime_config_t).

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

  • date Pointer to the Date Configuration Structure

  • Century (uint8_t) Century (0-3)

  • Year (uint8_t) Year (0-99)

  • 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 (uint8_t) Day (1-31)

  • Hour (uint8_t) Hour (0-23)

  • Minute (uint8_t) Minute (0-59)

  • Second (uint8_t) Second (0-59)

  • Milliseconds (uint16_t) Milliseconds (0-999)

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

For more information on status codes, see SL STATUS DOCUMENTATION.


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)

To build the structure for date-time configuration.

Parameters
TypeDirectionArgument NameDescription
sl_calendar_datetime_config_t *[in]date

Pointer to the Date Configuration Structure (sl_calendar_datetime_config_t)

uint8_t[in]Century

(uint8_t) Century (0-3)

uint8_t[in]Year

(uint8_t) Year (0-99)

sl_calendar_month_t[in]Month

(enum) Month from the sl_calendar_month_t enum

sl_calendar_days_of_week_t[in]DayOfWeek

(enum) Day of Week from the sl_calendar_days_of_week_t enum

uint8_t[in]Day

(uint8_t) Day (1-31)

uint8_t[in]Hour

(uint8_t) Hour (0-23)

uint8_t[in]Minute

(uint8_t) Minute (0-59)

uint8_t[in]Second

(uint8_t) Second (0-59)

uint16_t[in]Milliseconds

(uint16_t) Milliseconds (0-999)

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

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

    • SL_STATUS_NULL_POINTER - The parameter is a null pointer.

For more information on status codes, see SL STATUS DOCUMENTATION.


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)

To convert a Unix timestamp to an NTP timestamp.

Parameters
TypeDirectionArgument NameDescription
uint32_t[in]time

Unix timestamp (uint32_t)

uint32_t *[out]ntp_time

Pointer to a variable to store the NTP timestamp (uint32_t)

This function converts a given Unix timestamp to an NTP timestamp. The Unix timestamp is provided as an input parameter, and the resulting NTP timestamp is stored in the variable pointed to by ntp_time.

Returns

  • Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

    • SL_STATUS_NULL_POINTER - The parameter is a null pointer.

For more information on status codes, see SL STATUS DOCUMENTATION.


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)

To convert NTP timestamp to Unix timestamp.

Parameters
TypeDirectionArgument NameDescription
uint32_t[in]ntp_time

NTP timestamp.

uint32_t *[out]time

Variable to store the Unix timestamp.

This function converts a given NTP timestamp to a Unix timestamp.

Returns

  • sl_status_t Status code indicating the result:

    • SL_STATUS_OK - Success.

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid.

    • SL_STATUS_NULL_POINTER - The parameter is a null pointer.

For more information on status codes, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_is_msec_trigger_enabled#

boolean_t sl_si91x_calendar_is_msec_trigger_enabled (void )

To return the state of the one millisecond trigger of RTC (enabled or disabled).

Parameters
TypeDirectionArgument NameDescription
voidN/A

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

Returns

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


sl_si91x_calendar_is_sec_trigger_enabled#

boolean_t sl_si91x_calendar_is_sec_trigger_enabled (void )

To check the state of the one-second trigger of RTC.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function returns the state of the one-second trigger of RTC (enabled or disabled). If enabled, it returns true. If disabled, it returns false.

Returns

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


sl_si91x_calendar_is_alarm_trigger_enabled#

boolean_t sl_si91x_calendar_is_alarm_trigger_enabled (void )

To check the state of the alarm trigger of RTC.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function returns the state of the alarm trigger of RTC (enabled or disabled). If enabled, it returns true. If disabled, it returns false.

Returns

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


sl_si91x_calendar_convert_unix_time_to_calendar_datetime#

sl_status_t sl_si91x_calendar_convert_unix_time_to_calendar_datetime (uint32_t unix_time, sl_calendar_datetime_config_t * cal_date_time)

Convert Unix timestamp to Calendar RTC timestamp.

Parameters
TypeDirectionArgument NameDescription
uint32_t[in]unix_time

(uint32_t) Unix timestamp

sl_calendar_datetime_config_t *[in]cal_date_time

(sl_calendar_datetime_config_t *) Pointer to the Date Configuration Structure

Timezone is not part of Calendar, assumes and converts in GMT format

Returns

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

    • SL_STATUS_OK - Success

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid

For more information on status codes, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_convert_calendar_datetime_to_unix_time#

sl_status_t sl_si91x_calendar_convert_calendar_datetime_to_unix_time (sl_calendar_datetime_config_t * cal_date_time, uint32_t * unix_time)

Convert Calendar RTC timestamp to Unix timestamp.

Parameters
TypeDirectionArgument NameDescription
sl_calendar_datetime_config_t *[in]cal_date_time

(sl_calendar_datetime_config_t *) Pointer to the Date Configuration Structure

uint32_t *[in]unix_time

(uint32_t *) Pointer to the Unix timestamp variable

Timezone is not part of Calendar, converts in GMT format

Returns

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

    • SL_STATUS_OK - Success

    • SL_STATUS_INVALID_PARAMETER - Parameters are invalid

    • SL_STATUS_INVALID_RANGE - Parameters are invalid

For more information on status codes, see SL STATUS DOCUMENTATION.


sl_si91x_calendar_rtc_start#

__STATIC_INLINE void sl_si91x_calendar_rtc_start (void )

Starts the Calendar RTC.

Parameters
TypeDirectionArgument NameDescription
voidN/A

sl_si91x_calendar_rtc_stop#

__STATIC_INLINE void sl_si91x_calendar_rtc_stop (void )

To stop the Calendar RTC.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function stops the RTC clock.


sl_si91x_calendar_calibration_init#

__STATIC_INLINE void sl_si91x_calendar_calibration_init (void )

To initialize the calibration for Calendar clocks.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function initiates the calibration for Calendar clocks. It is mandatory to call this function before calling RO clock calibration or RC clock calibration function.


sl_si91x_calendar_clear_msec_trigger#

__STATIC_INLINE void sl_si91x_calendar_clear_msec_trigger (void )

To clear the one millisecond trigger.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function clears the one millisecond trigger. It is generally called in the IRQ handler.

  • Pre-conditions:

    • The one millisecond trigger must be set and the IRQ handler must be configured.


sl_si91x_calendar_clear_sec_trigger#

__STATIC_INLINE void sl_si91x_calendar_clear_sec_trigger (void )

To clear the one-second trigger.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function clears the one-second trigger. It is generally called in the IRQ handler.

  • Pre-conditions:

    • The one-second trigger must be set and the IRQ handler must be configured.


sl_si91x_calendar_clear_alarm_trigger#

__STATIC_INLINE void sl_si91x_calendar_clear_alarm_trigger (void )

To clear the alarm trigger.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function clears the alarm trigger. It is generally called in the IRQ handler.

  • Pre-conditions:

    • The alarm must be set and the IRQ handler must be configured.


sl_si91x_calendar_init#

__STATIC_INLINE void sl_si91x_calendar_init (void )

To initialize calendar operation.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function powers up the RTC domain and starts the calendar clock.


sl_si91x_calendar_deinit#

__STATIC_INLINE void sl_si91x_calendar_deinit (void )

To de-initialize calendar operation.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function powers down the RTC domain and stops the calendar clock.


sl_si91x_calendar_get_version#

sl_calendar_version_t sl_si91x_calendar_get_version (void )

To get the calendar version.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function returns the API version of the calendar.

Returns