I need to remember the CCCD's of some service, e.g. service changed. A CCCD is according to spec 2 bytes long. The method to do this is by using sd_ble_gatts_sys_attr_get. This function returns a binary blob which is not documented. The amount of data returned is, depending of how many characteristics you use, huge. Somewhere around 100 bytes. I don't want to store all this information for actually 1 bit, the indication config bit of service changed. Is there information available how this data is formatted? Or do I have to reverse engineer it?
Why is it implemented like this. Why not a function in the SD which can get or set the client characteristic configuration per handle? Or combine client and server characteristic configuration. This only has to return a 32 bits value.
Yes, I know there is BLE_GATTS_SYS_ATTR_FLAG_SYS_SRVCS in SD v8 but going to SD v8 is not an option at the moment for my.