Hi,
can some one tell me why this error come up? best regards Nils
Hi,
can some one tell me why this error come up? best regards Nils
It could look like the stack is generating a BLE_GATTS_EVT_SYS_ATTR_MISSING event when you read the handle which contains the CCCD. The state of this value is unknown until the handle is either written to or sd_ble_gatts_sys_attr_set() is called with NULL or the saved parameters from an earlier connection through sd_ble_gatts_sys_attr_get(). If the application does not reply to this event, the ATT transaction will time out after 30 seconds and subsequent ATT traffic will be disallowed per the spec.
How can i handle this error? Did i make a mistake by ATT config? Thank you for your answer
Hi there,
There are 2 different interesting points in your trace.
The first one, at 12:51:52 (handle 0x000A) is simply the result of the Master Control Panel trying to read an attribute that is not readable. This not in itself an error, some attributes do not have read permissions, depending on your application this makes sense, I think you can safely disregard that one.
The second one at 12:52:03 is an ATT timeout. The Master Control Panel tried to read an attribute but received no response from the nRF51. This, as Ulrich mentions, is usually because the application has not supplied the system attributes to the stack, and it is very easy to fix. If you are using the SDK and the bond manager, those should take care of this for you.
If you are not, then you simply need to handle the event as Ulrich describes, and you should be all set.
Regards,
Carles
You did not make any mistake in the ATT Config, but you are not handling the BLE_GATTS_EVT_SYS_ATTR_MISSING event.
Do you use the bond manager in your application? This one should take care of the system attributes. If not you need to do as Ulirch mentioned.
Hi,
no i don't use the bon manger, so i have to handle this problem by my own or with this manger, thank you for helping :)