~aleteoryx/muditaos

ref: 6d61aabbec9efe5725f9bcb8ba7a5c2d0724adb0 muditaos/module-bluetooth/doc/bt_scan.md -rw-r--r-- 1007 bytes
6d61aabb — Jakub Pyszczak [EGD-6514] HSP volume control 4 years ago

#Bluetooth scan

To be able to send data between devices it is necessary to pair the devices, and to know the physical address of the BT device, there is a need to perform devices scan.

#Principle of operation

Bluetooth scan works underneath the ServiceBluetooth - it is done on the middle layer, in the GAP profile interface. When scan request is executed, GAP performs the scan and sends scanned devices to the ApplicationSettings. In case when the BT module has discovered a device without a name, it will try to fetch the device name in another request. After the name-fetching is complete, the ServiceBluetooth sends back the device to the application.

#Scan flow (user point of view)

  • send BluetoothMessage(BluetoothMessage::Request::Scan) to the ServiceBluetooth
  • for each scanned device receive BluetoothScanResultMessage
  • process the device
  • send BluetoothMessage(BluetoothMessage::Request::StopScan) to the ServiceBluetooth to stop the scan.

bt_scan