Hi,
I am working on a project using the nrf52840. For legacy reasons we are using Nordic SDK version 15.3.0 and SoftDevice S140 version 6.1.1.
I am trying to maximise throughput for a nrf52840 peripheral talking to an IOS or android phone.
I have enabled the 2mbps PHY and DLE using sd_ble_opt_set. MTU size is 247.
On Android I get maximum throughput when I set the MIN/MAX CONN INTERVAL to MSEC_TO_UNITS(400, UNIT_1_25_MS) (close to 1.5mbps).
If I do this when connecting to an IOS device I get packet loss, and very low throughput. Setting MIN/MAX CONN INTERVAL to MSEC_TO_UNITS(15, UNIT_1_25_MS) gives me about 800 kbps, which is better, but still short of what I get on android.
Does anyone have any suggestions about how to debug this issue?
I have looked at it with ble sniffing available, and have had a quick look, but it seems pretty similar.
Attached is a snippet of the ble sniffer, filtered for just the LE LL events
I am using the nrf connect app on android and a custom react native app on IOS
Android:
IOS: