33 #ifndef ti_drivers_RCL_commands_ble5_h__include 34 #define ti_drivers_RCL_commands_ble5_h__include 97 uint8_t ignoredAddr :1;
98 uint8_t syncInfoOnly :1;
105 #define RCL_BLE5_RX_PKT_STATUS_INVALID 0xFF 110 #include <ti/drivers/utils/List.h> 112 #include <ti/devices/DeviceFamily.h> 113 #include DeviceFamily_constructPath(inc/pbe_ble5_ram_regs.h) 116 #define RCL_CMDID_BLE5_ADVERTISER 0x1001U 117 #define RCL_CMDID_BLE5_INITIATOR 0x1002U 118 #define RCL_CMDID_BLE5_SCANNER 0x1003U 119 #define RCL_CMDID_BLE5_CONNECTION 0x1004U 120 #define RCL_CMDID_BLE5_DTM_TX 0x1005U 121 #define RCL_CMDID_BLE5_GENERIC_RX 0x1006U 122 #define RCL_CMDID_BLE5_GENERIC_TX 0x1007U 123 #define RCL_CMDID_BLE5_TX_TEST 0x1008U 124 #define RCL_CMDID_BLE5_AUX_ADV 0x1009U 125 #define RCL_CMDID_BLE5_PERIODIC_ADV 0x100AU 126 #define RCL_CMDID_BLE5_PERIODIC_SCAN 0x100BU 127 #define RCL_CMDID_BLE5_CH_ASSESSMENT 0x100CU 136 #define BLE_CUSTOM_FREQ_BM 0x80U 148 uint16_t enabled : 1;
149 uint16_t addType : 1;
150 uint16_t duplicateIgn : 1;
151 uint16_t privIgn : 1;
152 uint16_t reserved : 12;
166 RCL_FL_Entry entries[16];
217 #define RCL_CmdBle5Advertiser_Default() \ 219 .common = RCL_Command_Default(RCL_CMDID_BLE5_ADVERTISER, \ 220 RCL_Handler_BLE5_adv), \ 222 .txPower = {.dBm = 0, .fraction = 0}, \ 225 .connectPktTime = 0, \ 229 #define RCL_CmdBle5Advertiser_DefaultRuntime() (RCL_CmdBle5Advertiser) RCL_CmdBle5Advertiser_Default() 245 #define RCL_CmdBle5AuxAdvertiser_Default() \ 247 .common = RCL_Command_Default(RCL_CMDID_BLE5_AUX_ADV, \ 248 RCL_Handler_BLE5_aux_adv), \ 250 .txPower = {.dBm = 0, .fraction = 0}, \ 254 #define RCL_CmdBle5AuxAdvertiser_DefaultRuntime() (RCL_CmdBle5AuxAdvertiser) RCL_CmdBle5AuxAdvertiser_Default() 269 uint8_t filterPolicy: 2;
270 uint8_t privIgnMode: 1;
271 uint8_t addrModePeer: 1;
272 uint8_t acceptAllConnectInd: 1;
275 #define RCL_CtxAdvertiser_Default() \ 277 .filterListConn = NULL, \ 278 .filterListScan = NULL, \ 279 .txBuffers = { 0 }, \ 280 .rxBuffers = { 0 }, \ 287 .acceptAllConnectInd = 0 \ 289 #define RCL_CtxAdvertiser_DefaultRuntime() (RCL_CtxAdvertiser) RCL_CtxAdvertiser_Default() 300 RCL_CtxPeriodicAdvertiser *
ctx;
304 #define RCL_CmdBle5PeriodicAdvertiser_Default() \ 306 .common = RCL_Command_Default(RCL_CMDID_BLE5_PERIODIC_ADV, \ 307 RCL_Handler_BLE5_periodicAdv), \ 309 .txPower = {.dBm = 0, .fraction = 0}, \ 313 #define RCL_CmdBle5PeriodicAdvertiser_DefaultRuntime() (RCL_CmdBle5PeriodicAdvertiser) RCL_CmdBle5PeriodicAdvertiser_Default() 326 #define RCL_CtxPeriodicAdvertiser_Default() \ 328 .txBuffers = { 0 }, \ 329 .accessAddress = 0, \ 332 #define RCL_CtxPeriodicAdvertiser_DefaultRuntime() (RCL_CtxPeriodicAdvertiser) RCL_CtxPeriodicAdvertiser_Default() 345 bool acceptLegacy : 1;
346 bool acceptExtended : 1;
352 #define RCL_CmdInitiator_Default() \ 354 .common = RCL_Command_Default(RCL_CMDID_BLE5_INITIATOR, \ 355 RCL_Handler_BLE5_scan_init), \ 357 .txPower = {.dBm = 0, .fraction = 0}, \ 358 .maxAuxPtrWaitTime = 30000, \ 359 .dynamicWinOffset = 0, \ 361 .acceptExtended = 0, \ 366 #define RCL_CmdInitiator_DefaultRuntime() (RCL_CmdBle5Initiator) RCL_CmdInitiator_Default() 379 bool acceptLegacy : 1;
380 bool acceptExtended : 1;
385 #define RCL_CmdScanner_Default() \ 387 .common = RCL_Command_Default(RCL_CMDID_BLE5_SCANNER, \ 388 RCL_Handler_BLE5_scan_init), \ 390 .txPower = {.dBm = 0, .fraction = 0}, \ 391 .maxAuxPtrWaitTime = 20000, \ 394 .acceptExtended = 0, \ 398 #define RCL_CmdScanner_DefaultRuntime() (RCL_CmdBle5Scanner) RCL_CmdScanner_Default() 411 uint16_t scanReqA[3];
413 uint8_t filterPolicy : 1;
414 uint8_t scanExtFilterPolicy: 1;
415 uint8_t addrModePeer: 1;
416 uint8_t acceptAllRpaConnectRsp: 1;
417 uint8_t periodicSyncEstablishment: 1;
422 uint8_t backOffLastFail : 1;
423 uint8_t backOffLastSucceed : 1;
424 uint8_t reserved : 6;
430 #define RCL_CtxScanInit_Default() \ 432 .filterList = NULL, \ 433 .txBuffers = { 0 }, \ 434 .rxBuffers = { 0 }, \ 440 .scanExtFilterPolicy = 0, \ 442 .acceptAllRpaConnectRsp = 0, \ 443 .periodicSyncEstablishment = 0, \ 444 .initialBackoff = 1, \ 446 .backoffStatus = { 0 }, \ 447 .localClockAccuracy = 3355, \ 449 #define RCL_CtxScanInit_DefaultRuntime() (RCL_CtxScanInit) RCL_CtxScanInit_Default() 463 RCL_CtxPeriodicScanner *
ctx;
467 #define RCL_CmdPeriodicScanner_Default() \ 469 .common = RCL_Command_Default(RCL_CMDID_BLE5_PERIODIC_SCAN, \ 470 RCL_Handler_BLE5_periodicScan), \ 472 .txPower = {.dBm = 0, .fraction = 0}, \ 474 .maxAuxPtrWaitTime = 20000, \ 475 .receivedPktTime = 0, \ 479 #define RCL_CmdPeriodicScanner_DefaultRuntime() (RCL_CmdBle5PeriodicScanner) RCL_CmdPeriodicScanner_Default() 498 #define RCL_CtxPeriodicScanner_Default() \ 500 .txBuffers = { 0 }, \ 501 .rxBuffers = { 0 }, \ 505 .localClockAccuracy = 3355, \ 506 .accessAddress = 0, \ 508 .acceptAllConnectInd = 1, \ 510 #define RCL_CtxPeriodicScanner_DefaultRuntime() (RCL_CtxPeriodicScanner) RCL_CtxPeriodicScanner_Default() 520 uint8_t accumulate : 1;
521 uint8_t activeUpdate : 1;
522 uint8_t reserved : 6;
534 #define RCL_StatsAdvScanInit_Default() \ 537 .timestampValid = 0, \ 538 .lastRssi = LRF_RSSI_INVALID, \ 540 #define RCL_StatsAdvScanInit_DefaultRuntime() (RCL_StatsAdvScanInit) RCL_StatsAdvScanInit_Default() 556 #define RCL_CmdBle5Connection_Default() \ 558 .common = RCL_Command_Default(RCL_CMDID_BLE5_CONNECTION, \ 559 RCL_Handler_BLE5_conn), \ 561 .txPower = {.dBm = 0, .fraction = 0}, \ 565 #define RCL_CmdBle5Connection_DefaultRuntime() (RCL_CmdBle5Connection) RCL_CmdBle5Connection_Default() 581 #define _INIT_SEQSTAT (PBE_BLE5_RAM_SEQSTAT_LASTRXSN_M | \ 582 PBE_BLE5_RAM_SEQSTAT_LASTTXSN_M | \ 583 PBE_BLE5_RAM_SEQSTAT_FIRSTPKT_M ) 585 #define RCL_CtxConnection_Default() \ 587 .txBuffers = { 0 }, \ 588 .rxBuffers = { 0 }, \ 590 .seqStat = _INIT_SEQSTAT, \ 591 .accessAddress = 0, \ 594 #define RCL_CtxConnection_DefaultRuntime() (RCL_CtxConnection) RCL_CtxConnection_Default() 604 uint8_t accumulate : 1;
605 uint8_t activeUpdate : 1;
606 uint8_t reserved : 6;
626 #define RCL_StatsConnection_Default() \ 630 .lastRssi = LRF_RSSI_INVALID, \ 632 #define RCL_StatsConnection_DefaultRuntime() (RCL_StatsConnection) RCL_StatsConnection_Default() 650 #define RCL_CmdBle5DtmTx_Default() \ 652 .common = RCL_Command_Default(RCL_CMDID_BLE5_DTM_TX, \ 653 RCL_Handler_BLE5_dtmTx), \ 655 .txPower = {.dBm = 0, .fraction = 0}, \ 662 #define RCL_CmdBle5DtmTx_DefaultRuntime() (RCL_CmdBle5DtmTx) RCL_CmdBle5DtmTx_Default() 676 #define RCL_CmdBle5GenericRx_Default() \ 678 .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_RX, \ 679 RCL_Handler_BLE5_genericRx), \ 684 #define RCL_CmdBle5GenericRx_DefaultRuntime() (RCL_CmdBle5GenericRx) RCL_CmdBle5GenericRx_Default() 699 uint8_t disableSync: 1;
700 uint8_t discardRxPackets: 1;
705 #define RCL_CtxGenericRx_Default() \ 707 .rxBuffers = { 0 }, \ 708 .accessAddress = 0x71764129U, \ 709 .crcInit = 0x555555, \ 715 .discardRxPackets = 1, \ 719 #define RCL_CtxGenericRx_DefaultRuntime() (RCL_CtxGenericRx) RCL_CtxGenericRx_Default() 729 uint8_t accumulate : 1;
730 uint8_t activeUpdate : 1;
731 uint8_t reserved : 6;
741 #define RCL_StatsGenericRx_Default() \ 744 .timestampValid = 0, \ 745 .lastRssi = LRF_RSSI_INVALID, \ 747 #define RCL_StatsGenericRx_DefaultRuntime() (RCL_StatsGenericRx) RCL_StatsGenericRx_Default() 761 #define RCL_CmdBle5GenericTx_Default() \ 763 .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_TX, \ 764 RCL_Handler_BLE5_genericTx), \ 766 .txPower = {.dBm = 0, .fraction = 0}, \ 769 #define RCL_CmdBle5GenericTx_DefaultRuntime() (RCL_CmdBle5GenericTx) RCL_CmdBle5GenericTx_Default() 782 #define RCL_CtxGenericTx_Default() \ 784 .txBuffers = { 0 }, \ 785 .accessAddress = 0x71764129U, \ 786 .crcInit = 0x555555, \ 788 #define RCL_CtxGenericTx_DefaultRuntime() (RCL_CtxGenericTx) RCL_CtxGenericTx_Default() 801 uint8_t whitenMode: 2;
807 #define RCL_CmdBle5TxTest_Default() \ 809 .common = RCL_Command_Default(RCL_CMDID_BLE5_TX_TEST, \ 810 RCL_Handler_Ble5_txTest), \ 812 .txPower = {.dBm = 0, .fraction = 0}, \ 820 #define RCL_CmdBle5TxTest_DefaultRuntime() (RCL_CmdBle5TxTest) RCL_CmdBle5TxTest_Default() 822 #define RCL_CMD_BLE5_WH_MODE_DEFAULT 0 823 #define RCL_CMD_BLE5_WH_MODE_PRBS9 1 824 #define RCL_CMD_BLE5_WH_MODE_PRBS15 2 825 #define RCL_CMD_BLE5_WH_MODE_PRBS32 3 833 struct RCL_CMD_BLE5_CH_ASSESSMENT_t { 840 #define RCL_CmdBle5ChAssessment_Default() \ 842 .common = RCL_Command_Default(RCL_CMDID_BLE5_CH_ASSESSMENT, \ 843 RCL_Handler_BLE5_ChannelAssessment), \ 845 .assessmentThreshold = -70, \ 846 .assessmentDuration = 400, \ 848 #define RCL_CmdBle5ChAssessment_DefaultRuntime() (RCL_CmdBle5ChAssessment) RCL_CmdBle5ChAssessment_Default() RCL_Command common
Definition: ble5.h:640
RCL_Command common
Definition: ble5.h:457
struct RCL_STATS_GENERIC_RX_t::@11 config
RCL_Command common
Definition: ble5.h:374
Secondary Channel Advertiser command.
Definition: ble5.h:236
uint32_t crcInit
Definition: ble5.h:694
Generic TX context.
Definition: ble5.h:776
uint32_t crcInit
Definition: ble5.h:779
RCL_Command common
Definition: ble5.h:548
RCL_AddrType addrType
Definition: ble5.h:412
RCL_Command common
Definition: ble5.h:670
Statistics structure for generic RX.
Definition: ble5.h:726
uint8_t nRxNok
Definition: ble5.h:616
uint16_t nRxOk
Definition: ble5.h:737
uint32_t accessAddress
Definition: ble5.h:778
List_List rxBuffers
Definition: ble5.h:488
uint16_t seqStat
Definition: ble5.h:576
uint16_t localClockAccuracy
Definition: ble5.h:426
Statistics structure for advertiser, scanner and initiator.
Definition: ble5.h:517
RCL_CtxPeriodicScanner * ctx
Definition: ble5.h:463
uint16_t assessmentDuration
Definition: ble5.h:837
List_List txBuffers
Definition: ble5.h:407
RCL_CtxGenericRx * ctx
Definition: ble5.h:672
RCL_Ble5Channel channel
Definition: ble5.h:341
List_List rxBuffers
Definition: ble5.h:265
Periodic advertiser command.
Definition: ble5.h:296
RCL_Ble5Channel channel
Definition: ble5.h:549
int8_t lastRssi
Definition: ble5.h:525
Scanner command.
Definition: ble5.h:373
BLE5 transmitter test command.
Definition: ble5.h:795
List_List rxBuffers
Definition: ble5.h:408
uint16_t txWord
Definition: ble5.h:799
uint8_t highDuty
Definition: ble5.h:211
RCL_Command common
Definition: ble5.h:340
uint16_t maxAuxPtrWaitTime
Definition: ble5.h:377
uint8_t nRxCtlAck
Definition: ble5.h:623
uint32_t anchorPoint
Definition: ble5.h:610
bool dynamicWinOffset
Definition: ble5.h:344
List_List txBuffers
Definition: ble5.h:573
uint8_t channel
Definition: ble5.h:797
RCL_Ble5Channel channel
Definition: ble5.h:298
bool perAdvType
Definition: ble5.h:460
uint32_t connectPktTime
Definition: ble5.h:240
RCL_AddrType addrType
Definition: ble5.h:268
uint16_t periodUs
Definition: ble5.h:646
uint16_t nRxNok
Definition: ble5.h:527
uint32_t receivedPktTime
Definition: ble5.h:462
RCL_Ble5_RxPhy
PHY returned in status of received packets.
Definition: ble5.h:81
uint32_t numEntries
Definition: ble5.h:165
uint8_t nTxAck
Definition: ble5.h:612
RCL_Command_TxPower txPower
Definition: ble5.h:550
List_List rxBuffers
Definition: ble5.h:692
uint16_t nRxIgnored
Definition: ble5.h:528
RCL_StatsGenericRx * stats
Definition: ble5.h:673
Address type.
Definition: ble5.h:174
List_List txBuffers
Definition: ble5.h:321
RCL_Command common
Definition: ble5.h:796
RCL_ConnParams connParams
Definition: ble5.h:427
uint8_t nTxCtl
Definition: ble5.h:614
uint32_t connectPktTime
Definition: ble5.h:212
RCL_FilterList * filterListConn
Definition: ble5.h:262
uint8_t pduLength
Definition: ble5.h:644
uint8_t nRxFifoFull
Definition: ble5.h:530
Index of the tx power table.
Definition: LRFCC23X0.h:169
RCL_CtxAdvertiser * ctx
Definition: ble5.h:213
RCL_StatsAdvScanInit * stats
Definition: ble5.h:242
List_List txBuffers
Definition: ble5.h:264
List_List txBuffers
Definition: ble5.h:487
RCL_Ble5Channel channel
Definition: ble5.h:835
uint16_t nRxOk
Definition: ble5.h:529
RCL_StatsAdvScanInit * stats
Definition: ble5.h:464
uint16_t maxAuxPtrWaitTime
Definition: ble5.h:343
uint8_t chanMap
Definition: ble5.h:208
bool activeScan
Definition: ble5.h:378
uint32_t crcInit
Definition: ble5.h:323
int8_t lastRssi
Definition: ble5.h:734
uint8_t value
Definition: ble5.h:101
RCL_Ble5Channel channel
Definition: ble5.h:375
RCL_Command_TxPower txPower
Definition: ble5.h:642
RCL_FilterList * filterListScan
Definition: ble5.h:263
uint8_t acceptAllConnectInd
Definition: ble5.h:495
RCL_Ble5Channel channel
Definition: ble5.h:238
Generic RX command.
Definition: ble5.h:669
RCL_Command common
Definition: ble5.h:755
RCL_Command common
Definition: ble5.h:237
RCL_Command_TxPower txPower
Definition: ble5.h:342
RCL_CtxScanInit * ctx
Definition: ble5.h:381
RCL_Command common
Definition: ble5.h:297
uint32_t connectTime
Definition: ble5.h:347
RCL_StatsConnection * stats
Definition: ble5.h:553
DTM TX command.
Definition: ble5.h:639
int8_t assessmentThreshold
Definition: ble5.h:836
List_List txBuffers
Definition: ble5.h:777
uint8_t nRxCtl
Definition: ble5.h:622
uint32_t accessAddress
Definition: ble5.h:577
RCL_StatsAdvScanInit * stats
Definition: ble5.h:349
uint16_t relRxTimeoutTime
Definition: ble5.h:551
uint32_t crcInit
Definition: ble5.h:494
Appended packet status field from RX buffer.
Definition: ble5.h:92
RCL_Command_TxPower txPower
Definition: ble5.h:459
RCL_CtxConnection * ctx
Definition: ble5.h:552
RCL_CtxScanInit * ctx
Definition: ble5.h:348
RCL_AddrType addrType
Definition: ble5.h:491
uint32_t accessAddress
Definition: ble5.h:693
uint32_t lastTimestamp
Definition: ble5.h:735
Connection context.
Definition: ble5.h:572
uint8_t nTx
Definition: ble5.h:621
uint8_t nTx
Definition: ble5.h:531
Generic TX command.
Definition: ble5.h:754
List_List rxBuffers
Definition: ble5.h:574
uint8_t nTxRetrans
Definition: ble5.h:615
uint8_t timestampValid
Definition: ble5.h:733
uint16_t initialBackoff
Definition: ble5.h:418
RCL_StatsAdvScanInit * stats
Definition: ble5.h:301
Periodic Advertiser context.
Definition: ble5.h:320
uint8_t order
Definition: ble5.h:210
RCL_CtxGenericTx * ctx
Definition: ble5.h:758
bool isPeripheral
Definition: ble5.h:575
uint8_t timestampValid
Definition: ble5.h:524
Filter list object.
Definition: ble5.h:164
uint8_t maxPkts
Definition: ble5.h:696
uint8_t nRxOk
Definition: ble5.h:620
uint8_t nTxDone
Definition: ble5.h:611
RCL_CtxPeriodicAdvertiser * ctx
Definition: ble5.h:300
Generic RX context.
Definition: ble5.h:691
uint8_t nRxEmpty
Definition: ble5.h:618
RCL_Command_TxPower txPower
Definition: ble5.h:299
RCL_Ble5Channel channel
Definition: ble5.h:641
Periodic Scanner command.
Definition: ble5.h:456
int8_t lastRssi
Definition: ble5.h:609
uint8_t pduHeader
Definition: ble5.h:643
uint32_t crcInit
Definition: ble5.h:578
RCL_Command_TxPower txPower
Definition: ble5.h:757
uint8_t nRxFifoFull
Definition: ble5.h:738
uint8_t anchorValid
Definition: ble5.h:608
RCL_Command_TxPower txPower
Definition: ble5.h:209
Statistics structure for connection.
Definition: ble5.h:601
uint32_t accessAddress
Definition: ble5.h:322
RCL_Command common
Definition: ble5.h:207
RCL_Command_TxPower txPower
Definition: ble5.h:239
uint32_t accessAddress
Definition: ble5.h:493
RCL_StatsAdvScanInit * stats
Definition: ble5.h:214
uint16_t maxAuxPtrWaitTime
Definition: ble5.h:461
Advertiser context.
Definition: ble5.h:261
RCL_Ble5Channel channel
Definition: ble5.h:756
RCL_Ble5Channel channel
Definition: ble5.h:458
Filter list entry.
Definition: ble5.h:143
uint8_t cteInfo
Definition: ble5.h:645
RCL_Command common
Definition: ble5.h:834
uint8_t nRxIgnored
Definition: ble5.h:617
Connection command.
Definition: ble5.h:547
RCL_Command_TxPower txPower
Definition: ble5.h:376
Advertiser command.
Definition: ble5.h:206
uint8_t backoffUpper
Definition: ble5.h:419
RCL_Command_TxPower txPower
Definition: ble5.h:798
RCL_CtxAdvertiser * ctx
Definition: ble5.h:241
RCL_Ble5Channel channel
Definition: ble5.h:671
uint16_t nRxNok
Definition: ble5.h:736
Scanner and initiator context.
Definition: ble5.h:405
RCL_FilterList * filterList
Definition: ble5.h:406
uint32_t lastTimestamp
Definition: ble5.h:526
uint8_t maxPktLen
Definition: ble5.h:695
uint8_t nRxFifoFull
Definition: ble5.h:619
RCL_StatsAdvScanInit * stats
Definition: ble5.h:382
uint16_t localClockAccuracy
Definition: ble5.h:492
uint8_t nTxCtlAck
Definition: ble5.h:613
Periodic scanner context.
Definition: ble5.h:486
Channel Assessment command.
Definition: ble5.h:833
Initiator command.
Definition: ble5.h:339
Connection parameters.
Definition: ble5.h:186
uint8_t RCL_Ble5Channel
Type for BLE channels.
Definition: ble5.h:75
uint16_t numPackets
Definition: ble5.h:647