I’ve worked through some examples on bluetooth and have been able to pair with my Android Galaxy S10 phone without issue
Here is what works:
pairing with AUTO, LEGACY_ONLY, and LESC_ONLY all work
Pairing IOCaps of NONE and DISPLAY_ONLY both work
Connecting either my own android app or LightBlue Explorer and then finding the bonded device and reading or writing characteristics
Here is what is not working:
close and reopen either my android app or LightBlue Explorer and try to work with the device a 2nd time
If I go into android bluetooth settings and unpair, then repair the argon both my example application and LightBlue Explorer will work again exactly once.
Any ideas on what might be happening?
On pairing, i see that bonding is set to 0, is that a problem?
Interesting thought but no power-cycling the Argon does not change anything.
I really think that pairing indicating event.payload.status.bonded = false is a clue to the problem.
I get different results when I changed the android app to lookup the Argon as a bluetooth device by mac address instead of retrieving it by name as a bonded device, In this case the characteristic is getting calls to the receive callback but the peer is not indicating it is paired.
Has anyone else developed a BLE app with an Argon and paired it with a phone in a way that does not produce this problem?
Thanks for the tip @Colleen this is just a learning project so it can certainly wait.
Before I experiment with device restore using USB, this sounds like some kind of recovery for a corrupted device and I do not think that is happening here.
What would be helpful here is some documentation in relation to bluetooth bonding answering 3 questions:
Is bonding supported?
If it is supported, how does the persistence work?
A short example of bonding would be nice
Assuming that bonding is not supported, what is the benefit of pairing?