Core#
Functions#
Get the saved thread specific firmware status value.
Sets the Real Time Clock (RTC) of the module.This is a blocking API.
Retrieves the current time from the module's Real Time Clock (RTC).This is a blocking API.
Secure handshake.
Si91X specific set join feature bitmap configuration.
Si91X specific get join feature bitmap configuration.
This API is used to set different module timeouts.
Si91x specific set timeout.
This function allows the Network Processor (NWP) to write content to the common flash from M4.
Sends a command to read data from the NWP flash memory of the SI91x wireless device.
Signals the occurrence of an assertion in the firmware.
Retrieves TA RAM log/dump via Si91x UART/UART2.
Get/retrieve the firmware version currently available on the SiWx91x device.
Return the firmware image size from firmware image file, this is a non-blocking API.
Set configuration to NWP.
Function Documentation#
sl_si91x_get_saved_firmware_status#
static sl_status_t sl_si91x_get_saved_firmware_status (void )
Get the saved thread specific firmware status value.
N/A |
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
85
of file components/device/silabs/si91x/wireless/inc/sl_si91x_core_utilities.h
sl_si91x_set_rtc_timer#
sl_status_t sl_si91x_set_rtc_timer (const sl_si91x_module_rtc_time_t * timer)
Sets the Real Time Clock (RTC) of the module.This is a blocking API.
[in] | timer | Pointer to an sl_si91x_module_rtc_time_t structure that contains the RTC time to be set. |
Pre-conditions:
The sl_wifi_init() API must be called prior to this API.
The SL_SI91X_CUSTOM_FEAT_RTC_FROM_HOST bit must be enabled in the Custom Feature Bitmap during the sl_wifi_init() process.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
Note
Ensure that the Real-Time Clock (RTC) timer is configured to enable certificate validation.
260
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_get_rtc_timer#
sl_status_t sl_si91x_get_rtc_timer (sl_si91x_module_rtc_time_t * response)
Retrieves the current time from the module's Real Time Clock (RTC).This is a blocking API.
[out] | response | Pointer to an sl_si91x_module_rtc_time_t structure where the RTC's current time will be stored. |
Pre-conditions:
The sl_si91x_set_rtc_timer() API must be called to set the RTC time before attempting to retrieve it.
The SL_SI91X_CUSTOM_FEAT_RTC_FROM_HOST bit must be enabled in the Custom Feature Bitmap during the sl_wifi_init() process to allow RTC time setting and retrieval from the host.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
273
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_m4_ta_secure_handshake#
sl_status_t sl_si91x_m4_ta_secure_handshake (uint8_t sub_cmd_type, uint8_t input_len, const uint8_t * input_data, uint8_t output_len, const uint8_t * output_data)
Secure handshake.
[in] | sub_cmd_type | Specifies the Sub command type for the secure handshake. |
[in] | input_len | Input data is a pointer that contains the information used during a secure handshake. |
[in] | input_data | Specifies the length of input data. |
[in] | output_len | Specifies the length of output data. |
[in] | output_data | Pointer to store the response data after the secure handshake process. |
This is a blocking API.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
588
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_set_join_configuration#
sl_status_t sl_si91x_set_join_configuration (sl_wifi_interface_t interface, uint8_t join_feature_bitmap)
Si91X specific set join feature bitmap configuration.
[in] | interface | sl_wifi_interface_t Selected interface. |
[in] | join_feature_bitmap | Join feature bitmap configuration. One of values from Join Feature Bitmap |
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
Note
By default SL_SI91X_JOIN_FEAT_LISTEN_INTERVAL_VALID bitmap is enabled. User can call this API before calling sl_wifi_connect, sl_wifi_start_ap, sl_wifi_start_wps to overwrite the join feature bitmap
608
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_get_join_configuration#
sl_status_t sl_si91x_get_join_configuration (sl_wifi_interface_t interface, uint8_t * join_feature_bitmap)
Si91X specific get join feature bitmap configuration.
[in] | interface | sl_wifi_interface_t Selected interface. |
[out] | join_feature_bitmap | join feature bitmap configuration. One of values from Join Feature Bitmap |
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
Note
By default SL_SI91X_JOIN_FEAT_LISTEN_INTERVAL_VALID bitmap is enabled.
622
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_configure_timeout#
sl_status_t sl_si91x_configure_timeout (sl_si91x_timeout_type_t timeout_type, uint16_t timeout_value)
This API is used to set different module timeouts.
[in] | timeout_type | It is used to identify which timeout type to be set. The possible values can be sl_si91x_timeout_type_t |
[in] | timeout_value | timeout value to be set. The time resolution depends on timeout_type. |
Pre-conditions:
This API should be called after sl_wifi_init
Note
After a successful IP configuration, Gratuitous ARP is used as the periodic WLAN Keep-Alive packet with the configured keep_alive_timeout interval.
If there is no IP configuration, the NULL Data Packets is used as the WLAN Keep-Alive packet.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
643
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_set_timeout#
void sl_si91x_set_timeout (const sl_si91x_timeout_t * timeout_config)
Si91x specific set timeout.
[in] | timeout_config | Timeout configuration of type sl_si91x_timeout_t. |
This function is used to set active channel scan timeout, authentication association timeout and keep alive timeout of module. Returns
None
Note
This API should ONLY be called before sl_wifi_init and repeated call to this API will overwrite timeout values stored in SDK, will be applied on next call to sl_wifi_init.
654
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_command_to_write_common_flash#
sl_status_t sl_si91x_command_to_write_common_flash (uint32_t write_address, const uint8_t * write_data, uint16_t write_data_length, uint8_t flash_sector_erase_enable)
This function allows the Network Processor (NWP) to write content to the common flash from M4.
[in] | write_address |
|
[in] | write_data |
|
[in] | write_data_length |
|
[in] | flash_sector_erase_enable |
|
It's a blocking API. Returns
sl_status_t. Refer to https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
716
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_command_to_read_common_flash#
sl_status_t sl_si91x_command_to_read_common_flash (uint32_t read_address, size_t length, uint8_t * output_buffer)
Sends a command to read data from the NWP flash memory of the SI91x wireless device.
[in] | read_address | The address in the NWP flash memory to read from. The address should range from 0 to (20K-1). |
[in] | length | The number of bytes to read from the NWP flash memory. |
[out] | output_buffer | Pointer to the buffer where the data will be. |
This is a blocking API. This function is a command to the SI91x wireless device to read data from the NWP flash memory at the specified address. The read data is stored in the provider's output_data buffer. Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
733
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_assert#
sl_status_t sl_si91x_assert (void )
Signals the occurrence of an assertion in the firmware.
N/A |
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
761
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_get_ram_log#
sl_status_t sl_si91x_get_ram_log (uint32_t address, uint32_t length)
Retrieves TA RAM log/dump via Si91x UART/UART2.
[in] | address | Address in Si91x module. |
[in] | length |
|
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
773
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_get_firmware_version#
sl_status_t sl_si91x_get_firmware_version (sl_si91x_firmware_version_t * version)
Get/retrieve the firmware version currently available on the SiWx91x device.
[out] | version | sl_si91x_firmware_version_t object that contains the version string. |
This is a blocking API.
Pre-conditions:
sl_wifi_init should be called before this API.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
904
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_get_firmware_size#
sl_status_t sl_si91x_get_firmware_size (void * buffer, uint32_t * fw_image_size)
Return the firmware image size from firmware image file, this is a non-blocking API.
[in] | buffer | Buffer pointing to firmware image file. |
[out] | fw_image_size | Size of the firmware image passed in the input buffer param. The value returned in this param is valid only if this API returns SL_STATUS_OK(0). |
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
916
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_set_nwp_config_request#
sl_status_t sl_si91x_set_nwp_config_request (sl_si91x_nwp_configuration_t nwp_config)
Set configuration to NWP.
[in] | nwp_config | Configuration as identified by sl_si91x_nwp_configuration_t. Possible values for config.code are defined below:
|
The configuration value can be set based on the code element of sl_si91x_nwp_configuration_t structure.
Pre-conditions:
sl_wifi_init should be called before this API.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/4.1/common/api/group-status for details.
938
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h