[ English | 简体中文 ]
Bluetooth BLE Scanning API
The openvela Bluetooth BLE scanning interface is used to discover nearby BLE devices and receive broadcast data.
Header file: #include "bt_le_scan.h"
openvela Implementation Notes
- Scan modes: Supports passive scanning and active scanning
- Filters: Supports filtering scan results by name, address, UUID, and other criteria
- Callback notifications: Scan results are returned asynchronously via callback functions
Synchronous Interfaces
bt_le_stop_scan
void bt_le_stop_scan(bt_instance_t* ins, bt_scanner_t* scanner);
Stop BLE scanning.
Parameters:
scannerScanner instance.insBluetooth client instance.
Returns:
None.
bt_le_scan_is_supported
bool bt_le_scan_is_supported(bt_instance_t* ins);
Query whether BLE scanning is supported.
Parameters:
insBluetooth client instance.
Returns:
Returns true if BLE scanning is supported, false otherwise.
Asynchronous Interfaces
bt_le_start_scan_async
bt_status_t bt_le_start_scan_async(bt_instance_t* ins, const scanner_callbacks_t* scan_cbs, bt_le_start_scan_cb_t cb, void* userdata);
Start BLE scanning (asynchronous version).
Parameters:
insBluetooth client instance.scan_cbsScanner callback function set.cbCompletion callback function.userdataUser data.
bt_le_start_scan_settings_async
bt_status_t bt_le_start_scan_settings_async(bt_instance_t* ins, ble_scan_settings_t* settings, const scanner_callbacks_t* scan_cbs, bt_le_start_scan_cb_t cb, void* userdata);
Start BLE scanning with custom settings (asynchronous version).
Parameters:
insBluetooth client instance.settingsScan settings.scan_cbsScanner callback function set.cbCompletion callback function.userdataUser data.
bt_le_start_scan_with_filters_async
bt_status_t bt_le_start_scan_with_filters_async(bt_instance_t* ins, ble_scan_settings_t* settings, ble_scan_filter_t* filter, const scanner_callbacks_t* scan_cbs, bt_le_start_scan_cb_t cb, void* userdata);
Start BLE scanning with filters (asynchronous version).
Parameters:
insBluetooth client instance.settingsScan settings.filterFilter criteria.scan_cbsScanner callback function set.cbCompletion callback function.userdataUser data.
bt_le_stop_scan_async
bt_status_t bt_le_stop_scan_async(bt_instance_t* ins, bt_scanner_t* scanner, bt_le_stop_scan_cb_t cb, void* userdata);
Stop BLE scanning (asynchronous version).
Parameters:
insBluetooth client instance.scannerScanner instance.cbCompletion callback function.userdataUser data.
bt_le_scan_is_supported_async
bt_status_t bt_le_scan_is_supported_async(bt_instance_t* ins, bt_bool_cb_t cb, void* userdata);
Query whether BLE scanning is supported (asynchronous version).
Parameters:
insBluetooth client instance.cbCompletion callback function.userdataUser data.