We're using an nRF52840 with S140 SoftDevice. It's configured as a peripheral device. Our application uses FreeRTOS with several cooperating tasks. When connected with the central (iPhone app), it typically uploads quite a bit of data to the central.
When BLE signals are fairly strong everything works well.
However, if signals get weak we've observed the SoftDevice consume an inordinate amount of CPU, starving important FreeRTOS tasks for many seconds.
Is there something we can do about this? Could tweaking connection parameters help? Which parameter settings are likely to help in this use case?
Do you have any suggestions on how to troubleshoot what is going on?
Thanks!
Bruce