Radio Control Layer (RCL)
ble5.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020-2024, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef ti_drivers_RCL_commands_ble5_h__include
34 #define ti_drivers_RCL_commands_ble5_h__include
35 
36 typedef struct RCL_FL_ENTRY_t RCL_FL_Entry;
37 typedef struct RCL_FILTER_LIST_t RCL_FilterList;
38 typedef struct RCL_ADI_FILTER_LIST_t RCL_AdiFilterList;
39 
40 typedef struct RCL_ADDR_TYPE_t RCL_AddrType;
41 
42 typedef struct RCL_CMD_BLE5_ADV_t RCL_CmdBle5Advertiser;
43 typedef struct RCL_CMD_BLE5_AUX_ADV_t RCL_CmdBle5AuxAdvertiser;
44 typedef struct RCL_CMD_BLE5_INITIATOR_t RCL_CmdBle5Initiator;
45 typedef struct RCL_CMD_BLE5_SCANNER_t RCL_CmdBle5Scanner;
46 typedef struct RCL_CMD_BLE5_CONNECTION_t RCL_CmdBle5Connection;
47 typedef struct RCL_CMD_BLE5_DTM_TX RCL_CmdBle5DtmTx;
48 typedef struct RCL_CMD_BLE5_GENERIC_RX_t RCL_CmdBle5GenericRx;
49 typedef struct RCL_CMD_BLE5_GENERIC_TX_t RCL_CmdBle5GenericTx;
50 typedef struct RCL_CMD_BLE5_TX_TEST_t RCL_CmdBle5TxTest;
51 
52 typedef struct RCL_CTX_ADVERTISER_t RCL_CtxAdvertiser;
53 typedef struct RCL_CTX_SCAN_INIT_t RCL_CtxScanInit;
54 typedef struct RCL_CTX_CONNECTION_t RCL_CtxConnection;
55 typedef struct RCL_CTX_GENERIC_RX_t RCL_CtxGenericRx;
56 typedef struct RCL_CTX_GENERIC_TX_t RCL_CtxGenericTx;
57 
58 typedef struct RCL_STATS_ADV_SCAN_INIT_t RCL_StatsAdvScanInit;
59 typedef struct RCL_STATS_CONNECTION_t RCL_StatsConnection;
60 typedef struct RCL_STATS_GENERIC_RX_t RCL_StatsGenericRx;
61 
70 typedef uint8_t RCL_Ble5Channel;
71 
76 typedef enum {
82 
87 typedef union {
88  struct {
89  RCL_Ble5_RxPhy phy :2;
90  uint8_t crcError :1;
91  uint8_t ignored :1;
92  uint8_t ignoredRpa :1;
93  uint8_t reserved :3;
94  };
95  uint8_t value;
97 
98 /* Invalid packet status */
99 #define RCL_BLE5_RX_PKT_STATUS_INVALID 0xFF
100 
101 /* Do includes after typedefs, as the types are needed in ti/drivers/rcl/handlers/ble5.h */
104 #include <ti/drivers/utils/List.h>
105 
106 #include <ti/devices/DeviceFamily.h>
107 #include DeviceFamily_constructPath(inc/pbe_ble5_ram_regs.h)
108 
109 /* Command IDs for BLE commands */
110 #define RCL_CMDID_BLE5_ADVERTISER 0x1001U
111 #define RCL_CMDID_BLE5_INITIATOR 0x1002U
112 #define RCL_CMDID_BLE5_SCANNER 0x1003U
113 #define RCL_CMDID_BLE5_CONNECTION 0x1004U
114 #define RCL_CMDID_BLE5_DTM_TX 0x1005U
115 #define RCL_CMDID_BLE5_GENERIC_RX 0x1006U
116 #define RCL_CMDID_BLE5_GENERIC_TX 0x1007U
117 #define RCL_CMDID_BLE5_TX_TEST 0x1008U
118 #define RCL_CMDID_BLE5_AUX_ADV 0x1009U
119 
127 #define BLE_CUSTOM_FREQ_BM 0x80U
128 
135  union
136  {
137  struct
138  {
139  uint16_t enabled : 1;
140  uint16_t addType : 1;
141  uint16_t duplicateIgn : 1;
142  uint16_t privIgn : 1;
143  uint16_t reserved : 12;
144  } ctl;
145  uint16_t ctlWord;
146  };
147  uint16_t address[3];
148 };
149 
156  uint32_t numEntries;
157  RCL_FL_Entry entries[16];
158 };
159 
160 
167  uint32_t numEntries;
168 };
169 
176  uint8_t peer :1;
177  uint8_t own :1;
178  uint8_t reserved: 6;
179 };
180 
187  RCL_Command common;
188  uint8_t chanMap;
190  uint8_t order;
191  uint8_t highDuty;
192  uint32_t connectPktTime;
193  RCL_CtxAdvertiser *ctx;
194  RCL_StatsAdvScanInit *stats;
195 };
196 
197 #define RCL_CmdBle5Advertiser_Default() \
198 { \
199  .common = RCL_Command_Default(RCL_CMDID_BLE5_ADVERTISER, \
200  RCL_Handler_BLE5_adv), \
201  .chanMap = 0x7, \
202  .txPower = {.dBm = 0, .fraction = 0}, \
203  .order = 0, \
204  .highDuty = 0, \
205  .ctx = NULL, \
206  .stats = NULL, \
207 }
208 #define RCL_CmdBle5Advertiser_DefaultRuntime() (RCL_CmdBle5Advertiser) RCL_CmdBle5Advertiser_Default()
209 
216  RCL_Command common;
219  uint32_t connectPktTime;
220  RCL_CtxAdvertiser *ctx;
221  RCL_StatsAdvScanInit *stats;
222 };
223 
224 #define RCL_CmdBle5AuxAdvertiser_Default() \
225 { \
226  .common = RCL_Command_Default(RCL_CMDID_BLE5_AUX_ADV, \
227  RCL_Handler_BLE5_aux_adv), \
228  .channel = 0, \
229  .txPower = {.dBm = 0, .fraction = 0}, \
230  .ctx = NULL, \
231  .stats = NULL, \
232 }
233 #define RCL_CmdBle5AuxAdvertiser_DefaultRuntime() (RCL_CmdBle5AuxAdvertiser) RCL_CmdBle5AuxAdvertiser_Default()
234 
235 
242  RCL_FilterList *filterListConn;
243  RCL_FilterList *filterListScan;
244  List_List txBuffers;
245  List_List rxBuffers;
246  uint16_t advA[3];
247  uint16_t peerA[3];
248  RCL_AddrType addrType;
249  uint8_t filterPolicy: 2;
250  uint8_t privIgnMode: 1;
251  uint8_t rpaModePeer: 1;
252  uint8_t acceptAllRpaConnectInd: 1;
253 };
254 
255 #define RCL_CtxAdvertiser_Default() \
256 { \
257  .filterListConn = NULL, \
258  .filterListScan = NULL, \
259  .txBuffers = { 0 }, \
260  .rxBuffers = { 0 }, \
261  .advA = { 0 }, \
262  .peerA = { 0 }, \
263  .addrType = { 0 }, \
264  .filterPolicy = 0, \
265  .privIgnMode = 0, \
266  .rpaModePeer = 0, \
267  .acceptAllRpaConnectInd = 0 \
268 }
269 #define RCL_CtxAdvertiser_DefaultRuntime() (RCL_CtxAdvertiser) RCL_CtxAdvertiser_Default()
270 
276  RCL_Command common;
279  uint16_t maxAuxPtrWaitTime;
281  bool acceptLegacy : 1;
282  bool acceptExtended : 1;
283  uint32_t connectTime;
284  RCL_CtxScanInit *ctx;
285  RCL_StatsAdvScanInit *stats;
286 };
287 
288 #define RCL_CmdInitiator_Default() \
289 { \
290  .common = RCL_Command_Default(RCL_CMDID_BLE5_INITIATOR, \
291  RCL_Handler_BLE5_scan_init), \
292  .channel = 37, \
293  .txPower = {.dBm = 0, .fraction = 0}, \
294  .maxAuxPtrWaitTime = 30000, \
295  .dynamicWinOffset = 0, \
296  .acceptLegacy = 1, \
297  .acceptExtended = 0, \
298  .connectTime = 0, \
299  .ctx = NULL, \
300  .stats = NULL, \
301 }
302 #define RCL_CmdInitiator_DefaultRuntime() (RCL_CmdBle5Initiator) RCL_CmdInitiator_Default()
303 
310  RCL_Command common;
313  uint16_t maxAuxPtrWaitTime;
314  bool activeScan;
315  bool acceptLegacy : 1;
316  bool acceptExtended : 1;
317  RCL_CtxScanInit *ctx;
318  RCL_StatsAdvScanInit *stats;
319 };
320 
321 #define RCL_CmdScanner_Default() \
322 { \
323  .common = RCL_Command_Default(RCL_CMDID_BLE5_SCANNER, \
324  RCL_Handler_BLE5_scan_init), \
325  .channel = 37, \
326  .txPower = {.dBm = 0, .fraction = 0}, \
327  .maxAuxPtrWaitTime = 20000, \
328  .activeScan = 0, \
329  .acceptLegacy = 1, \
330  .acceptExtended = 0, \
331  .ctx = NULL, \
332  .stats = NULL, \
333 }
334 #define RCL_CmdScanner_DefaultRuntime() (RCL_CmdBle5Scanner) RCL_CmdScanner_Default()
335 
342  RCL_FilterList *filterList;
343  RCL_AdiFilterList *adiFilterList;
344  List_List txBuffers;
345  List_List rxBuffers;
346  uint16_t ownA[3];
347  uint16_t peerA[3];
348  RCL_AddrType addrType;
349  uint8_t filterPolicy : 1;
350  uint8_t scanExtFilterPolicy: 1;
351  uint8_t rpaModeOwn: 1;
352  uint8_t rpaModePeer: 1;
353  uint8_t acceptAllRpaConnectRsp: 1;
354  uint8_t periodicSyncEstablishment: 1;
355  uint16_t initialBackoff;
356  uint8_t backoffUpper;
357  struct
358  {
359  uint8_t backOffLastFail : 1;
360  uint8_t backOffLastSucceed : 1;
361  uint8_t reserved : 6;
362  } backoffStatus;
364 };
365 
366 #define RCL_CtxScanInit_Default() \
367 { \
368  .filterList = NULL, \
369  .adiFilterList = NULL, \
370  .txBuffers = { 0 }, \
371  .rxBuffers = { 0 }, \
372  .ownA = { 0 }, \
373  .peerA = { 0 }, \
374  .addrType = { 0 }, \
375  .filterPolicy = 0, \
376  .scanExtFilterPolicy = 0, \
377  .rpaModeOwn = 0, \
378  .rpaModePeer = 0, \
379  .acceptAllRpaConnectRsp = 0, \
380  .periodicSyncEstablishment = 0, \
381  .initialBackoff = 1, \
382  .backoffUpper = 0, \
383  .backoffStatus = { 0 }, \
384  .localClockAccuracy = 3355, \
385 }
386 #define RCL_CtxScanInit_DefaultRuntime() (RCL_CtxScanInit) RCL_CtxScanInit_Default()
387 
394  struct
395  {
396  uint8_t accumulate : 1;
397  uint8_t activeUpdate : 1;
398  uint8_t reserved : 6;
399  } config;
400  uint8_t timestampValid;
401  int8_t lastRssi;
402  uint32_t lastTimestamp;
403  uint16_t nRxNok;
404  uint16_t nRxIgnored;
405  uint16_t nRxOk;
406  uint8_t nRxFifoFull;
407  uint8_t nTx;
408 };
409 
410 #define RCL_StatsAdvScanInit_Default() \
411 { \
412  .config = { 0 }, \
413  .timestampValid = 0, \
414  .lastRssi = LRF_RSSI_INVALID, \
415 }
416 #define RCL_StatsAdvScanInit_DefaultRuntime() (RCL_StatsAdvScanInit) RCL_StatsAdvScanInit_Default()
417 
424  RCL_Command common;
427  uint16_t relRxTimeoutTime;
428  RCL_CtxConnection *ctx;
429  RCL_StatsConnection *stats;
430 };
431 
432 #define RCL_CmdBle5Connection_Default() \
433 { \
434  .common = RCL_Command_Default(RCL_CMDID_BLE5_CONNECTION, \
435  RCL_Handler_BLE5_conn), \
436  .channel = 0, \
437  .txPower = {.dBm = 0, .fraction = 0}, \
438  .ctx = NULL, \
439  .stats = NULL, \
440 }
441 #define RCL_CmdBle5Connection_DefaultRuntime() (RCL_CmdBle5Connection) RCL_CmdBle5Connection_Default()
442 
449  List_List txBuffers;
450  List_List rxBuffers;
452  uint16_t seqStat;
453  uint32_t accessAddress;
454  uint32_t crcInit;
455 };
456 
457 #define _INIT_SEQSTAT (PBE_BLE5_RAM_SEQSTAT_LASTRXSN_M | \
458  PBE_BLE5_RAM_SEQSTAT_LASTTXSN_M | \
459  PBE_BLE5_RAM_SEQSTAT_FIRSTPKT_M )
460 
461 #define RCL_CtxConnection_Default() \
462 { \
463  .txBuffers = { 0 }, \
464  .rxBuffers = { 0 }, \
465  .isPeripheral = 0, \
466  .seqStat = _INIT_SEQSTAT, \
467  .accessAddress = 0, \
468  .crcInit = 0, \
469 }
470 #define RCL_CtxConnection_DefaultRuntime() (RCL_CtxConnection) RCL_CtxConnection_Default()
471 
478  struct
479  {
480  uint8_t accumulate : 1;
481  uint8_t activeUpdate : 1;
482  uint8_t reserved : 6;
483  } config;
484  uint8_t anchorValid;
485  int8_t lastRssi;
486  uint32_t anchorPoint;
487  uint8_t nTxDone;
488  uint8_t nTxAck;
489  uint8_t nTxCtlAck;
490  uint8_t nTxCtl;
491  uint8_t nTxRetrans;
492  uint8_t nRxNok;
493  uint8_t nRxIgnored;
494  uint8_t nRxEmpty;
495  uint8_t nRxFifoFull;
496  uint8_t nRxOk;
497  uint8_t nTx;
498  uint8_t nRxCtl;
499  uint8_t nRxCtlAck;
500 };
501 
502 #define RCL_StatsConnection_Default() \
503 { \
504  .config = { 0 }, \
505  .anchorValid = 0, \
506  .lastRssi = LRF_RSSI_INVALID, \
507 }
508 #define RCL_StatsConnection_DefaultRuntime() (RCL_StatsConnection) RCL_StatsConnection_Default()
509 
516  RCL_Command common;
519  uint8_t pduHeader;
520  uint8_t pduLength;
521  uint8_t cteInfo;
522  uint16_t periodUs;
523  uint16_t numPackets;
524 };
525 
526 #define RCL_CmdBle5DtmTx_Default() \
527 { \
528  .common = RCL_Command_Default(RCL_CMDID_BLE5_DTM_TX, \
529  RCL_Handler_BLE5_dtmTx), \
530  .channel = 64, \
531  .txPower = {.dBm = 0, .fraction = 0}, \
532  .pduHeader = 0x00, \
533  .pduLength = 37, \
534  .cteInfo = 0x14, \
535  .periodUs = 625, \
536  .numPackets = 0, \
537 }
538 #define RCL_CmdBle5DtmTx_DefaultRuntime() (RCL_CmdBle5DtmTx) RCL_CmdBle5DtmTx_Default()
539 
546  RCL_Command common;
548  RCL_CtxGenericRx *ctx;
549  RCL_StatsGenericRx *stats;
550 };
551 
552 #define RCL_CmdBle5GenericRx_Default() \
553 { \
554  .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_RX, \
555  RCL_Handler_BLE5_genericRx), \
556  .channel = 64, \
557  .ctx = NULL, \
558  .stats = NULL, \
559 }
560 #define RCL_CmdBle5GenericRx_DefaultRuntime() (RCL_CmdBle5GenericRx) RCL_CmdBle5GenericRx_Default()
561 
568  List_List rxBuffers;
569  uint32_t accessAddress;
570  uint32_t crcInit;
571  uint8_t maxPktLen;
572  struct {
573  uint8_t repeated: 1;
574  uint8_t disableSync: 1;
575  uint8_t discardRxPackets: 1;
576  uint8_t reserved: 4;
577  } config;
578 };
579 
580 #define RCL_CtxGenericRx_Default() \
581 { \
582  .rxBuffers = { 0 }, \
583  .accessAddress = 0x71764129U, \
584  .crcInit = 0x555555, \
585  .config = { \
586  .repeated = 1, \
587  .disableSync = 0, \
588  .discardRxPackets = 1, \
589  .reserved = 0, \
590  }, \
591 }
592 #define RCL_CtxGenericRx_DefaultRuntime() (RCL_CtxGenericRx) RCL_CtxGenericRx_Default()
593 
600  struct
601  {
602  uint8_t accumulate : 1;
603  uint8_t activeUpdate : 1;
604  uint8_t reserved : 6;
605  } config;
606  uint8_t timestampValid;
607  int8_t lastRssi;
608  uint32_t lastTimestamp;
609  uint16_t nRxNok;
610  uint16_t nRxOk;
611  uint8_t nRxFifoFull;
612 };
613 
614 #define RCL_StatsGenericRx_Default() \
615 { \
616  .config = { 0 }, \
617  .timestampValid = 0, \
618  .lastRssi = LRF_RSSI_INVALID, \
619 }
620 #define RCL_StatsGenericRx_DefaultRuntime() (RCL_StatsGenericRx) RCL_StatsGenericRx_Default()
621 
628  RCL_Command common;
631  RCL_CtxGenericTx *ctx;
632 };
633 
634 #define RCL_CmdBle5GenericTx_Default() \
635 { \
636  .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_TX, \
637  RCL_Handler_BLE5_genericTx), \
638  .channel = 64, \
639  .txPower = {.dBm = 0, .fraction = 0}, \
640  .ctx = NULL, \
641 }
642 #define RCL_CmdBle5GenericTx_DefaultRuntime() (RCL_CmdBle5GenericTx) RCL_CmdBle5GenericTx_Default()
643 
650  List_List txBuffers;
651  uint32_t accessAddress;
652  uint32_t crcInit;
653 };
654 
655 #define RCL_CtxGenericTx_Default() \
656 { \
657  .txBuffers = { 0 }, \
658  .accessAddress = 0x71764129U, \
659  .crcInit = 0x555555, \
660 }
661 #define RCL_CtxGenericTx_DefaultRuntime() (RCL_CtxGenericTx) RCL_CtxGenericTx_Default()
662 
669  RCL_Command common;
670  uint8_t channel;
672  uint16_t txWord;
673  struct {
674  uint8_t whitenMode: 2;
675  uint8_t sendCw: 1;
676  uint8_t reserved: 5;
677  } config;
678 };
679 
680 #define RCL_CmdBle5TxTest_Default() \
681 { \
682  .common = RCL_Command_Default(RCL_CMDID_BLE5_TX_TEST, \
683  RCL_Handler_Ble5_txTest), \
684  .channel = 64, \
685  .txPower = {.dBm = 0, .fraction = 0}, \
686  .txWord = 0, \
687  .config = { \
688  .whitenMode = 2, \
689  .sendCw = 0, \
690  .reserved = 0, \
691  }, \
692 }
693 #define RCL_CmdBle5TxTest_DefaultRuntime() (RCL_CmdBle5TxTest) RCL_CmdBle5TxTest_Default()
694 
695 #define RCL_CMD_BLE5_WH_MODE_DEFAULT 0
696 #define RCL_CMD_BLE5_WH_MODE_PRBS9 1
697 #define RCL_CMD_BLE5_WH_MODE_PRBS15 2
698 #define RCL_CMD_BLE5_WH_MODE_PRBS32 3
700 #endif
RCL_Command common
Definition: ble5.h:516
RCL_Command common
Definition: ble5.h:310
Secondary Channel Advertiser command.
Definition: ble5.h:215
uint32_t crcInit
Definition: ble5.h:570
Generic TX context.
Definition: ble5.h:649
uint32_t crcInit
Definition: ble5.h:652
RCL_Command common
Definition: ble5.h:424
RCL_AddrType addrType
Definition: ble5.h:348
RCL_Command common
Definition: ble5.h:546
Statistics structure for generic RX.
Definition: ble5.h:599
uint8_t nRxNok
Definition: ble5.h:492
uint16_t nRxOk
Definition: ble5.h:610
uint32_t accessAddress
Definition: ble5.h:651
uint16_t seqStat
Definition: ble5.h:452
uint16_t localClockAccuracy
Definition: ble5.h:363
Statistics structure for advertiser, scanner and initiator.
Definition: ble5.h:393
List_List txBuffers
Definition: ble5.h:344
RCL_CtxGenericRx * ctx
Definition: ble5.h:548
RCL_Ble5Channel channel
Definition: ble5.h:277
List_List rxBuffers
Definition: ble5.h:245
RCL_Ble5Channel channel
Definition: ble5.h:425
int8_t lastRssi
Definition: ble5.h:401
Scanner command.
Definition: ble5.h:309
BLE5 transmitter test command.
Definition: ble5.h:668
List_List rxBuffers
Definition: ble5.h:345
uint16_t txWord
Definition: ble5.h:672
uint8_t highDuty
Definition: ble5.h:191
RCL_Command common
Definition: ble5.h:276
uint16_t maxAuxPtrWaitTime
Definition: ble5.h:313
uint8_t nRxCtlAck
Definition: ble5.h:499
uint32_t anchorPoint
Definition: ble5.h:486
bool dynamicWinOffset
Definition: ble5.h:280
List_List txBuffers
Definition: ble5.h:449
uint8_t channel
Definition: ble5.h:670
uint32_t connectPktTime
Definition: ble5.h:219
RCL_AddrType addrType
Definition: ble5.h:248
uint16_t periodUs
Definition: ble5.h:522
uint16_t nRxNok
Definition: ble5.h:403
RCL_Ble5_RxPhy
PHY returned in status of received packets.
Definition: ble5.h:76
uint32_t numEntries
Definition: ble5.h:156
uint8_t nTxAck
Definition: ble5.h:488
RCL_Command_TxPower txPower
Definition: ble5.h:426
List_List rxBuffers
Definition: ble5.h:568
uint16_t nRxIgnored
Definition: ble5.h:404
RCL_StatsGenericRx * stats
Definition: ble5.h:549
Address type.
Definition: ble5.h:175
RCL_Command common
Definition: ble5.h:669
uint8_t nTxCtl
Definition: ble5.h:490
uint32_t connectPktTime
Definition: ble5.h:192
RCL_FilterList * filterListConn
Definition: ble5.h:242
uint8_t pduLength
Definition: ble5.h:520
uint8_t nRxFifoFull
Definition: ble5.h:406
struct RCL_STATS_GENERIC_RX_t::@9 config
Index of the tx power table.
Definition: LRFCC23X0.h:173
RCL_CtxAdvertiser * ctx
Definition: ble5.h:193
RCL_StatsAdvScanInit * stats
Definition: ble5.h:221
RCL_AdiFilterList * adiFilterList
Definition: ble5.h:343
List_List txBuffers
Definition: ble5.h:244
uint16_t nRxOk
Definition: ble5.h:405
uint16_t maxAuxPtrWaitTime
Definition: ble5.h:279
uint8_t chanMap
Definition: ble5.h:188
bool activeScan
Definition: ble5.h:314
int8_t lastRssi
Definition: ble5.h:607
uint8_t value
Definition: ble5.h:95
RCL_Ble5Channel channel
Definition: ble5.h:311
RCL_Command_TxPower txPower
Definition: ble5.h:518
RCL_FilterList * filterListScan
Definition: ble5.h:243
RCL_Ble5Channel channel
Definition: ble5.h:217
Generic RX command.
Definition: ble5.h:545
RCL_Command common
Definition: ble5.h:628
RCL_Command common
Definition: ble5.h:216
Definition: ble5.h:79
RCL_Command_TxPower txPower
Definition: ble5.h:278
RCL_CtxScanInit * ctx
Definition: ble5.h:317
uint32_t connectTime
Definition: ble5.h:283
RCL_StatsConnection * stats
Definition: ble5.h:429
DTM TX command.
Definition: ble5.h:515
List_List txBuffers
Definition: ble5.h:650
uint8_t nRxCtl
Definition: ble5.h:498
uint32_t accessAddress
Definition: ble5.h:453
RCL_StatsAdvScanInit * stats
Definition: ble5.h:285
uint16_t relRxTimeoutTime
Definition: ble5.h:427
Appended packet status field from RX buffer.
Definition: ble5.h:87
RCL_CtxConnection * ctx
Definition: ble5.h:428
RCL_CtxScanInit * ctx
Definition: ble5.h:284
uint32_t accessAddress
Definition: ble5.h:569
uint32_t lastTimestamp
Definition: ble5.h:608
Connection context.
Definition: ble5.h:448
uint8_t nTx
Definition: ble5.h:497
uint8_t nTx
Definition: ble5.h:407
Generic TX command.
Definition: ble5.h:627
List_List rxBuffers
Definition: ble5.h:450
uint8_t nTxRetrans
Definition: ble5.h:491
uint8_t timestampValid
Definition: ble5.h:606
uint16_t initialBackoff
Definition: ble5.h:355
uint8_t order
Definition: ble5.h:190
RCL_CtxGenericTx * ctx
Definition: ble5.h:631
bool isPeripheral
Definition: ble5.h:451
uint8_t timestampValid
Definition: ble5.h:400
Filter list object.
Definition: ble5.h:155
uint8_t nRxOk
Definition: ble5.h:496
uint8_t nTxDone
Definition: ble5.h:487
Generic RX context.
Definition: ble5.h:567
uint8_t nRxEmpty
Definition: ble5.h:494
RCL_Ble5Channel channel
Definition: ble5.h:517
int8_t lastRssi
Definition: ble5.h:485
uint8_t pduHeader
Definition: ble5.h:519
uint32_t crcInit
Definition: ble5.h:454
RCL_Command_TxPower txPower
Definition: ble5.h:630
uint8_t nRxFifoFull
Definition: ble5.h:611
uint8_t anchorValid
Definition: ble5.h:484
RCL_Command_TxPower txPower
Definition: ble5.h:189
Statistics structure for connection.
Definition: ble5.h:477
Definition: ble5.h:80
RCL_Command common
Definition: ble5.h:187
RCL_Command_TxPower txPower
Definition: ble5.h:218
RCL_StatsAdvScanInit * stats
Definition: ble5.h:194
Definition: ble5.h:77
Advertiser context.
Definition: ble5.h:241
RCL_Ble5Channel channel
Definition: ble5.h:629
Filter list entry.
Definition: ble5.h:134
uint8_t cteInfo
Definition: ble5.h:521
uint8_t nRxIgnored
Definition: ble5.h:493
Connection command.
Definition: ble5.h:423
RCL_Command_TxPower txPower
Definition: ble5.h:312
Advertiser command.
Definition: ble5.h:186
uint8_t backoffUpper
Definition: ble5.h:356
RCL_Command_TxPower txPower
Definition: ble5.h:671
RCL_CtxAdvertiser * ctx
Definition: ble5.h:220
RCL_Ble5Channel channel
Definition: ble5.h:547
uint16_t nRxNok
Definition: ble5.h:609
Scanner and initiator context.
Definition: ble5.h:341
RCL_FilterList * filterList
Definition: ble5.h:342
uint32_t lastTimestamp
Definition: ble5.h:402
uint8_t maxPktLen
Definition: ble5.h:571
uint32_t numEntries
Definition: ble5.h:167
Definition: ble5.h:78
uint8_t nRxFifoFull
Definition: ble5.h:495
RCL_StatsAdvScanInit * stats
Definition: ble5.h:318
uint8_t nTxCtlAck
Definition: ble5.h:489
ADI Filter list object.
Definition: ble5.h:166
Initiator command.
Definition: ble5.h:275
uint8_t RCL_Ble5Channel
Type for BLE channels.
Definition: ble5.h:70
uint16_t numPackets
Definition: ble5.h:523