Radio Control Layer (RCL)
|
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/drivers/rcl/handlers/ble5.h>
#include <ti/drivers/utils/List.h>
#include <ti/devices/DeviceFamily.h>
Go to the source code of this file.
Data Structures | |
union | RCL_Ble5_RxPktStatus |
Appended packet status field from RX buffer. More... | |
struct | RCL_FL_Entry |
Filter list entry. More... | |
struct | RCL_FilterList |
Filter list object. More... | |
struct | RCL_AddrType |
Address type. More... | |
struct | RCL_CmdBle5Advertiser |
Advertiser command. More... | |
struct | RCL_CtxAdvertiser |
Advertiser context. More... | |
struct | RCL_CmdBle5Initiator |
Initiator command. More... | |
struct | RCL_CmdBle5Scanner |
Scanner command. More... | |
struct | RCL_CtxScanInit |
Scanner and initiator context. More... | |
struct | RCL_StatsAdvScanInit |
Statistics structure for advertiser, scanner and initiator. More... | |
struct | RCL_CmdBle5Connection |
Connection command. More... | |
struct | RCL_CtxConnection |
Connection context. More... | |
struct | RCL_StatsConnection |
Statistics structure for connection. More... | |
struct | RCL_CmdBle5DtmTx |
DTM TX command. More... | |
struct | RCL_CmdBle5GenericRx |
Generic RX command. More... | |
struct | RCL_CtxGenericRx |
Generic RX context. More... | |
struct | RCL_StatsGenericRx |
Statistics structure for generic RX. More... | |
struct | RCL_CmdBle5GenericTx |
Generic TX command. More... | |
struct | RCL_CtxGenericTx |
Generic TX context. More... | |
struct | RCL_CmdBle5TxTest |
BLE5 transmitter test command. More... | |
struct | RCL_Ble5_RxPktStatus.__unnamed__ |
union | RCL_FL_ENTRY_t.__unnamed__ |
struct | RCL_FL_ENTRY_t.__unnamed__.ctl |
struct | RCL_CTX_SCAN_INIT_t.backoffStatus |
struct | RCL_STATS_ADV_SCAN_INIT_t.config |
struct | RCL_STATS_CONNECTION_t.config |
struct | RCL_CTX_GENERIC_RX_t.config |
struct | RCL_STATS_GENERIC_RX_t.config |
struct | RCL_CMD_BLE5_TX_TEST_t.config |
Typedefs | |
typedef uint8_t | RCL_Ble5Channel |
Type for BLE channels. More... | |
Enumerations | |
enum | RCL_Ble5_RxPhy { RCL_Ble5_RxPhy1Mbps = 0, RCL_Ble5_RxPhy2Mbps = 1, RCL_Ble5_RxPhyCodedS8 = 2, RCL_Ble5_RxPhyCodedS2 = 3 } |
PHY returned in status of recieved packets. More... | |
union RCL_Ble5_RxPktStatus |
Appended packet status field from RX buffer.
Data Fields | ||
---|---|---|
struct RCL_Ble5_RxPktStatus | __unnamed__ | |
uint8_t | value |
struct RCL_FL_ENTRY_t |
Filter list entry.
Accept or reject filter entry
Data Fields | ||
---|---|---|
union RCL_FL_ENTRY_t | __unnamed__ | |
uint16_t | address[3] |
Address of entry |
struct RCL_FILTER_LIST_t |
struct RCL_ADDR_TYPE_t |
struct RCL_CMD_BLE5_ADV |
Advertiser command.
Command to run BLE advertiser. The advertisement type is found from the packet type transmitted.
Data Fields | ||
---|---|---|
RCL_Command | common | |
uint8_t | chanMap |
Channel map. Bit positions 0-2 correspond to channels 37-39; a 1 means channel enabled |
uint8_t | order |
Order to run channels. 0: Run in increasing order. 1-5: Other order. Others: Reserved |
RCL_Command_TxPower | txPower |
Transmit power |
uint8_t | highDuty |
High duty-cycle advertising (directed advertising only) 0: Disabled. 1 Enabled |
uint32_t | connectPktTime |
Time of received CONNECT_IND packet is returned if connection is formed |
RCL_CtxAdvertiser * | ctx |
Pointer to context structure |
RCL_StatsAdvScanInit * | stats |
Pointer to statistics structure |
struct RCL_CTX_ADVERTISER_t |
Advertiser context.
Context for advertiser command
struct RCL_CMD_BLE5_INITIATOR_t |
Initiator command.
Command to run BLE initiator.
Data Fields | ||
---|---|---|
RCL_Command | common | |
RCL_Ble5Channel | channel |
Channel index |
RCL_Command_TxPower | txPower |
Transmit power |
bool | dynamicWinOffset |
Window offset processing. 0: Fixed. 1: Dynamic |
uint32_t | connectTime |
For dynamic window offset, wanted connect time is given as input. In all cases, actual connect time is returned. |
RCL_CtxScanInit * | ctx |
Pointer to context structure |
RCL_StatsAdvScanInit * | stats |
Pointer to statistics structure |
struct RCL_CMD_BLE5_SCANNER_t |
Scanner command.
Command to run BLE scanner
Data Fields | ||
---|---|---|
RCL_Command | common | |
RCL_Ble5Channel | channel |
Channel index |
RCL_Command_TxPower | txPower |
Transmit power |
bool | activeScan |
Scan type. 0: Passive. 1: Active |
RCL_CtxScanInit * | ctx |
Pointer to context structure |
RCL_StatsAdvScanInit * | stats |
Pointer to statistics structure |
struct RCL_CTX_SCAN_INIT_t |
Scanner and initiator context.
Context for scanner or initiator command
Data Fields | ||
---|---|---|
RCL_FilterList * | filterList |
Filter list |
List_List | txBuffers |
Linked list of packets to transmit: Only CONNECT_IND |
List_List | rxBuffers |
Linked list of buffers for storing received packets |
uint16_t | ownA[3] |
Own device address of type addrType.own |
uint16_t | peerA[3] |
Initiator: Peer device address of type addrType.peer |
RCL_AddrType | addrType |
Address types |
uint8_t | filterPolicy: 1 |
Filter policy |
uint8_t | scanExtFilterPolicy: 1 |
Extended filter policy for scanners |
uint8_t | rpaModeOwn:1 |
RPA mode for own address. 0: Treat RPA normally. 1: Report packets where target address is an unknown RPA |
uint8_t | rpaModePeer:1 |
RPA mode for peer address. 0: Treat RPA normally. 1: Report packets where advertiser address is an unknown RPA |
uint16_t | initialBackoff |
Initial backoff value |
uint8_t | backoffUpper |
Backoff parameter |
struct RCL_CTX_SCAN_INIT_t | backoffStatus |
Backoff parameter |
struct RCL_STATS_ADV_SCAN_INIT_t |
Statistics structure for advertiser, scanner and initiator.
Statistics for advertiser, scanner or initiator command
Data Fields | ||
---|---|---|
struct RCL_STATS_ADV_SCAN_INIT_t | config |
Configuration provided to RCL |
uint8_t | timestampValid |
Returns 1 if lastTimestamp is updated; 0 otherwise |
int8_t | lastRssi |
RSSI of last received packet |
uint32_t | lastTimestamp |
Timestamp of last successfully received packet |
uint16_t | nRxNok |
Number of packets received with CRC error |
uint16_t | nRxIgnored |
Number of packets to be ignored received |
uint16_t | nRxOk |
Number of correctly received, accepted packets |
uint8_t | nRxFifoFull |
Number of packets received which could not be stored |
uint8_t | nTx |
Number of packets transmitted |
struct RCL_CMD_BLE5_CONNECTION_t |
Connection command.
Command to run connection event as central or peripheral
Data Fields | ||
---|---|---|
RCL_Command | common | |
RCL_Ble5Channel | channel |
Channel index |
RCL_Command_TxPower | txPower |
Transmit power |
uint16_t | relRxTimeoutTime |
Peripheral only: Time before timing out the first packet of the event (0.25 us units). 0: No timeout. |
RCL_CtxConnection * | ctx |
Pointer to context structure |
RCL_StatsConnection * | stats |
Pointer to statistics structure |
struct RCL_CTX_CONNECTION_t |
Connection context.
Context for a connection
Data Fields | ||
---|---|---|
List_List | txBuffers |
Linked list of packets to transmit. RCL will pop packets that have been ACKed |
List_List | rxBuffers |
Linked list of buffers for storing received packets |
bool | isPeripheral |
0: Run as central. 1: Run as peripheral |
uint16_t | seqStat |
Sequencer status. Use default initialization for a new connection and keep unchanged between connection events on the same connection. |
uint32_t | accessAddress |
Access address |
uint32_t | crcInit |
CRC initialization value (24 bits) |
struct RCL_STATS_CONNECTION_t |
Statistics structure for connection.
Statistics for connection command
Data Fields | ||
---|---|---|
struct RCL_STATS_CONNECTION_t | config |
Configuration provided to RCL |
uint8_t | anchorValid |
Returns 1 if anchorPoint is updated; 0 otherwise |
int8_t | lastRssi |
RSSI of last received packet |
uint32_t | anchorPoint |
Peripheral only: Timestamp of first received packet |
uint8_t | nTxDone |
Number of TX buffers finished because ACK is received |
uint8_t | nTxAck |
Number of ACKs received on transmitted packets |
uint8_t | nTxCtlAck |
Number of ACKs received on transmitted control packets |
uint8_t | nTxCtl |
Number of control packets transmitted |
uint8_t | nTxRetrans |
Number of packets retransmitted |
uint8_t | nRxNok |
Number of packets received with CRC error |
uint8_t | nRxIgnored |
Number of packets to be ignored received |
uint8_t | nRxEmpty |
Number of empty packets received |
uint8_t | nRxFifoFull |
Number of packets received which could not be stored |
uint8_t | nRxOk |
Number of correctly received, accepted packets |
uint8_t | nTx |
Number of packets transmitted |
uint8_t | nRxCtl |
Number of control packets received |
uint8_t | nRxCtlAck |
Number of ACKs transmitted on received control packets |
struct RCL_CMD_BLE5_DTM_TX |
DTM TX command.
Command to send BLE direct test mode packets
Data Fields | ||
---|---|---|
RCL_Command | common | |
RCL_Ble5Channel | channel |
Channel index |
RCL_Command_TxPower | txPower |
Transmit power |
uint8_t | pduHeader |
PDU header to transmit; payload is given according to BLE DTM spec |
uint8_t | pduLength |
PDU length |
uint8_t | cteInfo |
CTE info; decides length of CTE. Ignored if bit #5 of pduHeader is 0. Not supported in this version. |
uint16_t | periodUs |
Time between start of each packet in 1 us units |
uint16_t | numPackets |
Number of packets to transmit. 0: Transmit indefinitely until command times out or is stopped. |
struct RCL_CMD_BLE5_GENERIC_RX_t |
Generic RX command.
Command to receive generic BLE packets
Data Fields | ||
---|---|---|
RCL_Command | common | |
RCL_Ble5Channel | channel |
Channel index |
RCL_CtxGenericRx * | ctx |
Pointer to context structure |
RCL_StatsGenericRx * | stats |
Pointer to statistics structure |
struct RCL_CTX_GENERIC_RX_t |
Generic RX context.
Context for generic RX command
Data Fields | ||
---|---|---|
List_List | rxBuffers |
Linked list of buffers for storing received packets |
uint32_t | accessAddress |
Access address |
uint32_t | crcInit |
CRC initialization value (24 bits) |
uint8_t | maxPktLen |
Maximum payload length of received packets |
struct RCL_CTX_GENERIC_RX_t | config |
struct RCL_STATS_GENERIC_RX_t |
Statistics structure for generic RX.
Statistics for generic RX command
Data Fields | ||
---|---|---|
struct RCL_STATS_GENERIC_RX_t | config |
Configuration provided to RCL |
uint8_t | timestampValid |
Returns 1 if lastTimestamp is updated; 0 otherwise |
int8_t | lastRssi |
RSSI of last received packet |
uint32_t | lastTimestamp |
Timestamp of last successfully received packet |
uint16_t | nRxNok |
Number of packets received with CRC error |
uint16_t | nRxOk |
Number of correctly received, accepted packets |
uint8_t | nRxFifoFull |
Number of packets received which could not be stored |
struct RCL_CMD_BLE5_GENERIC_TX_t |
Generic TX command.
Command to transmit a generic BLE packet with no restriction on packet contents
Data Fields | ||
---|---|---|
RCL_Command | common | |
RCL_Ble5Channel | channel |
Channel index |
RCL_Command_TxPower | txPower |
Transmit power |
RCL_CtxGenericTx * | ctx |
Pointer to context structure |
struct RCL_CTX_GENERIC_TX_t |
struct RCL_CMD_BLE5_TX_TEST_t |
BLE5 transmitter test command.
Command to transmit continuously, either a modulated signal or continuous wave
Data Fields | ||
---|---|---|
RCL_Command | common | |
uint8_t | channel |
Channel index |
RCL_Command_TxPower | txPower |
Transmit power |
uint16_t | txWord |
Repeated word to transmit |
struct RCL_CMD_BLE5_TX_TEST_t | config |
struct RCL_Ble5_RxPktStatus.__unnamed__ |
Data Fields | ||
---|---|---|
RCL_Ble5_RxPhy | phy:2 |
Received PHY |
uint8_t | crcError:1 |
True if packet had CRC error |
uint8_t | ignored:1 |
True if packet was ignored |
uint8_t | ignoredRpa:1 |
True if packet should have been ignored due to unknown RPA, but was kept due to rpaMode |
uint8_t | reserved:3 |
union RCL_FL_ENTRY_t.__unnamed__ |
Data Fields | ||
---|---|---|
__unnamed__ | ctl | |
uint16_t | ctlWord |
struct RCL_FL_ENTRY_t.__unnamed__.ctl |
struct RCL_CTX_SCAN_INIT_t.backoffStatus |
struct RCL_STATS_ADV_SCAN_INIT_t.config |
struct RCL_STATS_CONNECTION_t.config |
struct RCL_CTX_GENERIC_RX_t.config |
struct RCL_STATS_GENERIC_RX_t.config |
struct RCL_CMD_BLE5_TX_TEST_t.config |
#define RCL_BLE5_RX_PKT_STATUS_INVALID 0xFF |
#define RCL_CMDID_BLE5_ADVERTISER 0x1001U |
#define RCL_CMDID_BLE5_INITIATOR 0x1002U |
#define RCL_CMDID_BLE5_SCANNER 0x1003U |
#define RCL_CMDID_BLE5_CONNECTION 0x1004U |
#define RCL_CMDID_BLE5_DTM_TX 0x1005U |
#define RCL_CMDID_BLE5_GENERIC_RX 0x1006U |
#define RCL_CMDID_BLE5_GENERIC_TX 0x1007U |
#define RCL_CMDID_BLE5_TX_TEST 0x1008U |
#define BLE_CUSTOM_FREQ_BM 0x80U |
Bit mask indicating the use of a custom frequency.
If a channel or chanMap parameter has this bit set, the RF frequency used must be programmed with RCL_BLE5_setDefaultRfFrequency(), and the whitening is initialzed by bits 0-6 of channel or chanMap
#define RCL_CmdBle5Advertiser_Default | ( | ) |
#define RCL_CmdBle5Advertiser_DefaultRuntime | ( | ) | (RCL_CmdBle5Advertiser) RCL_CmdBle5Advertiser_Default() |
#define RCL_CtxAdvertiser_Default | ( | ) |
#define RCL_CtxAdvertiser_DefaultRuntime | ( | ) | (RCL_CtxAdvertiser) RCL_CtxAdvertiser_Default() |
#define RCL_CmdInitiator_Default | ( | ) |
#define RCL_CmdInitiator_DefaultRuntime | ( | ) | (RCL_CmdBle5Initiator) RCL_CmdInitiator_Default() |
#define RCL_CmdScanner_Default | ( | ) |
#define RCL_CmdScanner_DefaultRuntime | ( | ) | (RCL_CmdBle5Scanner) RCL_CmdScanner_Default() |
#define RCL_CtxScanInit_Default | ( | ) |
#define RCL_CtxScanInit_DefaultRuntime | ( | ) | (RCL_CtxScanInit) RCL_CtxScanInit_Default() |
#define RCL_StatsAdvScanInit_Default | ( | ) |
#define RCL_StatsAdvScanInit_DefaultRuntime | ( | ) | (RCL_StatsAdvScanInit) RCL_StatsAdvScanInit_Default() |
#define RCL_CmdBle5Connection_Default | ( | ) |
#define RCL_CmdBle5Connection_DefaultRuntime | ( | ) | (RCL_CmdBle5Connection) RCL_CmdBle5Connection_Default() |
#define _INIT_SEQSTAT |
#define RCL_CtxConnection_Default | ( | ) |
#define RCL_CtxConnection_DefaultRuntime | ( | ) | (RCL_CtxConnection) RCL_CtxConnection_Default() |
#define RCL_StatsConnection_Default | ( | ) |
#define RCL_StatsConnection_DefaultRuntime | ( | ) | (RCL_StatsConnection) RCL_StatsConnection_Default() |
#define RCL_CmdBle5DtmTx_Default | ( | ) |
#define RCL_CmdBle5DtmTx_DefaultRuntime | ( | ) | (RCL_CmdBle5DtmTx) RCL_CmdBle5DtmTx_Default() |
#define RCL_CmdBle5GenericRx_Default | ( | ) |
#define RCL_CmdBle5GenericRx_DefaultRuntime | ( | ) | (RCL_CmdBle5GenericRx) RCL_CmdBle5GenericRx_Default() |
#define RCL_CtxGenericRx_Default | ( | ) |
#define RCL_CtxGenericRx_DefaultRuntime | ( | ) | (RCL_CtxGenericRx) RCL_CtxGenericRx_Default() |
#define RCL_StatsGenericRx_Default | ( | ) |
#define RCL_StatsGenericRx_DefaultRuntime | ( | ) | (RCL_StatsGenericRx) RCL_StatsGenericRx_Default() |
#define RCL_CmdBle5GenericTx_Default | ( | ) |
#define RCL_CmdBle5GenericTx_DefaultRuntime | ( | ) | (RCL_CmdBle5GenericTx) RCL_CmdBle5GenericTx_Default() |
#define RCL_CtxGenericTx_Default | ( | ) |
#define RCL_CtxGenericTx_DefaultRuntime | ( | ) | (RCL_CtxGenericTx) RCL_CtxGenericTx_Default() |
#define RCL_CmdBle5TxTest_Default | ( | ) |
#define RCL_CmdBle5TxTest_DefaultRuntime | ( | ) | (RCL_CmdBle5TxTest) RCL_CmdBle5TxTest_Default() |
#define RCL_CMD_BLE5_WH_MODE_DEFAULT 0 |
config.whitenMode: Deafult (or no) whitening
#define RCL_CMD_BLE5_WH_MODE_PRBS9 1 |
config.whitenMode: PRBS-9
#define RCL_CMD_BLE5_WH_MODE_PRBS15 2 |
config.whitenMode: PRBS-15
#define RCL_CMD_BLE5_WH_MODE_PRBS32 3 |
config.whitenMode: PRBS-32
typedef uint8_t RCL_Ble5Channel |
Type for BLE channels.
0-39: BLE channel number, indicates standard BLE whitening 64-103: Physical channel number; 64 is 2402 MHz, 65 is 2404 MHz, etc. Whitening disabled 128-255: Custom frequency programmed with RCL_BLE5_setDefaultRfFrequency(); custom whitening. See BLE_CUSTOM_FREQ_BM.
enum RCL_Ble5_RxPhy |