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 needs 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. If the user needs to enable Passive Scanning, user should set the scan_type to SL_WIFI_SCAN_TYPE_PASSIVE. If the user needs to enable Low Power (LP) mode in Passive Scan, user needs to enable lp_mode in sl_wifi_scan_configuration_t. 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 needs 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.


Definition at line 447 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 will be 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 467 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 483 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 will contain the advanced scan configuration.

  • Pre-conditions:

Returns


Definition at line 498 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 will contain the current advanced scan configuration.

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

  • Pre-conditions:

Returns


Definition at line 513 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 533 of file components/protocol/wifi/inc/sl_wifi.h