Class BLEScan
BLEScan Class
Description
A class used for managing BLE scanning settings.
Members
Public Constructors |
No public constructor is available as this class is intended to be a
singleton class. You can get a pointer to this class using
BLEDevice::configScan |
Public Methods |
|
BLEScan::updateScanParams |
Update the current BLE
advertisement settings to the
lower Bluetooth stack |
BLEScan::startScan |
Start a BLE scan |
BLEScan::stopScan |
Stop a BLE scan |
BLEScan::setScanMode |
Set the BLE scanning mode |
BLEScan::setScanInterval |
Set the BLE scanning interval |
BLEScan::setScanWindow |
Set the BLE scanning window |
BLEScan::setScanDuplicateFilter |
Set the BLE scan duplicate filter |
BLEScan::scanInProgress |
Check if a scan is currently in
progress |
BLEScan::printScanInfo |
Print out scanned information |
BLEScan::updateScanParams
Description
Update the lower Bluetooth stack with the current scan settings.
Syntax
void updateScanParams(void);
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
Example Code
Example: BLEScan
Notes and Warnings
Stop any scans in progress first before using this function.
BLEScan::startScan
Description
Start BLE scanning.
Syntax
void startScan();
void startScan(uint32_t scanDuration_ms);
Parameters
scanDuration: BLE scan will stop after scanDuration milliseconds.
Returns
The function returns nothing.
Example Code
Example: BLEScan
Notes and Warnings
Set the scan parameters first before starting a scan. BLE scans will
occur continuously for the duration set with
BLEDevice::setScanWindow() and will repeat with a time interval set
with BLEDevice::setScanInterval(). Call this member function without
an argument to start scanning until BLEDevice::stopScan() is called.
BLEScan::stopScan
Description
Stop BLE scanning.
Syntax
void stopScan(void);
Parameters
The function requires no input paramter.
Returns
The function returns nothing.
BLEScan::setScanMode
Description
Set the BLE scan mode.
Syntax
void setScanMode(uint8_t scanMode);
Parameters
scanMode: GAP_SCAN_MODE_PASSIVE for passive scanning,
GAP_SCAN_MODE_ACTIVE for active scanning
Returns
The function returns nothing.
Example Code
Example: BLEScan
Notes and Warnings
Active scanning will request for scan response packets after
discovering an advertising device. Passive scanning will only capture
advertising data packets.
BLEScan::setScanInterval
Description
Set the BLE scan interval.
Syntax
void setScanInterval(uint16_t scanInt_ms);
Parameters
scanInt_ms: scan interval in milliseconds. Value range of 3 to 10240.
Returns
The function returns nothing.
Example Code
Example: BLEScan
Notes and Warnings
A BLE scan will repeat with a time interval set with this member
function.
BLEScan::setScanWindow
Description
Set the BLE scan window.
Syntax
void setScanWindow(uint16_t scanWindow_ms);
Parameters
scanWindow_ms: scan window in milliseconds. Value range of 3 to 10240.
Returns
The function returns nothing.
Example Code
Example: BLEScan
Notes and Warnings
A BLE scan will scan continuously for a window duration set with this
member function. The scan window should be less than or equal to the
scan interval.
BLEScan::setScanDuplicateFilter
Description
Set the scan duplicate filter.
Syntax
void setScanDuplicateFilter(bool dupeFilter);
Parameters
dupeFilter: TRUE to enable duplicate filtering.
Returns
The function returns nothing.
Notes and Warnings
Enabling duplicate filters will ignore scan results for devices
already discovered previously.
BLEScan::scanInProgress
Description
Set the scan duplicate filter.
Syntax
bool scanInProgress(void);
Parameters
The function requires no input paramter.
Returns
TRUE if BLE scanning is in progress.
BLEScan::printScanInfo
Description
Parse and print out scanned information.
Syntax
void printScanInfo(T_LE_CB_DATA* p_data);
Parameters
p_data: pointer to scan data of type T_LE_CB_DATA*
Returns
The function returns nothing.
Example Code
Example: BLEScan
Notes and Warnings
Use this member function to parse the various fields of received
advertisement data packets and print the results out to the serial
monitor.