Platform NRF52832 SoftDevice S132 V6.1 SDK 15.0 FreeRTOS implemented
Hi,
In our application, once the mobile app is connected to the peripheral, it makes continuous writes to a characteristic every 1 second and then forwards the message to a different chip over UART. We expect this behavior to work for at least 2 hours.
Here are the connection parameters we are using
MIN_CONN_INTERVAL MSEC_TO_UNITS(500, UNIT_1_25_MS)
MAX_CONN_INTERVAL MSEC_TO_UNITS(2000, UNIT_1_25_MS)
SLAVE_LATENCY 0
CONN_SUP_TIMEOUT MSEC_TO_UNITS(10000, UNIT_10_MS)
However after some time (ranging from 3 minutes to 25 minutes at random), we see an error on nrf_connect app stating Error 22 (0x16) GATT_CONN_TERMINATE_LOCAL_HOST and the phone is disconnected. But on the dev board, we do not see any disconnect event and the board becomes unresponsive to any BLE command and remains stuck. The only way to recover is pressing the reset switch. This issue is quite problematic since the production version will not have any I/O for reset.
Could RTOS be causing any issue. I have increased the priority of the BLE task to 4 (Total of 4 tasks running) from the default of 2 in nrf_sdh_freertos.c