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.

CC2640R2F: Why is the Master limiting connection events to a single M<>S exchange when more than one connection is established?

Part Number: CC2640R2F
Other Parts Discussed in Thread: BLE-STACK, CC2540T

To meet both my throughput target (4 peripherals x 1KB/s) and (re)connection time limits (=> CI = 40ms) my Central application needs to receive 2 x 20Byte Notifications per Connection Event from each of up to 4 Peripherals.

Whilst this is not an ideal arrangement, in experiments with a single connection this proves acceptable because the system is "catching up" after occasional lost packets by exchanging more than 2 queued notifications in subsequent Events (up to 4). However...

As soon as a second Peripheral is connected the Link Master only initiates a single exchange per Event regardless of the Slave setting MoreData = TRUE. Thus the Peripheral Notification Queues are overflowing even when there are no lost packets.

Why is this and how to fix it?

As I understand from the multi role docs the scheduler is budgeting 5mS per connection event, which should be plenty of time for multiple M<>S exchanges per Event.

CC2640R2F BLE 4.2 stack v1.50

  • Hi John,

    This is a limitation in the BLE-Stack. If you have more data to send that can fit in one packet, you can use data length extensions to send longer packets.
  • > This is a limitation in the BLE-Stack.

    Yowser! To be clear on the scope of this limitation please confirm that "whenever you have more than one connection established only 1 M<>S exchange per Event is possible with the TI BLE-stack"

    This is a show stopper for using TI for this application. Any prospect/timescale for this limitation to be relaxed/removed?


    > If you have more data to send that can fit in one packet, you can use data length extensions to send longer packets.

    You sure about that? TI's USP for this application is the CC2540T at the Peripheral end.
  • Hi John,

    Whenever you have more than one connection established only 1 M<>S exchange per Event is possible with the TI BLE-stack.

    If the other device doesn't support data length extension you can't use it.
  • Thank you for confirming this.