cancel
Showing results for 
Search instead for 
Did you mean: 

How to increase the number of packets sent over BLE in a single connection interval?

abbas14
Associate II

Hi there,

I came across several articles that mention that the number of packets sent in a connection interval is one of the major parameters limiting the maximum throughput achievable over a Bluetooth connection. I also learned that Bluetooth 4.2 and above allow the master to send multiple packets in a single connection interval, and that it is controllable by the master itself. However, I could not find any significant information about how to configure/increase the number of packets sent in a single connection interval in the STM32WB series.

It would be really great if someone could guide me towards having a better understanding of the same.

3 REPLIES 3
Vyacheslav
Senior II

Hi.

From API side you can`t to do enything because this is the job of the stack.

But you need to know an one moment: if you use notification on slave side or write without responce on master side, and try to send many packets wery quickly, than stack will send them as fast as possible: and several packets per interval may be send. But if you use indication on slave side or write request on master side, the stack will send only 1 packet per connection interval.

Best regards,

Vyacheslav.

Yes, I completely agree with you about this being the job of the stack. And since the stack for the STM32WB family is provided only in the form of compiled binaries and not as source codes, I would request ST tech guys to share some insights about the same, whether such functionality is supported by the ST provided stack or not. Making the application intervene to ensure maximum number of packets to be sent in a single connection interval is a very inefficient approach. This must be handled by the the M0+ core responsible for the RF communications, and not the M4 core dedicated for the application.

Looking forward to hearing back from the ST guys very soon.

Warm regards,

Abbas Mehdi.​

@abbas14​ I don't understand your complaint: "Making the application intervene to ensure maximum number of pakcets to be sent in a single connection interval is a very inefficient approach. This must be handled by the M0+ core..." As a matter of fact, it is completely handled by the SW running on CPU2. Did you run the maximum throughput demo application?

...\STM32Cube_FW_WB_V1.12.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_DataThroughput