Radio#
Functions#
Start the transmit test.
Stop the transmit test.
Provide feedback of frequency error in KHz.
Set the device region.
Command the firmware to update the existing Flash/EFuse calibration data.
Read the calibration data from the Flash/EFuse storage.
Provide feedback on the error caused by the EVM offset.
Command the firmware to update the existing Flash/EFuse calibration data.
Read data from Efuse memory location.
Update Flash/EFuse DPD data.
Enable wireless radio.
Disable wireless radio.
Set the Wi-Fi listen interval for the Si91x device.
Function Documentation#
sl_si91x_transmit_test_start#
sl_status_t sl_si91x_transmit_test_start (const sl_si91x_request_tx_test_info_t * tx_test_info)
Start the transmit test.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const sl_si91x_request_tx_test_info_t * | [in] | tx_test_info | Pointer to an sl_si91x_request_tx_test_info_t structure containing the configuration for the transmit test. | 
This function starts the transmit test using the provided configuration.
This is a blocking API.
This API is relevant in PER mode
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- Before starting Continuous Wave mode, user must start Continuous mode with power and channel values that are intended to be used in Continuous Wave mode i.e. - Start Continuous mode with intended power value and channel values - Pass any valid values for rate and length. 
- Stop Continuous mode 
- Start Continuous Wave mode 
 
- If user wants to switch continuous wave mode, first need to stop the per mode and again need to give continous wave mode which user wants to switch. 
sl_si91x_transmit_test_stop#
sl_status_t sl_si91x_transmit_test_stop (void )
Stop the transmit test.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | N/A | 
This function stops the ongoing transmit test on the Si91x device.
This is a blocking API.
This API is relevant in PER mode.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- User should configure a minimum delay (approx. 10 milliseconds) before and after sl_si91x_transmit_test_start API to observe a stable output at requested dBm level. 
sl_si91x_frequency_offset#
sl_status_t sl_si91x_frequency_offset (const sl_si91x_freq_offset_t * frequency_calibration)
Provide feedback of frequency error in KHz.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const sl_si91x_freq_offset_t * | [in] | frequency_calibration | Pointer to an sl_si91x_freq_offset_t structure containing the frequency error in KHz. | 
This function provides feedback of the frequency error in KHz. The frequency error is specified using the sl_si91x_freq_offset_t structure.
This is a blocking API.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
sl_si91x_set_device_region#
sl_status_t sl_si91x_set_device_region (sl_si91x_operation_mode_t operation_mode, sl_si91x_band_mode_t band, sl_si91x_region_code_t region_code)
Set the device region.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| sl_si91x_operation_mode_t | [in] | operation_mode | Operation mode of the device, specified by sl_si91x_operation_mode_t. | 
| sl_si91x_band_mode_t | [in] | band | Operational band of the device, specified by sl_si91x_band_mode_t. | 
| sl_si91x_region_code_t | [in] | region_code | Region code to be set in the device, specified by sl_si91x_region_code_t. | 
This function sets the operational region of the Si91x device. The region is specified using the sl_si91x_region_code_t enumeration.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- In FCC-certified SiWx91x ACx modules the behavior is as follows - For FCC-certified modules, using this API will result in an SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE error unless the module is in SL_SI91X_TRANSMIT_TEST_MODE. 
- STA mode channels 1 to 11 are actively scanned and 12,13,14 are passively scanned. 
- AP mode and Concurrent mode supports only 1 to 11 channels. 
- The AP will not broadcast the Country Information Element (IE). 
- The device region for modules parts cannot be manually configured by the user. It automatically updates to align with the region of the connected AP. 
 
sl_si91x_calibration_write#
sl_status_t sl_si91x_calibration_write (sl_si91x_calibration_write_t calib_write)
Command the firmware to update the existing Flash/EFuse calibration data.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| sl_si91x_calibration_write_t | [in] | calib_write | Write calibration configuration of type sl_si91x_calibration_write_t. | 
This function commands the firmware to update the existing Flash/EFuse calibration data using the provided calibration configuration.
This is a blocking API.
- Pre-conditions: - sl_wifi_init, - sl_si91x_transmit_test_start, and- sl_si91x_frequency_offsetshould be called before this API.
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- Executing this API will overwrite calibration values in certified modules. In FCC-certified modules, this API will trigger an error SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE if used, except when in SL_SI91X_TRANSMIT_TEST_MODE mode. 
sl_si91x_calibration_read#
sl_status_t sl_si91x_calibration_read (sl_si91x_calibration_read_t target, sl_si91x_calibration_read_t * calibration_read)
Read the calibration data from the Flash/EFuse storage.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| sl_si91x_calibration_read_t | [in] | target | Specifies the storage to read the calibration data from. 
 | 
| sl_si91x_calibration_read_t * | [out] | calibration_read | Pointer to an sl_si91x_calibration_read_t structure where the read calibration data will be stored. | 
This function reads the calibration data from the specified storage (Flash or EFuse) and provides it in the calibration_read parameter.
This is a blocking API.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
sl_si91x_evm_offset#
sl_status_t sl_si91x_evm_offset (const sl_si91x_evm_offset_t * evm_offset)
Provide feedback on the error caused by the EVM offset.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const sl_si91x_evm_offset_t * | [in] | evm_offset | Pointer to an  | 
This function provides feedback on the error caused by the Error Vector Magnitude (EVM) offset. The EVM offset is specified using the sl_si91x_evm_offset_t structure.
This is a blocking API.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- In FCC-certified modules, this API will trigger an error SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE if used, except when in SL_SI91X_TRANSMIT_TEST_MODE mode. 
sl_si91x_evm_write#
sl_status_t sl_si91x_evm_write (const sl_si91x_evm_write_t * evm_write)
Command the firmware to update the existing Flash/EFuse calibration data.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const sl_si91x_evm_write_t * | [in] | evm_write | Pointer to an sl_si91x_evm_write_t structure containing the EVM calibration configuration. | 
This function commands the firmware to update the existing Flash/EFuse calibration data using the provided EVM calibration configuration.
This is a blocking API.
- Pre-conditions: - sl_wifi_init, sl_si91x_evm_offset, and sl_si91x_transmit_test_start should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- In FCC-certified modules, this API will trigger an error SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE if used, except when in SL_SI91X_TRANSMIT_TEST_MODE mode. 
sl_si91x_efuse_read#
sl_status_t sl_si91x_efuse_read (const sl_si91x_efuse_read_t * efuse_read, uint8_t * efuse_read_buf)
Read data from Efuse memory location.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const sl_si91x_efuse_read_t * | [in] | efuse_read | Pointer to an sl_si91x_efuse_read_t structure, which contains the Efuse read address offset and read data length. 
 | 
| uint8_t * | [out] | efuse_read_buf | Pointer to a buffer where the read Efuse data will be stored. | 
This function reads data from the specified Efuse memory location. The data is read into the provided buffer.
This is a blocking API.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- If a valid Efuse is not present on the device, this API returns the error SL_STATUS_SI91X_EFUSE_DATA_INVALID. 
sl_si91x_dpd_calibration#
sl_status_t sl_si91x_dpd_calibration (const sl_si91x_get_dpd_calib_data_t * dpd_calib_data)
Update Flash/EFuse DPD data.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const sl_si91x_get_dpd_calib_data_t * | [in] | dpd_calib_data | Pointer to an sl_si91x_get_dpd_calib_data_t structure containing the DPD calibration data. | 
This function updates the Flash/EFuse DPD (Digital Pre-Distortion) data using the provided DPD calibration data.
This is a blocking API.
- Pre-conditions: - sl_wifi_init and sl_si91x_transmit_test_start should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
Note
- In FCC-certified modules, this API will trigger an errorSL_STATUS_SI91X_FEATURE_NOT_AVAILABLE if used, except when in SL_SI91X_TRANSMIT_TEST_MODE mode. 
sl_si91x_enable_radio#
sl_status_t sl_si91x_enable_radio (void )
Enable wireless radio.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | N/A | 
This function enables the wireless radio on the Si91x device.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
sl_si91x_disable_radio#
sl_status_t sl_si91x_disable_radio (void )
Disable wireless radio.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | N/A | 
This function disables the wireless radio on the Si91x device.
- Pre-conditions: - sl_wifi_init should be called before this API. 
 
Returns
- sl_status_t. See Status Codes and WiSeConnect Status Codes for details. 
sl_si91x_set_listen_interval#
void sl_si91x_set_listen_interval (uint32_t listen_interval)
Set the Wi-Fi listen interval for the Si91x device.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint32_t | [in] | listen_interval | Wi-Fi listen interval in milli seconds. | 
This function sets the Wi-Fi listen interval for the Si91x device. The listen interval determines how often the device wakes up to listen for beacon frames from the access point.