diff options
author | Sven Gothel <[email protected]> | 2020-07-02 03:05:46 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2020-07-02 03:05:46 +0200 |
commit | d3910d9e4c8b188961c56e88395a87fccd80a044 (patch) | |
tree | 8d3b773723f4d2c799bd2a1104e6e387bafa2abd /examples/direct_bt_scanner10 | |
parent | b57ce9cff420cdb1b307c5f7f92151831a4ce8bf (diff) |
Support BDADDR_LE_RANDOM (p1): Add BLERandomAddressType, distinguish HCIAddressType..., Move EUI48 into direct_bt namespace
Add BLERandomAddressType
Exposed in DBTDevice and BluetoothDevice C++ and Java.
See "BT Core Spec v5.2: Vol 6 LE, Part B Link Layer Specification: 1.3.2 Random device Address"
+++
Distinguish HCIAddressType -> HCILEPeerAddressType + HCILEOwnAddressType
As used for HCIHandler::le_create_conn(..)
See "BT Core Spec v5.2: Vol 4, Part E Host Controller Interface (HCI) Functionality: 7.8.12: LE Create Connection command"
DBTDevice::connectLE(..) translates its own BDAddressType -> HCILEPeerAddressType
using BLERandomAddressType (BDAddressType, address).
Currently only HCILEPeerAddressType::STATIC_PUBLIC is allowed
and passed through.
+++
Move EUI48 into direct_bt namespace
Diffstat (limited to 'examples/direct_bt_scanner10')
-rw-r--r-- | examples/direct_bt_scanner10/dbt_scanner10.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/examples/direct_bt_scanner10/dbt_scanner10.cpp b/examples/direct_bt_scanner10/dbt_scanner10.cpp index ed346bb1..6a275553 100644 --- a/examples/direct_bt_scanner10/dbt_scanner10.cpp +++ b/examples/direct_bt_scanner10/dbt_scanner10.cpp @@ -124,8 +124,8 @@ class MyAdapterStatusListener : public AdapterStatusListener { (void)timestamp; if( BDAddressType::BDADDR_LE_PUBLIC != device->getAddressType() - /** && BDAddressType::BDADDR_LE_RANDOM != device->getAddressType() */ ) { - fprintf(stderr, "****** FOUND__-2: Skip non public LE %s\n", device->toString(true).c_str()); + && BLERandomAddressType::STATIC_PUBLIC != device->getBLERandomAddressType() ) { + fprintf(stderr, "****** FOUND__-2: Skip 'non public' or 'random static public' LE %s\n", device->toString(true).c_str()); return; } if( !isDeviceProcessing( device->getAddress() ) && |