I have a thermometer device which has 8 characteristics in its Device Information Service. After pairing (which is successful) I attempt to read each of the 8 characteristics. On the last one, which is the reg-cert-data characteristic, the value is actually read; well 22 bytes of it are read at least. I get the read indication BUT the event gives an error. All the other reads complete as indicated by the documentation (but they are much shorter). The error is "attribute is not long". Why do I get this error here and not anywhere else when none of the other attributes are long either?
Is the documentation incomplete with respect to a GATT_READ_LONG and I need to do something else than just handle the read indication? (I use a GATT_READ_LONG because the documentation states that I can use either and everything is handled; in that manner I cover both long and < 22 byte reads with the same code.)
I should add that there is a max_mtu parameter in the gapm_set_dev_config_cmd but it is not documented anywhere. Dos setting this parameter do anything? Values are fixed to 23 in many parameters through the API if one does a global search for mtu.
Hello Brian, I have logged your question and will respond as soon as have some feedback.
BR JE_Dialog
As a work around I check for the att.h error "ATT_ERR_ATTRIBUTE_NOT_LONG' and continue as if there were no error. Doing so results in proper behavior of the device as if the read reported no error. I am not sure if this is a device or DA14580 issue. An error should be an error after all (typically indicating some violation of the spec). This 'error' is more like information. I wonder if there are any other 'errors' that should be treated like information and one can move on as if the operation completed normally?