SWCU192 November 2021 CC1312R7 , CC1352P7 , CC2652P7 , CC2652R7
Legacy advertising packets (ADV_IND and ADV_DIRECT_IND), are accepted if running CMD_BLE_INITIATOR or if CMD_BLE5_INITIATOR on a primary advertising channel with 1-Mbps PHY. The operation is a described in the following list:
bUseWhiteList | AdvA Matches Specific Peer Address | AdvA Matches Whitelist Entry with bEnable = 1 | AdvA Matches Whitelist Entry with bIrkValid = 1 | AdvA Filter Result |
---|---|---|---|---|
0 | No | N/A | N/A | Reject |
0 | Yes | N/A | N/A | Accept |
1 | N/A | No | X | Reject |
1 | N/A | Yes | No | Accept |
1 | N/A | Yes | Yes | Reject |
PDU Type | CRC result | AdvA filter result | TargetA match | Action No. |
---|---|---|---|---|
ADV_IND | OK | Reject | N/A | 1 |
ADV_IND | OK | Accept | N/A | 3 |
ADV_IND | NOK | X | N/A | 4 |
ADV_DIRECT_IND | OK | Reject | X | 1 |
ADV_DIRECT_IND | OK | Accept | No | 1 |
ADV_DIRECT_IND | OK | Accept | Yes | 3 |
ADV_DIRECT_IND | NOK | X | X | 4 |
ADV*_IND with invalid length | X | X | X | 5 |
Other (see also Section 26.8.11.2) | X | N/A | N/A | 5 |
Action No. | bCrcErr | bIgnore | Description |
---|---|---|---|
1 | 0 | 1 | Continue scanning |
3 | 0 | 0 | Send CONNECT_IND and end operation |
4 | 1 | 0 | Continue scanning |
5 | — | — | Stop receiving packet, then continue scanning |
If the packet being received did not fit in the RX queue, the packet shall be received to the end, but the received bytes are not stored. If the packet would normally not have been discarded from the RX buffer, the operation shall end.
If the action from the received packet is 2, a CONNECT_IND (known as CONNECT_REQ in Bluetooth 4.0, 4.1, and 4.2 Specifications listed in Related Documentation) packet shall be transmitted. When transmitting a CONNECT_IND, the radio CPU shall construct this packet. In the header, the PDU Type bits shall be 0101b. The TxAdd bit shall be as in pParams->initConfig.deviceAddrType (if the least significant bit of pParams->pDeviceAddress is 1, the TxAdd bit is inverted, see Section 26.8.17). The RxAdd bit shall be as in the TxAdd field of the header of the received ADV_IND or ADV_DIRECT_IND message. The ChSel bit shall be 1 if pParams->initConfig.chSel is 1 ; otherwise, ChSel shall be 0. The length shall be calculated from the length of the LLData, meaning that it shall be pParams->connectReqLen + 12. The RFU bit shall be 0. The payload shall start with the 6-byte device address, which shall be read from pParams->pDeviceAddress, followed by the 6-byte peer address read from the AdvA field of the received message. The rest of the payload shall be read from the pParams->pConnectData buffer. If pParams->initConfig.bDynamicWinOffset is 1, the radio CPU shall replace the bytes in the WinSize and WinOffset position (see Specification of the Bluetooth System, Version 5.0 listed in Related Documentation) with a calculated value as explained in Section 26.8.11.4. After a CONNECT_IND message is transmitted, the operation shall end. If pParams->initConfig.chSel is 1, the ChSel bit of the received ADV_IND or ADV_DIRECT_IND packet shall be checked to determine the end status; see Section 26.8.11.5.