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.
Command the firmware to read data from the 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.
[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 Additional 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.
672
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_transmit_test_stop#
sl_status_t sl_si91x_transmit_test_stop (void )
Stop the transmit test.
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 Additional 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.
695
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[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 Additional Status Codes for details.
715
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[in] | operation_mode | Operation mode of the device, specified by sl_si91x_operation_mode_t. |
[in] | band | Operational band of the device, specified by sl_si91x_band_mode_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 Additional Status Codes for details.
Note
In FCC-certifed module the behavior is as follows
Region configuration is not supported and if triggered will return error SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE.
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).
745
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[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
, andsl_si91x_frequency_offset
should be called before this API.
Returns
sl_status_t. See Status Codes and Additional 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.
771
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[in] | target | Specifies the storage to read the calibration data from.
|
[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 Additional Status Codes for details.
797
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[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 Additional 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.
821
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[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 Additional 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.
844
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_efuse_read#
sl_status_t sl_si91x_efuse_read (const sl_si91x_efuse_read_t * efuse_read, uint8_t * efuse_read_buf)
Command the firmware to read data from the Efuse memory location.
[in] | efuse_read | Pointer to an |
[out] | efuse_read_buf | Pointer to a buffer where the read Efuse data will be stored. |
This function commands the firmware to read 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 Additional Status Codes for details.
867
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[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 Additional 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.
889
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_enable_radio#
sl_status_t sl_si91x_enable_radio (void )
Enable wireless radio.
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 Additional Status Codes for details.
903
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_disable_radio#
sl_status_t sl_si91x_disable_radio (void )
Disable wireless radio.
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 Additional Status Codes for details.
919
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
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.
[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.
931
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h