This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Recommended configuration for data length extension + multiple connections

Hi

The concept of setting the event_length (the time set aside per connection) was introduced post softdevice v3.0.0. To my understanding, with softdevice v3.0.0, the softdevice dynamically sets the time allocated per connection depending on the number of connections. My questions are:-

  1. Is it possible to replicate this behavior for the current version (v5.0.0) of the softdevice?
  2. What is the relation (if any) between 'event_length' and 'connection interval'?
  3. What is the recommended configuration for achieving both data length extension and 8+ connections?

To give some context, we are currently trying to write an app which is capable of both: data length extension and 8 simultaneous connections+pairings. We are therefore setting our event_length to 320 (i.e. 400ms for data length extension and high throughput) and our conn_count to 8 when enabling the softdevice. Everything works fine and we don't get any errors when enabling the softdevice. However, when we try to pair with the connected devices, the pairing process fails. This looks to be a timing issue because successful pairing is performed over several connection intervals. When we change our event_length to BLE_GAP_EVENT_LENGTH_DEFAULT (3), the process succeeds without an issue. Also, the same process succeeds on v3.0.0 of the softdevice.

We are using softdevice S132 v5.0.0 on an nrf52832 chip.

Thanks

Parents
    1. Not really dynamically with v3.0.0. The amount of time allocated depended on the bandwidth configuration. And then you had connection event extension that kicked in if there was more time.

    2. The event length specifies the length reserved for a connection event, the connection interval specifies the maximum event length.

    3. Have you seen this? With 8 central connections with a connection interval of 400 ms on each, and even distribution of "throughput". I would set the event length to around 50 ms, but this has to be tuned. 400 ms event length and 400 ms connection interval should only be used if you have 1 connection, because then you are giving all radio time to one connection.

  • More importantly, reverting to the scenario of having 1 connection only, and with event length extension disabled, what should I set the event length to in order to replicate the LOW, MID, and HIGH BW in sd v3.0.0? I tried 1, 3, and 6 (respectively) - which also happens to be the equivalent to tEEO values - but the throughput values were well below what we were seeing with sdv3.0.0. It's as if for packet lengths of 251, the LOW, MID, and HIGH values are different than for packet lengths of 27 bytes. Any thoughts?

Reply
  • More importantly, reverting to the scenario of having 1 connection only, and with event length extension disabled, what should I set the event length to in order to replicate the LOW, MID, and HIGH BW in sd v3.0.0? I tried 1, 3, and 6 (respectively) - which also happens to be the equivalent to tEEO values - but the throughput values were well below what we were seeing with sdv3.0.0. It's as if for packet lengths of 251, the LOW, MID, and HIGH values are different than for packet lengths of 27 bytes. Any thoughts?

Children
No Data
Related