Hi,
based on my previous posts (2nd post, 1st post) regarding the ble_app_uart_c multilink example I now face another issue.
When I run the multilink example on my nRF52840 DK and 5 devices have been already activated, an error: NRF_ERROR_BUSY is thrown in BLE_GAP_EVT_CONNECTED event of the ble_evt_handler(), after the ble_db_discovery_start() for the connected peripheral discovery of services.
Initially I removed the app_error_check() ( after ble_db_discovery_start()) to see what will happen. All devices were able to connect to the DK (central) but only 2 of them wee able to accept commands from the central. The other two did nothing. I repeated the process 2 more times with the same result.
Then I placed the following part under ble_db_discovery_start() to wait until the process is complete
err_code = ble_db_discovery_start(&m_db_disc, p_ble_evt->evt.gap_evt.conn_handle);
while(err_code == NRF_ERROR_BUSY)
{
err_code = ble_db_discovery_start(&m_db_disc, p_ble_evt->evt.gap_evt.conn_handle);
NRF_LOG_INFO("Discovery in progress");
}
but the code freezes somewhere in the ble_db_discovery_start() when the second peripheral device is identified by the central.
On the other hand when the five peripheral devices are turned off and I activate them one by one the central never throws an error and all devices are connected and handled properly
So, any ideas ?
Thank you for your time