Hi, I'm calling sd_ble_gatts_hvx and every once in a while I get an error code of 0x3401. I went through the SDK documentation but I could not find what that error code is. Have you seen this error code before? thank you, akbar
Hi, I'm calling sd_ble_gatts_hvx and every once in a while I get an error code of 0x3401. I went through the SDK documentation but I could not find what that error code is. Have you seen this error code before? thank you, akbar
Hi,
I'm using softdevice 7.0.0 and last sdk,
The same error occur when i want to send notification with notifications not enables despite catching NRF_ERROR_INVALID_STATE :
err_code = sd_ble_gatts_hvx(p_bts->conn_handle, ¶ms);
if (err_code != NRF_SUCCESS &&
err_code != BLE_ERROR_INVALID_CONN_HANDLE &&
err_code != NRF_ERROR_INVALID_STATE)
{
APP_ERROR_CHECK(err_code);
}
I'm not using bond manager and CCCD attributes are initialized after BLE_GATTS_EVT_SYS_ATTR_MISSING event :
case BLE_GATTS_EVT_SYS_ATTR_MISSING:
err_code = sd_ble_gatts_sys_attr_set(m_conn_handle, NULL, 0);
APP_ERROR_CHECK(err_code);
How i can avoid this error ?
Regards,
Thomas
Hi,
that message (it is not an error) comes if the central is connected to the periperial but the central has not yet written something to the CCCD descriptor (eg. start notify is not pressed in some BLE scanner apps) and the periperial code calls sd_ble_gatts_hvx(..).
Hmm.... i interpret BLE_GATTS_EVT_SYS_ATTR_MISSING more as WARNING or INFO not as an ERROR.
In SDK 7.2 HID Example you will find following code which skip the BLE_GATTS_EVT_SYS_ATTR_MISSING error.
if ((err_code != NRF_SUCCESS) &&
(err_code != NRF_ERROR_INVALID_STATE) &&
(err_code != BLE_ERROR_NO_TX_BUFFERS) &&
(err_code != BLE_ERROR_GATTS_SYS_ATTR_MISSING)
)
{
APP_ERROR_HANDLER(err_code);
}
Hi,
that message (it is not an error) comes if the central is connected to the periperial but the central has not yet written something to the CCCD descriptor (eg. start notify is not pressed in some BLE scanner apps) and the periperial code calls sd_ble_gatts_hvx(..).
Hmm.... i interpret BLE_GATTS_EVT_SYS_ATTR_MISSING more as WARNING or INFO not as an ERROR.
In SDK 7.2 HID Example you will find following code which skip the BLE_GATTS_EVT_SYS_ATTR_MISSING error.
if ((err_code != NRF_SUCCESS) &&
(err_code != NRF_ERROR_INVALID_STATE) &&
(err_code != BLE_ERROR_NO_TX_BUFFERS) &&
(err_code != BLE_ERROR_GATTS_SYS_ATTR_MISSING)
)
{
APP_ERROR_HANDLER(err_code);
}