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_rts_threshold(sl_wifi_interface_t interface, uint16_t rts_threshold)

Set the Request to Send (RTS) threshold for the specified Wi-Fi interface.

sl_status_t
sl_wifi_get_rts_threshold(sl_wifi_interface_t interface, uint16_t *rts_threshold)

Get the current Request to Send (RTS) threshold for the specified Wi-Fi interface.

sl_status_t
sl_wifi_set_mfp(sl_wifi_interface_t interface, const sl_wifi_mfp_mode_t config)

Set the Management Frame Protection (MFP) mode for the specified Wi-Fi interface.

sl_status_t
sl_wifi_get_mfp(sl_wifi_interface_t interface, sl_wifi_mfp_mode_t *config)

Get the Management Frame Protection (MFP) mode for the specified Wi-Fi interface.

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) SL_DEPRECATED_API_WISECONNECT_3_5

Set the Wi-Fi client interface listen interval.

sl_status_t
sl_wifi_set_listen_interval_v2(sl_wifi_interface_t interface, sl_wifi_listen_interval_v2_t listen_interval)

Set the Wi-Fi client interface listen interval and listen interval multiplier.

sl_status_t
sl_wifi_get_listen_interval(sl_wifi_interface_t interface, sl_wifi_listen_interval_t *listen_interval) SL_DEPRECATED_API_WISECONNECT_3_5

Get the Wi-Fi client listen interval.

sl_status_t
sl_wifi_get_listen_interval_v2(sl_wifi_interface_t interface, sl_wifi_listen_interval_v2_t *listen_interval)

Get the Wi-Fi client listen interval and listen interval multiplier.

sl_status_t
sl_wifi_update_gain_table(uint8_t band, uint8_t bandwidth, const uint8_t *payload, uint16_t payload_length) SL_DEPRECATED_API_WISECONNECT_3_5

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

sl_status_t
sl_wifi_update_su_gain_table(uint8_t band, uint8_t bandwidth, const uint8_t *payload, uint16_t payload_length, uint8_t x_offset, uint8_t y_offset)

Assign the user configurable channel gain table entries in different regions to the module from the user including 11ax SU and 11ax TB.

sl_status_t
sl_wifi_set_11ax_config(uint8_t guard_interval)

Configure the 11ax params.

sl_status_t
sl_wifi_transmit_test_start(sl_wifi_interface_t interface, const sl_wifi_transmitter_test_info_t *tx_test_info)

Start the transmit test.

sl_status_t
sl_wifi_transmit_test_stop(sl_wifi_interface_t interface)

Stop the transmit test.

sl_status_t
sl_wifi_frequency_offset(sl_wifi_interface_t interface, const sl_wifi_freq_offset_t *frequency_calibration)

Provide feedback of frequency error in KHz.

sl_status_t
sl_wifi_dpd_calibration(sl_wifi_interface_t interface, const sl_wifi_dpd_calib_data_t *dpd_calib_data)

Update Flash/EFuse DPD data.

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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

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


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

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


sl_wifi_set_rts_threshold#

sl_status_t sl_wifi_set_rts_threshold (sl_wifi_interface_t interface, uint16_t rts_threshold)

Set the Request to Send (RTS) threshold for the specified Wi-Fi interface.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

uint16_t[in]rts_threshold

RTS threshold value to set, in bytes. Valid range: 0 to 2347. A value of 0 has a special meaning: an RTS frame will precede every transmitted frame.

  • Pre-conditions:

Returns


sl_wifi_get_rts_threshold#

sl_status_t sl_wifi_get_rts_threshold (sl_wifi_interface_t interface, uint16_t * rts_threshold)

Get the current Request to Send (RTS) threshold for the specified Wi-Fi interface.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

uint16_t *[out]rts_threshold

Pointer to a variable that will receive the current RTS threshold value.

  • Pre-conditions:

Returns


sl_wifi_set_mfp#

sl_status_t sl_wifi_set_mfp (sl_wifi_interface_t interface, const sl_wifi_mfp_mode_t config)

Set the Management Frame Protection (MFP) mode for the specified Wi-Fi interface.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

const sl_wifi_mfp_mode_t[in]config

MFP configuration as identified by sl_wifi_mfp_mode_t

Note

  • This API needs to be called before sl_wifi_connect

  • This API is currently supported only in STA mode.

Returns


sl_wifi_get_mfp#

sl_status_t sl_wifi_get_mfp (sl_wifi_interface_t interface, sl_wifi_mfp_mode_t * config)

Get the Management Frame Protection (MFP) mode for the specified Wi-Fi interface.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_mfp_mode_t *[out]config

MFP configuration as identified by sl_wifi_mfp_mode_t

Note

  • This API is currently supported only in STA mode.

Returns


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_antenna_t[in]antenna

Antenna to select as identified by sl_wifi_antenna_t

  • Pre-conditions:

Returns


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_antenna_t *[out]antenna

sl_wifi_antenna_t object that contains current antenna selection.

  • Pre-conditions:

Returns


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_channel_t *[out]channel

sl_wifi_channel_t object that contains current channel information.

  • Pre-conditions:

Returns


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_channel_t[in]channel

Channel as identified by sl_wifi_channel_t

  • Pre-conditions:

Returns


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_rate_protocol_t[in]rate_protocol

802.11 protocol as identified by sl_wifi_rate_protocol_t

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


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_rate_protocol_t *[out]rate_protocol

802.11 protocol as identified by sl_wifi_rate_protocol_t

sl_wifi_rate_t *[out]mask

Data rate as identified by sl_wifi_rate_t

  • Pre-conditions:

Returns


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_listen_interval_t[in]listen_interval

sl_wifi_listen_interval_t object

  • Pre-conditions:

Returns

Note


sl_wifi_set_listen_interval_v2#

sl_status_t sl_wifi_set_listen_interval_v2 (sl_wifi_interface_t interface, sl_wifi_listen_interval_v2_t listen_interval)

Set the Wi-Fi client interface listen interval and listen interval multiplier.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_listen_interval_v2_t[in]listen_interval

sl_wifi_listen_interval_v2_t object

  • Pre-conditions:

Returns

Note

  • By default listen interval is set 1000 millisecs and listen interval multiplier is set to 1. User can call this API to overwrite the values for listen interval and listen interval multiplier. Recommended max value for listen_interval_multiplier is 10. Higher value may cause interop issues. Si91X implementation allows this API ONLY to be called before calling sl_wifi_connect(), sl_wifi_start_ap(), sl_wifi_start_wps()


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
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

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

  • Moving forward, this API will be deprecated. Instead, use the sl_wifi_get_listen_interval_v2 API. This is retained for backward compatibility.


sl_wifi_get_listen_interval_v2#

sl_status_t sl_wifi_get_listen_interval_v2 (sl_wifi_interface_t interface, sl_wifi_listen_interval_v2_t * listen_interval)

Get the Wi-Fi client listen interval and listen interval multiplier.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

sl_wifi_listen_interval_v2_t *[out]listen_interval

sl_wifi_listen_interval_v2_t object that contains the current listen interval and listen interval multiplier.

  • Pre-conditions:

Returns

Note

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


sl_wifi_update_gain_table#

sl_status_t sl_wifi_update_gain_table (uint8_t band, uint8_t bandwidth, const uint8_t * payload, uint16_t payload_length)

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

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]band

1 - 2.4 GHz

uint8_t[in]bandwidth

0 - 20 MHz

const uint8_t *[in]payload

Pass channel gain table entries for different regions in a given array format. The gain array format is as follows:
No Of Regions,
Region code,
No Of Channels,

Rate

11b Gain Value

11g Gain Value

11n Gain Value

11ax Gain Value

x

x

x

x

x

Repeat the above format for all regions codes.

uint16_t[in]payload_length

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

This function overwrites the default gain tables present in the firmware. Customers can load gain tables for 2.4 GHz-20 MHz. This is a blocking API.

Returns

  • Pre-conditions: sl_wifi_init should be called before this API.

Note

  • This API is deprecated and retained only for backward compatibility. Instead, use the sl_wifi_update_su_gain_table API. For IC parts: This function is applicable in Transmit test mode (SL_WIFI_TRANSMIT_TEST_MODE) and end-to-end modes. Use this function only in devices for which you have completed FCC, CE (ETSI), MIC (TELEC), KC (KCC) certification with your own antenna. Silicon Labs disclaims any liability for non-compliant use of this function that could breach those or any other regulatory certifications. To enforce regulatory transmit power limits (FCC, CE (ETSI), MIC (TELEC), KC (KCC)):

    • Load the region-specific maximum power values at every boot using the sl_wifi_update_gain_table() API.

    • Because the firmware does not retain this information in flash memory, the application must invoke this API at every startup.

    • The provided region-based user gain table is copied into the firmware’s region-based table.

    • The device then uses this table to cap transmit power and ensure compliance with the allowed limits. Below are the default gain tables:

    • Si917 IC (SiWx917Mxxxxx) OPNs:
      Number of regions: 4

      Region

      Number of channels

      Channel

      11b

      11g

      11n

      11ax

      FCC

      0xB

      1

      33

      24

      21

      20

      2

      34

      28

      28

      24

      3

      40

      30

      32

      30

      4

      40

      33

      36

      31

      5

      40

      35

      36

      32

      6

      40

      35

      36

      31

      7

      40

      34

      36

      30

      8

      38

      32

      36

      32

      9

      38

      34

      34

      28

      10

      34

      30

      30

      22

      11

      34

      24

      22

      20

      ETSI

      0x11

      255

      36

      36

      36

      24

      TELEC

      0x24

      2

      34

      28

      32

      24

      10

      34

      36

      36

      24

      13

      34

      26

      24

      24

      14

      36

      0

      0

      0

      KCC

      0x11

      255

      36

      36

      36

      36

For module parts: This function is applicable in Transmit test mode only. This API will return SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE unless the module is set in SL_SI91X_TRANSMIT_TEST_MODE. On boot, Worldsafe gain entries are applied by default. These values are derived by taking the minimum gains across all supported regional regulatory limit tables to ensure global compliance. During AP association, the device may automatically switch to region-specific transmit power limits based on the AP's Country IE. If the AP does not include a Country IE, the device continues to operate using the Worldsafe region settings. FCC, ISED, and NCC share a common set of gain entries. CE (ETSI), UKCA, ACMA, and RSM also share a common set of gain entries. Below are the default gain tables:

  • Si917 Module (SiWx917Yxxxxxx) OPNs:
    Number of regions: 6

    Region

    Number of channels

    Channel

    11b

    11g

    11n

    11ax

    FCC

    0x29

    1

    30

    20

    20

    18

    2

    36

    26

    26

    22

    3

    40

    30

    30

    26

    4

    40

    36

    36

    32

    7

    40

    40

    40

    36

    8

    40

    36

    34

    36

    9

    40

    34

    32

    28

    10

    36

    30

    28

    20

    11

    30

    20

    18

    16

    ETSI

    0x11

    255

    24

    28

    28

    14

    TELEC

    0x24

    1

    28

    28

    26

    16

    12

    28

    36

    36

    16

    13

    28

    26

    26

    16

    14

    28

    0

    0

    0

    KCC

    0x11

    255

    36

    36

    36

    36

    WORLDSAFE

    0x24

    1

    24

    20

    20

    14

    2

    24

    26

    26

    14

    10

    24

    28

    28

    14

    11

    24

    20

    18

    14

    SRRC

    0x24

    1

    26

    20

    20

    14

    2

    26

    26

    26

    14

    10

    26

    30

    30

    14

    13

    26

    20

    20

    14


sl_wifi_update_su_gain_table#

sl_status_t sl_wifi_update_su_gain_table (uint8_t band, uint8_t bandwidth, const uint8_t * payload, uint16_t payload_length, uint8_t x_offset, uint8_t y_offset)

Assign the user configurable channel gain table entries in different regions to the module from the user including 11ax SU and 11ax TB.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]band

1 - 2.4 GHz

uint8_t[in]bandwidth

0 - 20 MHz

const uint8_t *[in]payload

Pass channel gain table entries for different regions in a given array format. The gain array format is as follows:
No Of Regions,
Region code,
No Of Channels,

Rate

11b Gain Value

11g Gain Value

11n Gain Value

11ax(SU Gain)

11ax(TB Gain)

x

x

x

x

x

x

Repeat the above format for all regions codes. This table contains the separate gain table entries for 11ax SU and TB

uint16_t[in]payload_length

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

uint8_t[in]x_offset

Bump up offset for 11ax 56 tone RU

uint8_t[in]y_offset

Bump up offset for 11ax 106 tone RU

This function overwrites the default gain tables present in the firmware. Customers can load gain tables for 2.4 GHz-20 MHz. This is a blocking API.

Returns

  • Pre-conditions: sl_wifi_init should be called before this API.

Note

  • For IC parts: This function is applicable in Transmit test mode (SL_WIFI_TRANSMIT_TEST_MODE) and end-to-end modes. Use this function only in devices for which you have completed FCC, CE (ETSI), MIC (TELEC), KC (KCC) certification with your own antenna. Silicon Labs disclaims any liability for non-compliant use of this function that could breach those or any other regulatory certifications. To enforce regulatory transmit power limits (FCC, CE (ETSI), MIC (TELEC), KC (KCC)):

    • Load the region-specific maximum power values at every boot by using the sl_wifi_update_su_gain_table() API.

    • Because the firmware does not retain this information in flash memory, the application must invoke this API at every startup.

    • The provided region-based user gain table is copied into the firmware’s region-based table.

    • The device then uses this table to cap transmit power and ensure compliance with the allowed limits. Below are the default gain tables:

    • Si917 IC (SiWx917Mxxxxx) OPNs:
      Number of regions: 4

      Region

      Number of channels

      Channel

      11b

      11g

      11n

      11ax(SU)

      11ax(TB)

      FCC

      0xB

      1

      32

      22

      22

      20

      14

      2

      32

      26

      26

      24

      20

      3

      34

      28

      28

      26

      30

      4

      36

      34

      32

      30

      32

      5

      36

      34

      34

      32

      32

      6

      36

      36

      36

      34

      34

      7

      36

      34

      34

      32

      28

      8

      36

      32

      32

      30

      28

      9

      36

      30

      30

      28

      28

      10

      32

      28

      28

      24

      14

      11

      32

      22

      22

      20

      14

      ETSI

      0x11

      255

      34

      36

      36

      36

      24

      TELEC

      0x22

      13

      34

      38

      36

      36

      24

      14

      38

      0

      0

      0

      0

      WORLDSAFE

      0x25

      1

      32

      22

      22

      20

      14

      2

      32

      26

      26

      24

      20

      11

      32

      22

      22

      20

      14

      13

      34

      36

      36

      36

      24

      14

      38

      0

      0

      0

      0

For module parts: This function is applicable in Transmit test mode only. This API will return SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE unless the module is set in SL_SI91X_TRANSMIT_TEST_MODE. On boot, Worldsafe gain entries are applied by default. These values are derived by taking the minimum gains across all supported regional regulatory limit tables to ensure global compliance. During AP association, the device may automatically switch to region-specific transmit power limits based on the AP's Country IE. If the AP does not include a Country IE, the device continues to operate using the Worldsafe region settings. FCC, ISED, and NCC share a common set of gain entries. CE (ETSI), UKCA, ACMA, and RSM also share a common set of gain entries.

Below are the default gain tables:

  • Si917 Module (SiWx917Yxxxxxx) OPNs:
    Number of regions: 6

    Region

    Number of channels

    Channel

    11b

    11g

    11n

    11ax(SU)

    11ax(TB)

    FCC

    0x29

    1

    30

    20

    20

    18

    18

    2

    36

    26

    26

    22

    22

    3

    40

    30

    30

    26

    26

    4

    40

    36

    36

    32

    32

    7

    40

    40

    40

    36

    36

    8

    40

    36

    34

    36

    36

    9

    40

    34

    32

    28

    28

    10

    36

    30

    28

    20

    20

    11

    30

    20

    18

    16

    16

    ETSI

    0x11

    255

    24

    28

    28

    14

    14

    TELEC

    0x24

    1

    28

    28

    26

    16

    16

    12

    28

    36

    36

    16

    16

    13

    28

    26

    26

    16

    16

    14

    28

    0

    0

    0

    0

    KCC

    0x11

    255

    36

    36

    36

    36

    36

    WORLDSAFE

    0x24

    1

    24

    20

    20

    14

    14

    2

    24

    26

    26

    14

    14

    10

    24

    28

    28

    14

    14

    11

    24

    20

    18

    14

    14

    SRRC

    0x24

    1

    26

    20

    20

    14

    14

    2

    26

    26

    26

    14

    14

    10

    26

    30

    30

    14

    14

    13

    26

    20

    20

    14

    14


sl_wifi_set_11ax_config#

sl_status_t sl_wifi_set_11ax_config (uint8_t guard_interval)

Configure the 11ax params.

Parameters
TypeDirectionArgument NameDescription
uint8_t[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


sl_wifi_transmit_test_start#

sl_status_t sl_wifi_transmit_test_start (sl_wifi_interface_t interface, const sl_wifi_transmitter_test_info_t * tx_test_info)

Start the transmit test.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

const sl_wifi_transmitter_test_info_t *[in]tx_test_info

Pointer to sl_wifi_transmitter_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 continuous wave mode which user wants to switch.


sl_wifi_transmit_test_stop#

sl_status_t sl_wifi_transmit_test_stop (sl_wifi_interface_t interface)

Stop the transmit test.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

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_wifi_transmit_test_start API to observe a stable output at requested dBm level.


sl_wifi_frequency_offset#

sl_status_t sl_wifi_frequency_offset (sl_wifi_interface_t interface, const sl_wifi_freq_offset_t * frequency_calibration)

Provide feedback of frequency error in KHz.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

const sl_wifi_freq_offset_t *[in]frequency_calibration

Pointer to sl_wifi_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_wifi_freq_offset_t structure.

This is a blocking API.

  • -Pre-conditions:

Returns


sl_wifi_dpd_calibration#

sl_status_t sl_wifi_dpd_calibration (sl_wifi_interface_t interface, const sl_wifi_dpd_calib_data_t * dpd_calib_data)

Update Flash/EFuse DPD data.

Parameters
TypeDirectionArgument NameDescription
sl_wifi_interface_t[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

const sl_wifi_dpd_calib_data_t *[in]dpd_calib_data

Pointer to sl_wifi_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 error SL_STATUS_SI91X_FEATURE_NOT_AVAILABLE if used, except when in SL_WIFI_TRANSMIT_TEST_MODE mode.