I am writing an application in Qt that runs on the computer and interacts with a nRF51422 via BLE. Now I have noticed, that I have to tell the framework, which address type is used.
When I try to connect to the nRF51 with Qt set to PublicAddress, I simply get a timeout.
I wanted to establish a connection to the nRF51 and scan for the services to determine if the device is the right one. But then I need to know what type of address I am dealing with.
Is there any algorithm to check if a BLE address is public or random?
In the TI forums I read that the two MSBs differ for the three types of random addresses. But is there a similar code to distinguish a random address from a public address?
Hi Andi G.,
Luckily all that is explained in BT SIG specification. E.g. in v4.2 spec see Volume 6 (Low Energy) Part B (Link Layer) section 1.3 (Device Address) and Volume 3 (Host) Part C (GAP) section…
I've amended my answer above. You can also find description of these TxAdd/RxAdd flags in BT SIG specification v4.2 Volume 6 (Low Energy) Part B (Link Layer) section 2.3 (Advertising Channel PDU)…
Wow! Hi endnode, where did you get these pictures about the packets?
Is it from a book? Can you give me a link??
Added : I really appreciate your help. Thanks a Million!!!