~aleteoryx/muditaos

ref: 831184c850bcb329c243465bbbefafffbfc6a61a muditaos/module-bluetooth/doc/bt_scan.md -rw-r--r-- 1007 bytes
831184c8 — Przemyslaw Brudny Merge remote-tracking branch 'origin/stable' 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