Part Number: LAUNCHXL-CC2640R2
Tool/software: Code Composer Studio
Hi Team,
SDK: 3.10 CCS version: CCS V9
Customer uses GAP_ConfigDeviceAddr to device address. Device address can be periodically change, but can't trigger GAP_RANDOM_ADDR_CHANGED_EVENT event. Please help explain and resolve it.
static void gapRole_processGAPMsg(gapEventHdr_t *pMsg)
{
uint8_t notify = FALSE; // State changed notify the app? (default no)
switch (pMsg->opcode)
{
case GAP_DEVICE_INIT_DONE_EVENT:
{
gapDeviceInitDoneEvent_t *pPkt = (gapDeviceInitDoneEvent_t *)pMsg;
bStatus_t stat = pPkt->hdr.status;
if (stat == SUCCESS)
{
// Save off the generated keys
VOID osal_snv_write(BLE_NVID_IRK, KEYLEN, gapRole_IRK);
VOID osal_snv_write(BLE_NVID_CSRK, KEYLEN, gapRole_SRK);
// Save off the information
VOID memcpy(gapRole_bdAddr, pPkt->devAddr, B_ADDR_LEN);
gapRole_state = GAPROLE_STARTED;
GAP_ConfigDeviceAddr(ADDRMODE_PRIVATE_RESOLVE, NULL);
GAP_SetParamValue(TGAP_PRIVATE_ADDR_INT, 1);
// Update the advertising data
stat = GAP_UpdateAdvertisingData(selfEntity,
TRUE, gapRole_AdvertDataLen, gapRole_AdvertData);
}
...
case: GAP_RANDOM_ADDR_CHANGED_EVENT:
{
}