Radio#

Functions#

sl_status_t
sl_si91x_transmit_test_start(const sl_si91x_request_tx_test_info_t *tx_test_info)

Start the transmit test.

sl_status_t

Stop the transmit test.

sl_status_t
sl_si91x_frequency_offset(const sl_si91x_freq_offset_t *frequency_calibration)

Provide feedback of frequency error in KHz.

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.

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.

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.

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.

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.

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.

sl_status_t
sl_si91x_dpd_calibration(const sl_si91x_get_dpd_calib_data_t *dpd_calib_data)

Update Flash/EFuse DPD data.

sl_status_t

Enable wireless radio.

sl_status_t

Disable wireless radio.

void
sl_si91x_set_listen_interval(uint32_t listen_interval)

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.

Parameters
[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:

Returns

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.


Definition at line 746 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.

Parameters
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:

Returns

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.


Definition at line 769 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.

Parameters
[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:

Returns


Definition at line 789 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.

Parameters
[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:

Returns

Note

  • In FCC-certified SiWx91x ACx modules the behavior is as follows

    1. 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.

    2. STA mode channels 1 to 11 are actively scanned and 12,13,14 are passively scanned.

    3. AP mode and Concurrent mode supports only 1 to 11 channels.

    4. The AP will not broadcast the Country Information Element (IE).

    5. 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.


Definition at line 820 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.

Parameters
[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_offset should be called before this API.

Returns

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.


Definition at line 846 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.

Parameters
[in]target

Specifies the storage to read the calibration data from.

  • 0: READ_FROM_EFUSE (read calibration data from the EFuse)

  • 1: READ_FROM_FLASH (read calibration data from the Flash)

[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:

Returns


Definition at line 872 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.

Parameters
[in]evm_offset

Pointer to an sl_si91x_evm_offset_t structure containing the EVM offset.

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:

Returns

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.


Definition at line 896 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.

Parameters
[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.

Returns

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.


Definition at line 919 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)

Read data from Efuse memory location.

Parameters
[in]efuse_read

Pointer to an sl_si91x_efuse_read_t structure, which contains the Efuse read address offset and read data length.

  • Efuse Read Address Offset: Specifies the starting byte address in the Efuse memory to be read. Valid range: 144 to 255. For more information refer to sl_si91x_efuse_read_t.

  • Read Data Length: Specifies the number of bytes to read from the given offset. Please refer to sl_si91x_efuse_read_t for the length in bytes which can be read from each offset.

[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:

Returns

Note

  • If a valid Efuse is not present on the device, this API returns the error SL_STATUS_SI91X_EFUSE_DATA_INVALID.


Definition at line 946 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.

Parameters
[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.

Returns

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.


Definition at line 968 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.

Parameters
N/A

This function enables the wireless radio on the Si91x device.

  • Pre-conditions:

Returns


Definition at line 982 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.

Parameters
N/A

This function disables the wireless radio on the Si91x device.

  • Pre-conditions:

Returns


Definition at line 998 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.

Parameters
[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.


Definition at line 1010 of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h