This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC26X2R1: slow service discovery

Guru 18595 points
Part Number: LAUNCHXL-CC26X2R1

Tool/software:

Hi,

I have a BLE device acting as peripheral.  It is based on your SimpleBLEPeripheral example.

SDK v7.40.

The thing is working well.

A laptop or a raspberry connects to it and enumerates its services. Queries it for a bit of data, about 15 KB. Disconnects.

However, the connection stage is quite slow. I think it is because of BLE service discovery, which takes about 5 seconds every time.

In fact, the application connects (you can see it because we have an UART attached to the BLE device, which outputs the connection event and its parameters).

Then, everything stalls for 5 seconds or so.

Then the application starts retrieving the data from the BLE device running SimpleBLEPeripheral.

Is there a way to speed up this connection and service enumeration stage from the BLE device firmware point of view?

Thanks

  • Hello Kazola,

    Do you have a sniffer log you can share? From what you mention the discovery of the gatt table is what takes most of the time not the connection establishment process itself correct? What are your connection parameters (conn interval for instance) and how big is your gatt table? If you use a different central device such as a phone or Btool (included in the SDK) do you see the same latency (5s approx)?

    Based on this we could try to instrument different pieces of the code with GPIOs writes to check the latency between events using a logic analyzer.

    BR,

    David.