Peripheral Device interrogation sometimes gets stuck on CYBLE_EVT_HCI_STATUS | Cypress Semiconductor
Peripheral Device interrogation sometimes gets stuck on CYBLE_EVT_HCI_STATUS
I have a PRoC (CYBLE-022001-00) project with two significant problems:
1. Interrogation frequently gets hung with the state machine apparently getting stuck on CYBLE_EVT_HCI_STATUS
I am tracking the BLE event / event param on an LCD during connect. I see it cycle through 44:4, 4:4, then 4c:4 when successful. But when it gets 'stuck', the central (an iOS or Android device) is unable to discover services and the state machine is on 4:4, which I believe is CYBLE_EVT_HCI_STATUS with an error code. Why would this be, and how can I make it recoverable?
I can easily replicate it by connecting, staying connected for a few seconds to make sure discovery completes and characteristics are being read and written to, then disconnecting. I wait a bit to ensure it returns to advertising (26:0) then reconnect. About every 3rd or 4th time it will get hung up like this.
2. Following disconnect, it does not always properly detect disconnect and re-start advertising. I have even had to power cycle the hardware to get it working again.
Has anyone else run into these issues? I do have current support tickets with Cypress as well, so I will report back if I hear anything from them.