Hello, in my application (adapted from ble_app_uart peripheral example of SDK 16.0) I am starting advertising using
err_code = ble_advertising_start(&m_advertising, BLE_ADV_MODE_FAST);
and then letting it connect and disconnect, and then after the disconnection event I try to run that line of code again (I'd like to start advertising again, ready to connect again) and the call fails.
Tracing into it, apparently the code excerpt from ble_advertising_start in ble_advertising.c, the first call to sd_ble_gap_adv_set_configure is failing with a return code of 8, or NRF_ERROR_INVALID_STATE. What do I need to do to start advertising again after a disconnection?
Thanks.
if (p_advertising->adv_mode_current != BLE_ADV_MODE_IDLE) { ret = sd_ble_gap_adv_set_configure(&p_advertising->adv_handle, p_advertising->p_adv_data, &p_advertising->adv_params); if (ret != NRF_SUCCESS) { UART_SendString("[as!1]"); return ret; } ret = sd_ble_gap_adv_start(p_advertising->adv_handle, p_advertising->conn_cfg_tag); if (ret != NRF_SUCCESS) { UART_SendString("[as!2]"); return ret; } }