Hi team:
Environment: Simplelink_cc13xx_cc26xx_sdk_7_40_00_77
Example: Simple_central
Questions about the Eigenvalue discovery process:
When processing eigenvalue discovery in SimpleCentral_processGATTDiscEvent, the eigenvalue charHandle that was successfully discovered needs to be stored for subsequent eigenvalue read and write, as in the following statement:
else if (discState == BLE_DISC_STATE_CHAR) { // Characteristic found, store handle if ((pMsg->method == ATT_READ_BY_TYPE_RSP) && (pMsg->msg.readByTypeRsp.numPairs > 0)) { uint8_t connIndex = SimpleCentral_getConnIndex(scConnHandle); // connIndex cannot be equal to or greater than MAX_NUM_BLE_CONNS SIMPLECENTRAL_ASSERT(connIndex < MAX_NUM_BLE_CONNS); // Store the handle of the simpleprofile characteristic 1 value connList[connIndex].charHandle = BUILD_UINT16(pMsg->msg.readByTypeRsp.pDataList[3], pMsg->msg.readByTypeRsp.pDataList[4]); ... ... } discState = BLE_DISC_STATE_IDLE; }
Where the characteristic charHandle is stored:
connList[connIndex].charHandle = BUILD_UINT16 (pMsg->msg.readByTypeRsp.pDataList[3], PMsg->msg.readByTypeRsp.pDataList[4]);
What is the format of the data in the pDataList? Why do pDataList[3] and pDataList[4] make up charHandle? Where is the documentation on this issue? Or is there a definition on the code?
Thanks & Best regards,
Yolande