Radio#

Functions#

sl_status_t
sl_wifi_get_max_tx_power(sl_wifi_interface_t interface, sl_wifi_max_tx_power_t *max_tx_power)

Get the maximum Wi-Fi transmit power.

sl_status_t
sl_wifi_set_max_tx_power(sl_wifi_interface_t interface, sl_wifi_max_tx_power_t max_tx_power)

Set the maximum Wi-Fi transmit power.

sl_status_t
sl_wifi_set_antenna(sl_wifi_interface_t interface, sl_wifi_antenna_t antenna)

Set the Wi-Fi antenna for an interface.

sl_status_t
sl_wifi_get_antenna(sl_wifi_interface_t interface, sl_wifi_antenna_t *antenna)

Get the Wi-Fi antenna for an interface.

sl_status_t
sl_wifi_get_channel(sl_wifi_interface_t interface, sl_wifi_channel_t *channel)

Get the current channel for the given Wi-Fi interface.

sl_status_t
sl_wifi_set_channel(sl_wifi_interface_t interface, sl_wifi_channel_t channel)

Set the channel for the given Wi-Fi Access Point interface.

sl_status_t
sl_wifi_set_transmit_rate(sl_wifi_interface_t interface, sl_wifi_rate_protocol_t rate_protocol, sl_wifi_rate_t mask)

Set the Wi-Fi transmit rate for the given 802.11 protocol on the specified Wi-Fi interface.

sl_status_t
sl_wifi_get_transmit_rate(sl_wifi_interface_t interface, sl_wifi_rate_protocol_t *rate_protocol, sl_wifi_rate_t *mask)

Get the Wi-Fi transmit rate for the given 802.11 protocol on the specified Wi-Fi interface.

sl_status_t
sl_wifi_set_listen_interval(sl_wifi_interface_t interface, sl_wifi_listen_interval_t listen_interval)

Set the Wi-Fi client interface listen interval.

sl_status_t
sl_wifi_get_listen_interval(sl_wifi_interface_t interface, sl_wifi_listen_interval_t *listen_interval)

Get the Wi-Fi client listen interval.

sl_status_t
sl_wifi_update_gain_table(uint8_t band, uint8_t bandwidth, uint8_t *payload, uint16_t payload_len)

Assign the user configurable channel gain values in different regions to the module from user.

sl_status_t
sl_wifi_set_11ax_config(uint8_t guard_interval)

Configure the 11ax params.

Function Documentation#

sl_wifi_get_max_tx_power#

sl_status_t sl_wifi_get_max_tx_power (sl_wifi_interface_t interface, sl_wifi_max_tx_power_t * max_tx_power)

Get the maximum Wi-Fi transmit power.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[out]max_tx_power

A variable that contains current maximum transmit power as identified by by sl_wifi_max_tx_power_t.

  • Pre-conditions:

Returns

Note

  • This function gets the transmit power for a particular radio interface: SL_WIFI_2_4GHZ_INTERFACE.


Definition at line 214 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_set_max_tx_power#

sl_status_t sl_wifi_set_max_tx_power (sl_wifi_interface_t interface, sl_wifi_max_tx_power_t max_tx_power)

Set the maximum Wi-Fi transmit power.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[in]max_tx_power

Max transmission power as identified by sl_wifi_max_tx_power_t

Returns

Note

  • This function sets the transmit power for a particular radio interface: SL_WIFI_2_4GHZ_INTERFACE. Eg: Setting transmit power for client interface at 2.4 GHz will also set transmit power of the AP interface at 2.4 GHz.

  • The effective transmit power is subject to regional and device limitations. If the specified transmit power exceeds the maximum supported value for that region, the transmission occurs at the maximum supported transmit power.


Definition at line 232 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_set_antenna#

sl_status_t sl_wifi_set_antenna (sl_wifi_interface_t interface, sl_wifi_antenna_t antenna)

Set the Wi-Fi antenna for an interface.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[in]antenna

Antenna to select as identified by sl_wifi_antenna_t

  • Pre-conditions:

Returns


Definition at line 247 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_get_antenna#

sl_status_t sl_wifi_get_antenna (sl_wifi_interface_t interface, sl_wifi_antenna_t * antenna)

Get the Wi-Fi antenna for an interface.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[out]antenna

sl_wifi_antenna_t object that contains current antenna selection.

  • Pre-conditions:

Returns


Definition at line 262 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_get_channel#

sl_status_t sl_wifi_get_channel (sl_wifi_interface_t interface, sl_wifi_channel_t * channel)

Get the current channel for the given Wi-Fi interface.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[out]channel

sl_wifi_channel_t object that contains current channel information.

  • Pre-conditions:

Returns


Definition at line 277 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_set_channel#

sl_status_t sl_wifi_set_channel (sl_wifi_interface_t interface, sl_wifi_channel_t channel)

Set the channel for the given Wi-Fi Access Point interface.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[in]channel

Channel as identified by sl_wifi_channel_t

  • Pre-conditions:

Returns


Definition at line 292 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_set_transmit_rate#

sl_status_t sl_wifi_set_transmit_rate (sl_wifi_interface_t interface, sl_wifi_rate_protocol_t rate_protocol, sl_wifi_rate_t mask)

Set the Wi-Fi transmit rate for the given 802.11 protocol on the specified Wi-Fi interface.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[in]rate_protocol

802.11 protocol as identified by sl_wifi_rate_protocol_t

[in]mask

Data rate as identified by sl_wifi_rate_t

  • Pre-conditions:

    • sl_wifi_init should be called before this API.

    • In AP mode, this API should be called before sl_net_wifi_ap_up. This configured data rate is passed as part of the AP configuration while bringing up the AP interface.

    • In Wi-Fi client mode, this API should be called after sl_wifi_connect.

Returns

Note

  • Only 1 and 2 Mbps rates are allowed in channel 14.


Definition at line 315 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_get_transmit_rate#

sl_status_t sl_wifi_get_transmit_rate (sl_wifi_interface_t interface, sl_wifi_rate_protocol_t * rate_protocol, sl_wifi_rate_t * mask)

Get the Wi-Fi transmit rate for the given 802.11 protocol on the specified Wi-Fi interface.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[out]rate_protocol

802.11 protocol as identified by sl_wifi_rate_protocol_t

[out]mask

Data rate as identified by sl_wifi_rate_t

  • Pre-conditions:

Returns


Definition at line 334 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_set_listen_interval#

sl_status_t sl_wifi_set_listen_interval (sl_wifi_interface_t interface, sl_wifi_listen_interval_t listen_interval)

Set the Wi-Fi client interface listen interval.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[in]listen_interval

sl_wifi_listen_interval_t object

  • Pre-conditions:

Returns

Note


Definition at line 354 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_get_listen_interval#

sl_status_t sl_wifi_get_listen_interval (sl_wifi_interface_t interface, sl_wifi_listen_interval_t * listen_interval)

Get the Wi-Fi client listen interval.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[out]listen_interval

sl_wifi_listen_interval_t object that contains the current listen interval.

  • Pre-conditions:

Returns

Note

  • By default, the listen interval is set to 1000 millisecs.


Definition at line 371 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_update_gain_table#

sl_status_t sl_wifi_update_gain_table (uint8_t band, uint8_t bandwidth, uint8_t * payload, uint16_t payload_len)

Assign the user configurable channel gain values in different regions to the module from user.

Parameters
[in]band

1 - 2.4 GHz

[in]bandwidth


0 - 20 MHz

[in]payload

Pass channel gain values for different regions in a given array format.

[in]payload_len

Max payload length (table size) in 2.4 GHz is 128 bytes.

  • Pre-conditions:

    • This method is used for overwriting default gain tables that are present in firmware.

  • Pre-conditions:

    • Customer can load gain tables for 2.4 GHz-20 MHz.

  • Pre-conditions:

    • This is a blocking API.

  • Pre-conditions:

Returns

Note

    1. This frame must be used only by customers who have done FCC/ETSI/TELEC/KCC certification with their own antenna. Silicon Labs is not liable for inappropriate usage of this frame that may result in violation of FCC/ETSI/TELEC/KCC or any certifications.

    2. Internally, firmware maintains two tables: Worldwide table, and Region-based table. Worldwide table is populated by the firmware with maximum power values that the chip can transmit and meet target specs like EVM. Region-based table has a default gain value set.

    3. When certifying with user antenna, the Region has to be set to Worldwide and sweep the power from 0 to 21 dBm. Arrive at a max power level that will pass certifications, especially band-edge.

    4. The FCC/ETSI/TELEC/KCC maximum power level should be loaded in an end-to-end mode via WLAN User Gain table. This has to be called done for every boot-up as this information is not saved inside the flash. Region-based user gain table sent by the application is copied onto the Region-based table. SoC uses this table in FCC/ETSI/TELEC/KCC to limit the power and to not violate the allowed limits.

    5. For Worldwide region, the firmware uses the Worldwide table for Tx. For other regions (FCC/ETSI/TELEC/KCC), the firmware uses the min value out of the Worldwide & Region-based table for Tx. Also, there will be part to part variation across the chips. Offsets that are estimated during the flow of manufacture will be applied as correction factor during normal mode of operation.

    6. In a 2.4 GHz band, 40 MHz is not supported.

    7. Executing this API overwrites calibration values in certified modules.

    8. In FCC-certified modules, this API triggers an error SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE if used, except when in SL_SI91X_TRANSMIT_TEST_MODE mode.


Definition at line 408 of file components/protocol/wifi/inc/sl_wifi.h

sl_wifi_set_11ax_config#

sl_status_t sl_wifi_set_11ax_config (uint8_t guard_interval)

Configure the 11ax params.

Parameters
[in]guard_interval

Period of time delta between two packets in wireless transmission. Valid values : 0 - 3 (0 = 8 us, 1 = 16 us, 2 = 32 us, 3 = 64 us).

This is a blocking API.

Returns


Definition at line 421 of file components/protocol/wifi/inc/sl_wifi.h