SWCU192 November 2021 CC1312R7 , CC1352P7 , CC2652P7 , CC2652R7
A packet being received is stored in a receive buffer. First, a length byte or word is stored if configured in the RX entry by config.lenSz, as explained in Section 26.3.2.7.2. This is calculated from the length received over the air and the configuration of appended information.
Following the optional length field, the received header and payload are stored as received over the air. If rxConfig.bIncludeLenByte is 1, the full 16-bit header (including the received length field) is stored, despite the length field being redundant information if a length byte or word is present. If rxConfig.bIncludeLenByte is 0, only the first byte of the header is stored so that the second byte, which only contains the redundant length field, and (depending on the Bluetooth version) some RFU bits are discarded.
If rxConfig.bIncludeCrc is 1, the received CRC value is stored in the RX buffer. If rxConfig.bAppendRssi is 1, a signed byte indicating the received RSSI value is appended. If rxConfig.bAppendStatus is 1, a status word is appended. For the legacy Bluetooth low energy commands, this is a 1-byte field as defined in Table 26-120, while for the Bluetooth low energy 5 commands, this is a 2-byte field as defined in Table 26-121. If rxConfig.bAppendTimeStamp is 1, a timestamp indicating the start of the packet is appended. This timestamp corresponds to the ratmr_t data type, which is a 32-bit value in little-endian format. No padding shall be done to ensure a certain alignment in the multibyte fields (timestamp and Bluetooth low energy 5 status). Therefore, the multibyte fields must be written and read bytewise.
Figure 26-8 shows the format of an entry element in the RX queue.