Radio Control Layer (RCL)
ble5.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020-2023, 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_ADDR_TYPE_t RCL_AddrType;
39 
40 typedef struct RCL_CMD_BLE5_ADV_t RCL_CmdBle5Advertiser;
41 typedef struct RCL_CMD_BLE5_AUX_ADV_t RCL_CmdBle5AuxAdvertiser;
42 typedef struct RCL_CMD_BLE5_INITIATOR_t RCL_CmdBle5Initiator;
43 typedef struct RCL_CMD_BLE5_SCANNER_t RCL_CmdBle5Scanner;
44 typedef struct RCL_CMD_BLE5_CONNECTION_t RCL_CmdBle5Connection;
45 typedef struct RCL_CMD_BLE5_DTM_TX RCL_CmdBle5DtmTx;
46 typedef struct RCL_CMD_BLE5_GENERIC_RX_t RCL_CmdBle5GenericRx;
47 typedef struct RCL_CMD_BLE5_GENERIC_TX_t RCL_CmdBle5GenericTx;
48 typedef struct RCL_CMD_BLE5_TX_TEST_t RCL_CmdBle5TxTest;
49 
50 typedef struct RCL_CTX_ADVERTISER_t RCL_CtxAdvertiser;
51 typedef struct RCL_CTX_SCAN_INIT_t RCL_CtxScanInit;
52 typedef struct RCL_CTX_CONNECTION_t RCL_CtxConnection;
53 typedef struct RCL_CTX_GENERIC_RX_t RCL_CtxGenericRx;
54 typedef struct RCL_CTX_GENERIC_TX_t RCL_CtxGenericTx;
55 
56 typedef struct RCL_STATS_ADV_SCAN_INIT_t RCL_StatsAdvScanInit;
57 typedef struct RCL_STATS_CONNECTION_t RCL_StatsConnection;
58 typedef struct RCL_STATS_GENERIC_RX_t RCL_StatsGenericRx;
59 
68 typedef uint8_t RCL_Ble5Channel;
69 
74 typedef enum {
80 
85 typedef union {
86  struct {
87  RCL_Ble5_RxPhy phy :2;
88  uint8_t crcError :1;
89  uint8_t ignored :1;
90  uint8_t ignoredRpa :1;
91  uint8_t reserved :3;
92  };
93  uint8_t value;
95 
96 /* Invalid packet status */
97 #define RCL_BLE5_RX_PKT_STATUS_INVALID 0xFF
98 
99 /* Do includes after typedefs, as the types are needed in ti/drivers/rcl/handlers/ble5.h */
102 #include <ti/drivers/utils/List.h>
103 
104 #include <ti/devices/DeviceFamily.h>
105 #include DeviceFamily_constructPath(inc/pbe_ble5_ram_regs.h)
106 
107 /* Command IDs for BLE commands */
108 #define RCL_CMDID_BLE5_ADVERTISER 0x1001U
109 #define RCL_CMDID_BLE5_INITIATOR 0x1002U
110 #define RCL_CMDID_BLE5_SCANNER 0x1003U
111 #define RCL_CMDID_BLE5_CONNECTION 0x1004U
112 #define RCL_CMDID_BLE5_DTM_TX 0x1005U
113 #define RCL_CMDID_BLE5_GENERIC_RX 0x1006U
114 #define RCL_CMDID_BLE5_GENERIC_TX 0x1007U
115 #define RCL_CMDID_BLE5_TX_TEST 0x1008U
116 #define RCL_CMDID_BLE5_AUX_ADV 0x1009U
117 
125 #define BLE_CUSTOM_FREQ_BM 0x80U
126 
133  union
134  {
135  struct
136  {
137  uint16_t enabled : 1;
138  uint16_t addType : 1;
139  uint16_t duplicateIgn : 1;
140  uint16_t privIgn : 1;
141  uint16_t reserved : 12;
142  } ctl;
143  uint16_t ctlWord;
144  };
145  uint16_t address[3];
146 };
147 
154  uint32_t numEntries;
155  RCL_FL_Entry entries[16];
156 };
157 
164  uint8_t peer :1;
165  uint8_t own :1;
166  uint8_t reserved: 6;
167 };
168 
175  RCL_Command common;
176  uint8_t chanMap;
177  uint8_t order;
179  uint8_t highDuty;
180  uint32_t connectPktTime;
181  RCL_CtxAdvertiser *ctx;
182  RCL_StatsAdvScanInit *stats;
183 };
184 
185 #define RCL_CmdBle5Advertiser_Default() \
186 { \
187  .common = RCL_Command_Default(RCL_CMDID_BLE5_ADVERTISER, \
188  RCL_Handler_BLE5_adv), \
189  .chanMap = 0x7, \
190  .order = 0, \
191  .txPower = {.dBm = 0, .fraction = 0}, \
192  .highDuty = 0, \
193  .ctx = NULL, \
194  .stats = NULL, \
195 }
196 #define RCL_CmdBle5Advertiser_DefaultRuntime() (RCL_CmdBle5Advertiser) RCL_CmdBle5Advertiser_Default()
197 
204  RCL_Command common;
207  uint32_t connectPktTime;
208  RCL_CtxAdvertiser *ctx;
209  RCL_StatsAdvScanInit *stats;
210 };
211 
212 #define RCL_CmdBle5AuxAdvertiser_Default() \
213 { \
214  .common = RCL_Command_Default(RCL_CMDID_BLE5_AUX_ADV, \
215  RCL_Handler_BLE5_aux_adv), \
216  .channel = 0, \
217  .txPower = {.dBm = 0, .fraction = 0}, \
218  .ctx = NULL, \
219  .stats = NULL, \
220 }
221 #define RCL_CmdBle5AuxAdvertiser_DefaultRuntime() (RCL_CmdBle5AuxAdvertiser) RCL_CmdBle5AuxAdvertiser_Default()
222 
223 
230  RCL_FilterList *filterListConn;
231  RCL_FilterList *filterListScan;
232  List_List txBuffers;
233  List_List rxBuffers;
234  uint16_t advA[3];
235  uint16_t peerA[3];
236  RCL_AddrType addrType;
237  uint8_t filterPolicy: 2;
238  uint8_t privIgnMode:1;
239  uint8_t rpaModePeer:1;
240  uint8_t acceptAllRpaConnectInd: 1;
241 };
242 
243 #define RCL_CtxAdvertiser_Default() \
244 { \
245  .filterListConn = NULL, \
246  .filterListScan = NULL, \
247  .txBuffers = { 0 }, \
248  .rxBuffers = { 0 }, \
249  .advA = { 0 }, \
250  .peerA = { 0 }, \
251  .addrType = { 0 }, \
252  .filterPolicy = 0, \
253  .privIgnMode = 0, \
254  .rpaModePeer = 0, \
255  .acceptAllRpaConnectInd = 0 \
256 }
257 #define RCL_CtxAdvertiser_DefaultRuntime() (RCL_CtxAdvertiser) RCL_CtxAdvertiser_Default()
258 
264  RCL_Command common;
268  uint32_t connectTime;
269  RCL_CtxScanInit *ctx;
270  RCL_StatsAdvScanInit *stats;
271 };
272 
273 #define RCL_CmdInitiator_Default() \
274 { \
275  .common = RCL_Command_Default(RCL_CMDID_BLE5_INITIATOR, \
276  RCL_Handler_BLE5_scan_init), \
277  .channel = 37, \
278  .txPower = {.dBm = 0, .fraction = 0}, \
279  .dynamicWinOffset = 0, \
280  .connectTime = 0, \
281  .ctx = NULL, \
282  .stats = NULL, \
283 }
284 #define RCL_CmdInitiator_DefaultRuntime() (RCL_CmdBle5Initiator) RCL_CmdInitiator_Default()
285 
292  RCL_Command common;
295  bool activeScan;
296  RCL_CtxScanInit *ctx;
297  RCL_StatsAdvScanInit *stats;
298 };
299 
300 #define RCL_CmdScanner_Default() \
301 { \
302  .common = RCL_Command_Default(RCL_CMDID_BLE5_SCANNER, \
303  RCL_Handler_BLE5_scan_init), \
304  .channel = 37, \
305  .txPower = {.dBm = 0, .fraction = 0}, \
306  .activeScan = 0, \
307  .ctx = NULL, \
308  .stats = NULL, \
309 }
310 #define RCL_CmdScanner_DefaultRuntime() (RCL_CmdBle5Scanner) RCL_CmdScanner_Default()
311 
318  RCL_FilterList *filterList;
319  List_List txBuffers;
320  List_List rxBuffers;
321  uint16_t ownA[3];
322  uint16_t peerA[3];
323  RCL_AddrType addrType;
324  uint8_t filterPolicy : 1;
325  uint8_t scanExtFilterPolicy: 1;
326  uint8_t rpaModeOwn:1;
327  uint8_t rpaModePeer:1;
328  uint16_t initialBackoff;
329  uint8_t backoffUpper;
330  struct
331  {
332  uint8_t backOffLastFail : 1;
333  uint8_t backOffLastSucceed : 1;
334  uint8_t reserved : 6;
335  } backoffStatus;
336 };
337 
338 #define RCL_CtxScanInit_Default() \
339 { \
340  .filterList = NULL, \
341  .txBuffers = { 0 }, \
342  .rxBuffers = { 0 }, \
343  .ownA = { 0 }, \
344  .peerA = { 0 }, \
345  .addrType = { 0 }, \
346  .filterPolicy = 0, \
347  .scanExtFilterPolicy = 0, \
348  .rpaModeOwn = 0, \
349  .rpaModePeer = 0, \
350  .initialBackoff = 1, \
351  .backoffUpper = 0, \
352  .backoffStatus = { 0 }, \
353 }
354 #define RCL_CtxScanInit_DefaultRuntime() (RCL_CtxScanInit) RCL_CtxScanInit_Default()
355 
362  struct
363  {
364  uint8_t accumulate : 1;
365  uint8_t activeUpdate : 1;
366  uint8_t reserved : 6;
367  } config;
368  uint8_t timestampValid;
369  int8_t lastRssi;
370  uint32_t lastTimestamp;
371  uint16_t nRxNok;
372  uint16_t nRxIgnored;
373  uint16_t nRxOk;
374  uint8_t nRxFifoFull;
375  uint8_t nTx;
376 };
377 
378 #define RCL_StatsAdvScanInit_Default() \
379 { \
380  .config = { 0 }, \
381  .timestampValid = 0, \
382  .lastRssi = LRF_RSSI_INVALID, \
383 }
384 #define RCL_StatsAdvScanInit_DefaultRuntime() (RCL_StatsAdvScanInit) RCL_StatsAdvScanInit_Default()
385 
392  RCL_Command common;
395  uint16_t relRxTimeoutTime;
396  RCL_CtxConnection *ctx;
397  RCL_StatsConnection *stats;
398 };
399 
400 #define RCL_CmdBle5Connection_Default() \
401 { \
402  .common = RCL_Command_Default(RCL_CMDID_BLE5_CONNECTION, \
403  RCL_Handler_BLE5_conn), \
404  .channel = 0, \
405  .txPower = {.dBm = 0, .fraction = 0}, \
406  .ctx = NULL, \
407  .stats = NULL, \
408 }
409 #define RCL_CmdBle5Connection_DefaultRuntime() (RCL_CmdBle5Connection) RCL_CmdBle5Connection_Default()
410 
417  List_List txBuffers;
418  List_List rxBuffers;
420  uint16_t seqStat;
421  uint32_t accessAddress;
422  uint32_t crcInit;
423 };
424 
425 #define _INIT_SEQSTAT (PBE_BLE5_RAM_SEQSTAT_LASTRXSN_M | \
426  PBE_BLE5_RAM_SEQSTAT_LASTTXSN_M | \
427  PBE_BLE5_RAM_SEQSTAT_FIRSTPKT_M )
428 
429 #define RCL_CtxConnection_Default() \
430 { \
431  .txBuffers = { 0 }, \
432  .rxBuffers = { 0 }, \
433  .isPeripheral = 0, \
434  .seqStat = _INIT_SEQSTAT, \
435  .accessAddress = 0, \
436  .crcInit = 0, \
437 }
438 #define RCL_CtxConnection_DefaultRuntime() (RCL_CtxConnection) RCL_CtxConnection_Default()
439 
446  struct
447  {
448  uint8_t accumulate : 1;
449  uint8_t activeUpdate : 1;
450  uint8_t reserved : 6;
451  } config;
452  uint8_t anchorValid;
453  int8_t lastRssi;
454  uint32_t anchorPoint;
455  uint8_t nTxDone;
456  uint8_t nTxAck;
457  uint8_t nTxCtlAck;
458  uint8_t nTxCtl;
459  uint8_t nTxRetrans;
460  uint8_t nRxNok;
461  uint8_t nRxIgnored;
462  uint8_t nRxEmpty;
463  uint8_t nRxFifoFull;
464  uint8_t nRxOk;
465  uint8_t nTx;
466  uint8_t nRxCtl;
467  uint8_t nRxCtlAck;
468 };
469 
470 #define RCL_StatsConnection_Default() \
471 { \
472  .config = { 0 }, \
473  .anchorValid = 0, \
474  .lastRssi = LRF_RSSI_INVALID, \
475 }
476 #define RCL_StatsConnection_DefaultRuntime() (RCL_StatsConnection) RCL_StatsConnection_Default()
477 
484  RCL_Command common;
487  uint8_t pduHeader;
488  uint8_t pduLength;
489  uint8_t cteInfo;
490  uint16_t periodUs;
491  uint16_t numPackets;
492 };
493 
494 #define RCL_CmdBle5DtmTx_Default() \
495 { \
496  .common = RCL_Command_Default(RCL_CMDID_BLE5_DTM_TX, \
497  RCL_Handler_BLE5_dtmTx), \
498  .channel = 64, \
499  .txPower = {.dBm = 0, .fraction = 0}, \
500  .pduHeader = 0x00, \
501  .pduLength = 37, \
502  .cteInfo = 0x14, \
503  .periodUs = 625, \
504  .numPackets = 0, \
505 }
506 #define RCL_CmdBle5DtmTx_DefaultRuntime() (RCL_CmdBle5DtmTx) RCL_CmdBle5DtmTx_Default()
507 
514  RCL_Command common;
516  RCL_CtxGenericRx *ctx;
517  RCL_StatsGenericRx *stats;
518 };
519 
520 #define RCL_CmdBle5GenericRx_Default() \
521 { \
522  .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_RX, \
523  RCL_Handler_BLE5_genericRx), \
524  .channel = 64, \
525  .ctx = NULL, \
526  .stats = NULL, \
527 }
528 #define RCL_CmdBle5GenericRx_DefaultRuntime() (RCL_CmdBle5GenericRx) RCL_CmdBle5GenericRx_Default()
529 
536  List_List rxBuffers;
537  uint32_t accessAddress;
538  uint32_t crcInit;
539  uint8_t maxPktLen;
540  struct {
541  uint8_t repeated: 1;
542  uint8_t disableSync: 1;
543  uint8_t discardRxPackets: 1;
544  uint8_t reserved: 4;
545  } config;
546 };
547 
548 #define RCL_CtxGenericRx_Default() \
549 { \
550  .rxBuffers = { 0 }, \
551  .accessAddress = 0x71764129U, \
552  .crcInit = 0x555555, \
553  .config = { \
554  .repeated = 1, \
555  .disableSync = 0, \
556  .discardRxPackets = 1, \
557  .reserved = 0, \
558  }, \
559 }
560 #define RCL_CtxGenericRx_DefaultRuntime() (RCL_CtxGenericRx) RCL_CtxGenericRx_Default()
561 
568  struct
569  {
570  uint8_t accumulate : 1;
571  uint8_t activeUpdate : 1;
572  uint8_t reserved : 6;
573  } config;
574  uint8_t timestampValid;
575  int8_t lastRssi;
576  uint32_t lastTimestamp;
577  uint16_t nRxNok;
578  uint16_t nRxOk;
579  uint8_t nRxFifoFull;
580 };
581 
582 #define RCL_StatsGenericRx_Default() \
583 { \
584  .config = { 0 }, \
585  .timestampValid = 0, \
586  .lastRssi = LRF_RSSI_INVALID, \
587 }
588 #define RCL_StatsGenericRx_DefaultRuntime() (RCL_StatsGenericRx) RCL_StatsGenericRx_Default()
589 
596  RCL_Command common;
599  RCL_CtxGenericTx *ctx;
600 };
601 
602 #define RCL_CmdBle5GenericTx_Default() \
603 { \
604  .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_TX, \
605  RCL_Handler_BLE5_genericTx), \
606  .channel = 64, \
607  .txPower = {.dBm = 0, .fraction = 0}, \
608  .ctx = NULL, \
609 }
610 #define RCL_CmdBle5GenericTx_DefaultRuntime() (RCL_CmdBle5GenericTx) RCL_CmdBle5GenericTx_Default()
611 
618  List_List txBuffers;
619  uint32_t accessAddress;
620  uint32_t crcInit;
621 };
622 
623 #define RCL_CtxGenericTx_Default() \
624 { \
625  .txBuffers = { 0 }, \
626  .accessAddress = 0x71764129U, \
627  .crcInit = 0x555555, \
628 }
629 #define RCL_CtxGenericTx_DefaultRuntime() (RCL_CtxGenericTx) RCL_CtxGenericTx_Default()
630 
637  RCL_Command common;
638  uint8_t channel;
640  uint16_t txWord;
641  struct {
642  uint8_t whitenMode: 2;
643  uint8_t sendCw: 1;
644  uint8_t reserved: 5;
645  } config;
646 };
647 
648 #define RCL_CmdBle5TxTest_Default() \
649 { \
650  .common = RCL_Command_Default(RCL_CMDID_BLE5_TX_TEST, \
651  RCL_Handler_Ble5_txTest), \
652  .channel = 64, \
653  .txPower = {.dBm = 0, .fraction = 0}, \
654  .txWord = 0, \
655  .config = { \
656  .whitenMode = 2, \
657  .sendCw = 0, \
658  .reserved = 0, \
659  }, \
660 }
661 #define RCL_CmdBle5TxTest_DefaultRuntime() (RCL_CmdBle5TxTest) RCL_CmdBle5TxTest_Default()
662 
663 #define RCL_CMD_BLE5_WH_MODE_DEFAULT 0
664 #define RCL_CMD_BLE5_WH_MODE_PRBS9 1
665 #define RCL_CMD_BLE5_WH_MODE_PRBS15 2
666 #define RCL_CMD_BLE5_WH_MODE_PRBS32 3
668 #endif
RCL_Command common
Definition: ble5.h:484
RCL_Command common
Definition: ble5.h:292
Secondary Channel Advertiser command.
Definition: ble5.h:203
uint32_t crcInit
Definition: ble5.h:538
Generic TX context.
Definition: ble5.h:617
uint32_t crcInit
Definition: ble5.h:620
RCL_Command common
Definition: ble5.h:392
RCL_AddrType addrType
Definition: ble5.h:323
RCL_Command common
Definition: ble5.h:514
Statistics structure for generic RX.
Definition: ble5.h:567
uint8_t nRxNok
Definition: ble5.h:460
uint16_t nRxOk
Definition: ble5.h:578
uint32_t accessAddress
Definition: ble5.h:619
uint16_t seqStat
Definition: ble5.h:420
Statistics structure for advertiser, scanner and initiator.
Definition: ble5.h:361
List_List txBuffers
Definition: ble5.h:319
RCL_CtxGenericRx * ctx
Definition: ble5.h:516
RCL_Ble5Channel channel
Definition: ble5.h:265
List_List rxBuffers
Definition: ble5.h:233
RCL_Ble5Channel channel
Definition: ble5.h:393
int8_t lastRssi
Definition: ble5.h:369
Scanner command.
Definition: ble5.h:291
BLE5 transmitter test command.
Definition: ble5.h:636
List_List rxBuffers
Definition: ble5.h:320
uint16_t txWord
Definition: ble5.h:640
uint8_t highDuty
Definition: ble5.h:179
RCL_Command common
Definition: ble5.h:264
uint8_t nRxCtlAck
Definition: ble5.h:467
uint32_t anchorPoint
Definition: ble5.h:454
bool dynamicWinOffset
Definition: ble5.h:267
List_List txBuffers
Definition: ble5.h:417
uint8_t channel
Definition: ble5.h:638
uint32_t connectPktTime
Definition: ble5.h:207
RCL_AddrType addrType
Definition: ble5.h:236
uint16_t periodUs
Definition: ble5.h:490
uint16_t nRxNok
Definition: ble5.h:371
RCL_Ble5_RxPhy
PHY returned in status of received packets.
Definition: ble5.h:74
uint32_t numEntries
Definition: ble5.h:154
uint8_t nTxAck
Definition: ble5.h:456
RCL_Command_TxPower txPower
Definition: ble5.h:394
List_List rxBuffers
Definition: ble5.h:536
uint16_t nRxIgnored
Definition: ble5.h:372
RCL_StatsGenericRx * stats
Definition: ble5.h:517
Address type.
Definition: ble5.h:163
RCL_Command common
Definition: ble5.h:637
uint8_t nTxCtl
Definition: ble5.h:458
uint32_t connectPktTime
Definition: ble5.h:180
RCL_FilterList * filterListConn
Definition: ble5.h:230
uint8_t pduLength
Definition: ble5.h:488
uint8_t nRxFifoFull
Definition: ble5.h:374
struct RCL_STATS_GENERIC_RX_t::@9 config
Index of the tx power table.
Definition: LRFCC23X0.h:172
RCL_CtxAdvertiser * ctx
Definition: ble5.h:181
RCL_StatsAdvScanInit * stats
Definition: ble5.h:209
List_List txBuffers
Definition: ble5.h:232
uint16_t nRxOk
Definition: ble5.h:373
uint8_t chanMap
Definition: ble5.h:176
bool activeScan
Definition: ble5.h:295
int8_t lastRssi
Definition: ble5.h:575
uint8_t value
Definition: ble5.h:93
RCL_Ble5Channel channel
Definition: ble5.h:293
RCL_Command_TxPower txPower
Definition: ble5.h:486
RCL_FilterList * filterListScan
Definition: ble5.h:231
RCL_Ble5Channel channel
Definition: ble5.h:205
Generic RX command.
Definition: ble5.h:513
RCL_Command common
Definition: ble5.h:596
RCL_Command common
Definition: ble5.h:204
Definition: ble5.h:77
RCL_Command_TxPower txPower
Definition: ble5.h:266
RCL_CtxScanInit * ctx
Definition: ble5.h:296
uint32_t connectTime
Definition: ble5.h:268
RCL_StatsConnection * stats
Definition: ble5.h:397
DTM TX command.
Definition: ble5.h:483
List_List txBuffers
Definition: ble5.h:618
uint8_t nRxCtl
Definition: ble5.h:466
uint32_t accessAddress
Definition: ble5.h:421
RCL_StatsAdvScanInit * stats
Definition: ble5.h:270
uint16_t relRxTimeoutTime
Definition: ble5.h:395
Appended packet status field from RX buffer.
Definition: ble5.h:85
RCL_CtxConnection * ctx
Definition: ble5.h:396
RCL_CtxScanInit * ctx
Definition: ble5.h:269
uint32_t accessAddress
Definition: ble5.h:537
uint32_t lastTimestamp
Definition: ble5.h:576
Connection context.
Definition: ble5.h:416
uint8_t nTx
Definition: ble5.h:465
uint8_t nTx
Definition: ble5.h:375
Generic TX command.
Definition: ble5.h:595
List_List rxBuffers
Definition: ble5.h:418
uint8_t nTxRetrans
Definition: ble5.h:459
uint8_t timestampValid
Definition: ble5.h:574
uint16_t initialBackoff
Definition: ble5.h:328
uint8_t order
Definition: ble5.h:177
RCL_CtxGenericTx * ctx
Definition: ble5.h:599
bool isPeripheral
Definition: ble5.h:419
uint8_t timestampValid
Definition: ble5.h:368
Filter list object.
Definition: ble5.h:153
uint8_t nRxOk
Definition: ble5.h:464
uint8_t nTxDone
Definition: ble5.h:455
Generic RX context.
Definition: ble5.h:535
uint8_t nRxEmpty
Definition: ble5.h:462
RCL_Ble5Channel channel
Definition: ble5.h:485
int8_t lastRssi
Definition: ble5.h:453
uint8_t pduHeader
Definition: ble5.h:487
uint32_t crcInit
Definition: ble5.h:422
RCL_Command_TxPower txPower
Definition: ble5.h:598
uint8_t nRxFifoFull
Definition: ble5.h:579
uint8_t anchorValid
Definition: ble5.h:452
RCL_Command_TxPower txPower
Definition: ble5.h:178
Statistics structure for connection.
Definition: ble5.h:445
Definition: ble5.h:78
RCL_Command common
Definition: ble5.h:175
RCL_Command_TxPower txPower
Definition: ble5.h:206
RCL_StatsAdvScanInit * stats
Definition: ble5.h:182
Definition: ble5.h:75
Advertiser context.
Definition: ble5.h:229
RCL_Ble5Channel channel
Definition: ble5.h:597
Filter list entry.
Definition: ble5.h:132
uint8_t cteInfo
Definition: ble5.h:489
uint8_t nRxIgnored
Definition: ble5.h:461
Connection command.
Definition: ble5.h:391
RCL_Command_TxPower txPower
Definition: ble5.h:294
Advertiser command.
Definition: ble5.h:174
uint8_t backoffUpper
Definition: ble5.h:329
RCL_Command_TxPower txPower
Definition: ble5.h:639
RCL_CtxAdvertiser * ctx
Definition: ble5.h:208
RCL_Ble5Channel channel
Definition: ble5.h:515
uint16_t nRxNok
Definition: ble5.h:577
Scanner and initiator context.
Definition: ble5.h:317
RCL_FilterList * filterList
Definition: ble5.h:318
uint32_t lastTimestamp
Definition: ble5.h:370
uint8_t maxPktLen
Definition: ble5.h:539
Definition: ble5.h:76
uint8_t nRxFifoFull
Definition: ble5.h:463
RCL_StatsAdvScanInit * stats
Definition: ble5.h:297
uint8_t nTxCtlAck
Definition: ble5.h:457
Initiator command.
Definition: ble5.h:263
uint8_t RCL_Ble5Channel
Type for BLE channels.
Definition: ble5.h:68
uint16_t numPackets
Definition: ble5.h:491