The way of detect other Bluetooth devices is making a scan looking advertisements. There are some parameters can be configured to allow scanning in the desired way. These parameters are: Scan Interval, Scan Window and Scanning mode.
In BLE terminology, the Scan Interval is the duration of time between two consecutive times that the scanner wakes up to receive the advertising messages. This parameter is defined in units of 0.625ms and has a range between 4 and 16384. By default is set to 189, which is equivalent to 118.125ms.
The Scan Window parameter defines how long to scan at each interval. This parameter is defined in units of 0.625ms and has a range between 4 and 16384. By default is set to 29, which is equivalent to 18.125ms. The Scan Window parameter must be equal or smaller than the Scan Interval.
There are two scanning mode: Active and Passive.
In the passive scanning, the BLE radio just listens to other devices advertisements. When one of these advertisements is detected, the radio reports the discovered device and all the advertisement packet. The advertisement contains information like discoverability and connectability modes, TX power level, MAC address of the device and/or application data.
In the active scanning the radio will request more information once an advertisement is received, and the advertiser will answer with information like friendly name and supported profiles.
Bluetooth Framework allows you to change the scan parameters when you use the wclBluetoothLeBeaconWatcher class. Its Start method takes the ScanningMode, ScanInterval and ScanWindow as its parameters. If the Start method returns one of the errors listed below then simple call this method with default scan parameters.