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

Throughput issue in multirole application

I have an application where I need to be connected as peripheral in 1 connection and as central in up to say 10 connections simultaneously. I posted regarding connection event length before https://devzone.nordicsemi.com/f/nordic-q-a/34022/optimizing-throughput-with-multiple-central-links-and-1-peripheral-link but I have made some tests now and I don't get the results that I excpected.

Scenario 1: My peripheral connection has a throughput req. of about 20kB/s so I need to guarantee that connection an event length which is sufficient. But when I test my setup I first connect my peripheral connection only. I get a throughput of ~110kB/s. Connection interval 100ms, event length 25*1.25ms and 2mpbs phy. 

Scenario 2: same as above but add 1 central connection to low bandwidth mock sensor. Connection interval 200ms and data is sent every 1s. Throughput is only ~40kB/s when I stream data in my peripheral connection. 

SDK 15.0.0 is used with sd 6.0.0

I thought that the central connection I add in scenario 2 would have minimal effect on my peripheral connection? 

And is the parameter NRF_SDH_BLE_GAP_EVENT_LENGTH shared between all connections made with the softdevice? If not, how can I set it individually?

Related