Scanning#

Functions#

sl_status_t
sl_wifi_start_scan(sl_wifi_interface_t interface, const sl_wifi_ssid_t *optional_ssid, const sl_wifi_scan_configuration_t *configuration)

Initiates a Wi-Fi scan operation on the specified interface, supporting advanced and background scan types.

sl_status_t
sl_wifi_get_stored_scan_results(sl_wifi_interface_t interface, sl_wifi_extended_scan_result_parameters_t *extended_scan_parameters)

Returns the stored scan results of a detailed scan in the user provided scan results array.

sl_status_t
sl_wifi_stop_scan(sl_wifi_interface_t interface)

Stops an ongoing Wi-Fi scan operation on the specified interface, including background scanning.

sl_status_t
sl_wifi_set_advanced_scan_configuration(const sl_wifi_advanced_scan_configuration_t *configuration)

Configures advanced scan settings for a Wi-Fi interface and enables instant scan capability.

sl_status_t
sl_wifi_get_advanced_scan_configuration(sl_wifi_advanced_scan_configuration_t *configuration)

Retrieves the current advanced scan configuration parameters from the Wi-Fi interface.

sl_status_t
sl_wifi_wait_for_scan_results(sl_wifi_scan_result_t **scan_result_array, uint32_t max_scan_result_count)

Wait for current scan to complete and store the results in the provided array.

Function Documentation#

sl_wifi_start_scan#

sl_status_t sl_wifi_start_scan (sl_wifi_interface_t interface, const sl_wifi_ssid_t * optional_ssid, const sl_wifi_scan_configuration_t * configuration)

Initiates a Wi-Fi scan operation on the specified interface, supporting advanced and background scan types.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[in]optional_ssid

Optional SSID of type sl_wifi_ssid_t can be used to scan for a particular Wi-Fi network

[in]configuration

sl_wifi_scan_configuration_t

  • Pre-conditions:

Returns

Note

  • For 911x, advanced scan results are not populated to user. Default Active Channel time is 100 milliseconds. If the user wants to modify the time, sl_wifi_set_advanced_scan_configuration can be called. If the scan_type is not ADV_SCAN, then the time is for foreground scan. Otherwise, it is used for background scanning. For more details, refer to sl_wifi_scan_type_t. If the user wants to enable Passive Scanning, user should set the scan_type to SL_WIFI_SCAN_TYPE_PASSIVE. If the user wants to enable Low Power (LP) mode in Passive Scan, user should enable lp_mode in sl_wifi_scan_configuration_t. The default channel time for passive scanning is set to 400 milliseconds. If user wants to modify the time, users can call the sl_si91x_set_timeout API to modify the time as per their requirements. Use the SL_WIFI_SCAN_TYPE_EXTENDED to obtain the scan results that exceed the SL_WIFI_MAX_SCANNED_AP. In this scan type, the number of scan results is not restricted; it is only limited by the amount of dynamic memory that the host can provide. Default Passive Scan Channel time is 400 milliseconds. If the user wants to modify the time, sl_si91x_set_timeout can be called. In case of SL_WIFI_SCAN_TYPE_EXTENDED scan type, use sl_wifi_get_stored_scan_results() API to get the scan results; after the scan status callback is received. This API is not applicable for ADV_SCAN scan_type in AP mode This API is supported in AP mode, to scan for - to trigger this, send a scan after sl_wifi_start_ap() API with the SL_WIFI_SCAN_TYPE_ACTIVE scan_type.


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

sl_wifi_get_stored_scan_results#

sl_status_t sl_wifi_get_stored_scan_results (sl_wifi_interface_t interface, sl_wifi_extended_scan_result_parameters_t * extended_scan_parameters)

Returns the stored scan results of a detailed scan in the user provided scan results array.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

[inout]extended_scan_parameters

A pointer to a structure of type sl_wifi_extended_scan_result_parameters_t, where the scan results are stored.

  • Pre-conditions:

Returns

Note

  • This API will only hold scan results if sl_wifi_start_scan is called with scan type as SL_WIFI_SCAN_TYPE_EXTENDED. These results are stored until another call to sl_wifi_start_scan is made with scan type as SL_WIFI_SCAN_TYPE_EXTENDED.


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

sl_wifi_stop_scan#

sl_status_t sl_wifi_stop_scan (sl_wifi_interface_t interface)

Stops an ongoing Wi-Fi scan operation on the specified interface, including background scanning.

Parameters
[in]interface

Wi-Fi interface as identified by sl_wifi_interface_t

  • Pre-conditions: This API is applicable only for client interface. sl_wifi_init should be called before this API.

Returns

Note

  • For 911x, sl_wifi_stop_scan is ONLY supported for advanced scan.


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

sl_wifi_set_advanced_scan_configuration#

sl_status_t sl_wifi_set_advanced_scan_configuration (const sl_wifi_advanced_scan_configuration_t * configuration)

Configures advanced scan settings for a Wi-Fi interface and enables instant scan capability.

Parameters
[in]configuration

Set advanced scan configuration as identified by sl_wifi_advanced_scan_configuration_t

sl_wifi_advanced_scan_configuration_t object that contains the advanced scan configuration.

  • Pre-conditions:

Returns

Note

  • Advance scan is not applicable in AP mode.


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

sl_wifi_get_advanced_scan_configuration#

sl_status_t sl_wifi_get_advanced_scan_configuration (sl_wifi_advanced_scan_configuration_t * configuration)

Retrieves the current advanced scan configuration parameters from the Wi-Fi interface.

Parameters
[out]configuration

sl_wifi_advanced_scan_configuration_t object that contains the current advanced scan configuration.

This function should be used after successful Wi-Fi connection.

  • Pre-conditions:

Returns


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

sl_wifi_wait_for_scan_results#

sl_status_t sl_wifi_wait_for_scan_results (sl_wifi_scan_result_t ** scan_result_array, uint32_t max_scan_result_count)

Wait for current scan to complete and store the results in the provided array.

Parameters
[in]scan_result_array

Array of sl_wifi_scan_result_t objects to store the scan results.

[in]max_scan_result_count

The maximum number of scan result objects that can fit in the scan result array.

  • Pre-conditions:

    • This function also returns when the scan result array is full.

  • Pre-conditions:

    • Once the scan result array is full, any further scan results will be lost.

Returns

Note

  • This API is not supported in the current release.


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