Hello,
I am working on NUS service S110 8.0 softdevice and SDK 9.0 and added DFU feature for the application.
First, I connected to the device using MCP from PC. It connected and communication was proper. Then, I disconnect it and for the second time I am trying tot connect with MCP from android phone. When I select connect, the bond and discovering of the services is happening and code is stopping with an error in the following code snippet:
static void app_context_load(dm_handle_t const * p_handle)
{
uint32_t err_code;
static uint32_t context_data;
dm_application_context_t context;
context.len = sizeof(context_data);
context.p_data = (uint8_t *)&context_data;
err_code = dm_application_context_get(p_handle, &context);
if (err_code == NRF_SUCCESS)
{
// Send Service Changed Indication if ATT table has changed.
if ((context_data & (DFU_APP_ATT_TABLE_CHANGED << DFU_APP_ATT_TABLE_POS)) != 0)
{
err_code = sd_ble_gatts_service_changed(m_conn_handle, APP_SERVICE_HANDLE_START, BLE_HANDLE_MAX);
if ((err_code != NRF_SUCCESS) &&
(err_code != BLE_ERROR_INVALID_CONN_HANDLE) &&
(err_code != NRF_ERROR_INVALID_STATE) &&
(err_code != BLE_ERROR_NO_TX_BUFFERS) &&
(err_code != NRF_ERROR_BUSY) &&
(err_code != BLE_ERROR_GATTS_SYS_ATTR_MISSING))
{
APP_ERROR_HANDLER(err_code);
}
}
err_code = dm_application_context_delete(p_handle);
APP_ERROR_CHECK(err_code);
}
else if (err_code == DM_NO_APP_CONTEXT)
{
// No context available. Ignore.
}
else
{
APP_ERROR_HANDLER(err_code);
}
}
Getting the error code 0x8010 which is API_NOT_IMPLEMENTED error. Does anyone know, what is the cause for this error code? and how to fix this?
Regards,
Sowmya