What are the possible causes of the various BLE timeouts - in particular CYBLE_GATT_RSP_TO

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

cross mob
AnSa_1225656
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

I am getting a CYBLE_GATT_RSP_TO error and am unsure what conditions throw this error.  I have been unable to find documentation on the causes of the various timeout errors.

0 Likes
1 Solution

New info: Looks like it might be failing due to CyBle_GattsWriteRsp failing with Memory allocation failure.  What would cause that?

View solution in original post

0 Likes
5 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi

It seems like the device is not receiving response packet from the peer device within the maximum amount of time. Please ensure the following:

1) Both the central and peripheral devices are in specified range (with in 10 meters).

2) Call CyBleProcessEvents() atleast once in a connection interval both in peripheral as well as central side.

To ensure that there is no fault towards the hardware side, please run any one of the Cypress' code example in your hardware and ensure that this event is not triggered. After doing this test if you are getting the same error please elaborate more about your hardware.

If you are not receiving the same error with the example project, please attach a demo project reproducing the same error so that we can check it at our side.

Thanks

Ganesh

0 Likes

Thank you for your response.  If I understand correctly, the peripheral/server (Sensor where I am seeing the error), is not seeing an expected response from the the central/client (Dongle)?

Here is the basic sequence of the commands.

pastedImage_0.png

Note that the sensor and the dongle are our own BLE designs.

This all works very reliably in most cases.  Where it fails is when I am sending large amounts of L2CAP packets (streaming sensor data) at the same time.  In this case, I see the command gets to the sensor and it executes it, then it sits and times out.

The device is sitting right beside the dongle.  I have verified that CyBleProcessEvents() is called every connection interval (10ms).  I am using FreeRTOS 10.

I will check with board designer to double check that this unit is using the external antenna.

So, just to clarify, this timeout can occur when the Dongle is not sending a response to the CyBle_GattsWriteRsp message from the sensor?

0 Likes

Client will not allow me to post the code publicly.  Where can I put it for you to look at?

0 Likes

More info: Verified hardware is correct.  We have good steady L2CAP connection with no drop outs.  We have not seen any Attribute write fails except this case when the L2CAP connection is active at high data rates.

0 Likes

New info: Looks like it might be failing due to CyBle_GattsWriteRsp failing with Memory allocation failure.  What would cause that?

0 Likes