Hello.
In the BLE software under development, the device uses nRF52840 and uses s140 v7.2.0 or v7.3.0.
While using BLE communication, I am building a system that receives the firmware updater via UARTE and stores it in flash via a modified DFU.
In order to prevent UARTE transfer from being lost during flash writing, I use nrf_drv_uart_rx_abort() to stop reception (RTS inactive) when requesting fstorage write, and restart reception (RTS active) with nrf_drv_uart_rx() when writing is completed.
However, during BLE communication, a reception interruption period of several 100 ms may occur due to the fstorage schedule by the timeslot API.
As a result, a situation has arisen in which the transfer interval from the UART destination cannot be maintained.
What I want to do is to make RTS inactive only during Flash access when it cannot receive reception, but is this possible with fstorage I/F via softdevice?
If it is not possible, I would like to stop the BLE timeslot from the wtite request to the completion of the write.If I stop scan and advertise except during connection, will it be scheduled in fstorage?
If UART reception has to wait due to BLE communication, the idea is to stop the BLE time slot for a short period while writing and activate RTS quickly.
Best regards.