SWCU192 November 2021 CC1312R7 , CC1352P7 , CC2652P7 , CC2652R7
If a received extended advertiser packet contains an AdvDataIndex field in the extended header and pParams->extFilterConfig.bCheckAdi is 1, the AdvDataIndex field is checked against an entry of the list pointed to by pParams->pAdiList. This list consists of 16 entries of the type defined in Table 26-119.
The AdvDataIndex field consists of an Advertising Set ID (SID) and an Advertising Data ID (DID) field. When checking against the list, the entry with the index given by the received SID is used. The mode field of this entry is first checked. If it is 0, no filtering is used for this DID, and the ADI is accepted. If mode is 2, the ADI is always rejected. If mode is 1, the received DID is checked against the advDataId field of the entry. If they are equal, the ADI is rejected, otherwise it is accepted.
If the packet is received with CRC OK, not ignored, and the buffer did not go full, and pParams->extFilterConfig.bCheckAdi and pParams->extFilterConfig.bAutoAdiUpdate are both 1, the radio CPU shall update the ADI list automatically. It shall then copy the received DID field into the advDataId field of the entry given by the received SID.
If the mode is 0, the copying is done, but the mode is not modified automatically, future packets with the same DID will be ignored, the mode must be modified by the system CPU.