This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52-ble-app-uart-c-multilink-master - Error during disconnection of one of the connected peripheral

I am using the nrf52-ble-app-uart-c-multilink-master getting data from 4 UART peripherals that are connected. Once one of the clients disconnects, I am getting an error as shown below.

The parameters in the  sdk_config.h are:

// <o> NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links.
#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT
#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 0
#endif

// <o> NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links.
#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT
#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 4
#endif

If I change the number from 4 to 3. then I can run 3 clients without errors

How can I get error-free run while any of the clients connects or disconnects? 

// <o> NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count.
// <i> Maximum number of total concurrent connections using the default configuration.

#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT
#define NRF_SDH_BLE_TOTAL_LINK_COUNT 4
#endif

<debug> nrf_ble_gq: Adding item to the request queue
<debug> nrf_ble_gq: GATTC Write Request
<debug> nrf_ble_gq: SD GATT procedure (1) succeeded on connection handle: 0.
<debug> nrf_ble_gq: Adding item to the request queue
<debug> nrf_ble_gq: GATTC Write Request
<debug> nrf_ble_gq: SD GATT procedure (1) succeeded on connectio<debug> nrf_ble_gq: Processing the request queue...
<debug> nrf_ble_gq: Processing the request queue...
<debug> app: Receiving data.
<debug> app: 40 9F 42 13 B8 E6 C1 64|@.B....d
<debug> app: D2 00 02 2C 0A |...,.
<debug> nrf_ble_gq: Adding item to the request queue
<debug> nrf_ble_gq: GATTC Write Request
<error> nrf_ble_gq: SD GATT procedure (1) failed on connection handle 0 with error: 0x00000013.
<debug> ble_nus_c: A GATT Client error has occurred on conn_handle: 0X0

Parents Reply Children
No Data
Related