Bonding with iOS and Android help

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
MiCh_2098196
Level 2
Level 2
10 sign-ins 5 sign-ins First like given

Hello Cypress forums,

I am having an incredibly difficult time understanding the pairing and bonding process differences between iOS and android. I am using an iPhone 6S and a Galaxy S10 for development.

I would greatly appreciate it if someone could provide a second set of eyes and comb through my code to see if I am handling bluetooth management events correctly. The main issue I am having right now is getting the iPhone to pair more than once to the app we have written (I don't have access to the app)(it will pair once, after a fresh firmware upload to the device, but after that the app will not recognize the device again), but we can pair more than once using the Android equivalent of the app.

I fear that I am approaching the NVRAM storing of addresses and link keys incorrectly. I am also honestly not sure if it has anything / everything to do with the DCT either (does it?).

I believe my sticking point with this project is in the wiced_bt_dev_add_device_to_address_resolution_db function; I don't know if I am using the function correctly, as my result always returns 8113, which is not particularly revealing.

I have attached the .c, as well as some PuTTY output. The output shows these steps:

1. power up device

2. pair to android

3. unpair from android

4. pair to android

5. unpair from android

6. power down device

7. power up device

8. pair to iphone

9. unpair from iphone

10. Unable to pair with the iphone again

Thank you so much for looking. I am open to investigating any and all leads.

Michael

(Removed attached firmware for privacy reasons) Message was edited by: Michael Chin

0 Likes
1 Solution
4 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi MiCh_2098196 ,

Could you please confirm which Cypress chip / Eval board you are using ?

What is the WICED SDK version ?

What is the peer app ? Is it a custom mobile app you developed or any existing one ?

Regards,
Anjana

Hello Anjana,

Thank you for your response and apologies for the lack of critical information. I am developing on the CYBT-343026-01 chip; WICED Studio 6.4, 20706-A2 Designer; Not sure which SDK version I am using.

The app is a custom mobile app that implements ble using FlutterBlue.

My C is not the strongest, so my understanding of structs, unions and pointers may be causing some issues. Please review that I am using these in the proper context!

Thank you,

Michael

0 Likes

HI MiCh_2098196 ,

I am sorry , I missed to review your code. Glad to know that you were able to get the resources.

You are correct , you can refer the WICED Academy files for the implementation.

One more example for security options available here: CYW20706 – BLE Secure Data Hub

Regards,

Anjana

0 Likes