I'm using CyBle_GattcDiscoverAllCharacteristics() and decoding the resultant CYBLE_EVT_GATTC_READ_BY_TYPE_RSP (CYBLE_GATTC_READ_BY_TYPE_RSP_PARAM_T* response). The response contains three extra bytes; response->attrData.attrValue[0..2]. Where are they defined, exactly?
For example: https://github.com/cypresssemiconductorco/PSoC-4-BLE/blob/master/100_Pro... contains the following:
case CYBLE_EVT_GATTC_READ_BY_TYPE_RSP:
readResponse = (CYBLE_GATTC_READ_BY_TYPE_RSP_PARAM_T *) eventParam;
if(0 == memcmp((uint8 *)&(readResponse->attrData.attrValue[5]), (uint8 *)uartTxAttrUuid, 16))
{
txCharHandle = readResponse->attrData.attrValue[3];
txCharHandle |= (readResponse->attrData.attrValue[4] << 8);
infoExchangeState |= TX_ATTR_HANDLE_FOUND;
}
So readResponse->attrData.attrValue[3:4] is the handle and readResponse->attrData.attrValue[5:20] is the UUID, but what does readResponse->attrData.attrValue[0:2] contain?
Thanks!
Randy