SWCU192 November 2021 CC1312R7 , CC1352P7 , CC2652P7 , CC2652R7
For master and slave operations, transmit buffers are set up in a buffer queue. The length of the packet is defined by the length field in the data entry. The first byte of the data entry gives the LLID that goes into the data channel packet header. The NESN, SN, and MD bits shall be inserted automatically by the radio CPU, the RFU bits shall be set to 0, and the length field shall be calculated from the length of the data entry.
For legacy advertising channel packets and packets transmitted by the Bluetooth low energy scanner and initiator, the radio CPU shall automatically generate the header and the address fields of the payload. The data that comes after the address fields for each message type is given by a pointer to a data buffer. The number of bytes in this buffer is given in a separate parameter. If no data bytes are to be transmitted, this can be indicated by setting the length to 0. In this case, the pointer shall be ignored, and may be set to NULL. For Bluetooth low energy compliance, the ADV_DIRECT_IND and SCAN_REQ messages shall have no payload (but for the possibility of overriding this, data buffers are still present in the legacy commands). With the Bluetooth low energy 5 scanner command, SCAN_REQ and AUX_SCAN_REQ messages are always sent without payload, as per the Bluetooth specification. For CONNECT_IND and AUX_CONNECT_REQ messages, the data is required to have length 22 for Bluetooth low energy compliance, but the implementation shall allow any length.
For the Bluetooth low energy 5 advertising commands, the transmitted packets use the common extended advertising format. Table 26-123 lists the structure used for describing such packets. The PDU header and parts of the extended header shall be automatically generated by the radio CPU based on this structure. The transmitted packets, the PDU header, or the extended header has pointers to a buffer containing the rest of the extended header and another buffer containing the payload.