PSoC 4 BLE gets stuck in CyBle_GapGetBondedDevicesList() after OTA update

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

cross mob
TeHe_281121
Level 3
Level 3

Hi All,

I have a project using the up-gradable BLE stack and BLE and OTA have been working fine... up to this point.

I have recently made quite a few changes to the BLE Profile, and now I when doing an OTA update, the device updates, and gets stuck in the function CyBle_GapGetBondedDevicesList(&bondedDevList), in AfterImageUpdate().

The new firmware runs fine if programmed with the programmer, and itself can be updated OTA and works fine.

Any ideas? I need to be able to update devices already in the field.

TIA

0 Likes
3 Replies
Alakananda_BG
Moderator
Moderator
Moderator
50 likes received 250 sign-ins 250 replies posted

Hi TIA,

Can you let us know the result of this API - CyBle_GapGetBondedDevicesList(&bondedDevList).

Can you also let us know the changes you made in the BLE profile.

Can you attach the demo project which reproduces this issue so that we can debug at our end.

Regards

Alakananda

Alakananda
0 Likes

Hi Alakananda,

Thanks for your response. FYI, TIA == thanks in advance

1. CyBle_GapGetBondedDevicesList(&bondedDevList) does not return.
As it is a Cypress library, I don't have source code to inspect the function or compile a local copy of the function.

I haven't been able to attach with the debugger as it appears to reset.

I have determined that CyBle_GapGetBondedDevicesList(&bondedDevList) is the offending function by placing debug print statements before and after functions.

2. "BLE Profile Origional.zip" attached is the first version, and "BLE Profile.zip" is the new one.

3. I will create a dummy project to repeat the problem and post when done.

Regards

Terrence

0 Likes

Hi,

Could you please elaborate under what circumstances you are actually reproducing the issue? If you can attach a zip of the projects where you are able to reproduce the issue, it would be helpful to debug.

Please try calling the API CyBle_GapRemoveOldestDeviceFromBondedList(); before the function call  AfterImageUpdate(); and check if you are seeing the issue.

I tried to reproduce the issue at our side but could not succeed in doing so.

Thanks and regards

Ganesh

0 Likes