This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2650DK: how to use GATT_ReadMultiCharValues

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?