Part Number: CC2650DK
Hi, I'm working on a program base on simpleBLE_Central project and I'm trying to use this ATT / GATT API function, GATT_ReadMultiCharValues(), using this code
uint8 readchar[4] = {LO_UINT16(char1Hdl),
HI_UINT16(char1Hdl),
LO_UINT16(char2Hdl),
HI_UINT16(char2Hdl)};
attReadMultiReq_t req;
req.pHandles = readchar;
req.numHandles = 2;
status = GATT_ReadMultiCharValues(connHandle, &req, selfEntity);
the status always return SUCCESS but then it will took some time till it get GATT message and readMultiRsp.len and pValues always return 0.
here is the GATT message process code :
else if ((pMsg->method == ATT_READ_MULTI_RSP) ||
((pMsg->method == ATT_ERROR_RSP) && (pMsg->msg.errorRsp.reqOpcode == ATT_READ_MULTI_REQ)))
{
if (pMsg->method == ATT_ERROR_RSP)
{
Display_print1(dispHandle, 4, 0, "Read Error %d", pMsg->msg.errorRsp.errCode);
}
else
{
// After a successful read, display the read value
Display_print1(dispHandle, 4, 0, "Read rsp: %d", pMsg->msg.readMultiRsp.len);
}
procedureInProgress = FALSE;
}
the code is working just fine when use GATT_ReadCharValue() but I can read only 1 characteristic at a time using this function, and since this function work, the problem should be on the central side.
any idea how can I make this work?