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 RCL_CmdBle5Advertiser;
41 typedef struct RCL_CMD_BLE5_INITIATOR_t RCL_CmdBle5Initiator;
42 typedef struct RCL_CMD_BLE5_SCANNER_t RCL_CmdBle5Scanner;
43 typedef struct RCL_CMD_BLE5_CONNECTION_t RCL_CmdBle5Connection;
44 typedef struct RCL_CMD_BLE5_DTM_TX RCL_CmdBle5DtmTx;
45 typedef struct RCL_CMD_BLE5_GENERIC_RX_t RCL_CmdBle5GenericRx;
46 typedef struct RCL_CMD_BLE5_GENERIC_TX_t RCL_CmdBle5GenericTx;
47 typedef struct RCL_CMD_BLE5_TX_TEST_t RCL_CmdBle5TxTest;
48 
49 typedef struct RCL_CTX_ADVERTISER_t RCL_CtxAdvertiser;
50 typedef struct RCL_CTX_SCAN_INIT_t RCL_CtxScanInit;
51 typedef struct RCL_CTX_CONNECTION_t RCL_CtxConnection;
52 typedef struct RCL_CTX_GENERIC_RX_t RCL_CtxGenericRx;
53 typedef struct RCL_CTX_GENERIC_TX_t RCL_CtxGenericTx;
54 
55 typedef struct RCL_STATS_ADV_SCAN_INIT_t RCL_StatsAdvScanInit;
56 typedef struct RCL_STATS_CONNECTION_t RCL_StatsConnection;
57 typedef struct RCL_STATS_GENERIC_RX_t RCL_StatsGenericRx;
58 
67 typedef uint8_t RCL_Ble5Channel;
68 
73 typedef enum {
79 
84 typedef union {
85  struct {
86  RCL_Ble5_RxPhy phy :2;
87  uint8_t crcError :1;
88  uint8_t ignored :1;
89  uint8_t ignoredRpa :1;
90  uint8_t reserved :3;
91  };
92  uint8_t value;
94 
95 /* Invalid packet status */
96 #define RCL_BLE5_RX_PKT_STATUS_INVALID 0xFF
97 
98 /* Do inlcudes after typedefs, as the types are needed in ti/drivers/rcl/handlers/ble5.h */
101 #include <ti/drivers/utils/List.h>
102 
103 #include <ti/devices/DeviceFamily.h>
104 #include DeviceFamily_constructPath(driverlib/pbe_ble5_ram_regs.h)
105 
106 /* Command IDs for BLE commands */
107 #define RCL_CMDID_BLE5_ADVERTISER 0x1001U
108 #define RCL_CMDID_BLE5_INITIATOR 0x1002U
109 #define RCL_CMDID_BLE5_SCANNER 0x1003U
110 #define RCL_CMDID_BLE5_CONNECTION 0x1004U
111 #define RCL_CMDID_BLE5_DTM_TX 0x1005U
112 #define RCL_CMDID_BLE5_GENERIC_RX 0x1006U
113 #define RCL_CMDID_BLE5_GENERIC_TX 0x1007U
114 #define RCL_CMDID_BLE5_TX_TEST 0x1008U
115 
123 #define BLE_CUSTOM_FREQ_BM 0x80U
124 
131  union
132  {
133  struct
134  {
135  uint16_t enabled : 1;
136  uint16_t addType : 1;
137  uint16_t duplicateIgn : 1;
138  uint16_t privIgn : 1;
139  uint16_t reserved : 12;
140  } ctl;
141  uint16_t ctlWord;
142  };
143  uint16_t address[3];
144 };
145 
152  uint32_t numEntries;
153  RCL_FL_Entry entries[16];
154 };
155 
162  uint8_t peer :1;
163  uint8_t own :1;
164  uint8_t reserved: 6;
165 };
166 
173  RCL_Command common;
174  uint8_t chanMap;
175  uint8_t order;
177  uint8_t highDuty;
178  uint32_t connectPktTime;
179  RCL_CtxAdvertiser *ctx;
180  RCL_StatsAdvScanInit *stats;
181 };
182 
183 #define RCL_CmdBle5Advertiser_Default() \
184 { \
185  .common = RCL_Command_Default(RCL_CMDID_BLE5_ADVERTISER, \
186  RCL_Handler_BLE5_adv), \
187  .chanMap = 0x7, \
188  .order = 0, \
189  .txPower = {.dBm = 0, .fraction = 0}, \
190  .highDuty = 0, \
191  .ctx = NULL, \
192  .stats = NULL, \
193 }
194 #define RCL_CmdBle5Advertiser_DefaultRuntime() (RCL_CmdBle5Advertiser) RCL_CmdBle5Advertiser_Default()
195 
202  RCL_FilterList *filterListConn;
203  RCL_FilterList *filterListScan;
204  List_List txBuffers;
205  List_List rxBuffers;
206  uint16_t advA[3];
207  uint16_t peerA[3];
208  RCL_AddrType addrType;
209  uint8_t filterPolicy: 2;
210  uint8_t privIgnMode:1;
211  uint8_t rpaModePeer:1;
213 };
214 
215 #define RCL_CtxAdvertiser_Default() \
216 { \
217  .filterListConn = NULL, \
218  .filterListScan = NULL, \
219  .txBuffers = { 0 }, \
220  .rxBuffers = { 0 }, \
221  .advA = { 0 }, \
222  .peerA = { 0 }, \
223  .addrType = { 0 }, \
224  .filterPolicy = 0, \
225  .privIgnMode = 0, \
226  .rpaModePeer = 0, \
227  .acceptAllRpaConnectInd = 0 \
228 }
229 #define RCL_CtxAdvertiser_DefaultRuntime() (RCL_CtxAdvertiser) RCL_CtxAdvertiser_Default()
230 
236  RCL_Command common;
240  uint32_t connectTime;
241  RCL_CtxScanInit *ctx;
242  RCL_StatsAdvScanInit *stats;
243 };
244 
245 #define RCL_CmdInitiator_Default() \
246 { \
247  .common = RCL_Command_Default(RCL_CMDID_BLE5_INITIATOR, \
248  RCL_Handler_BLE5_scan_init), \
249  .channel = 37, \
250  .txPower = {.dBm = 0, .fraction = 0}, \
251  .dynamicWinOffset = 0, \
252  .connectTime = 0, \
253  .ctx = NULL, \
254  .stats = NULL, \
255 }
256 #define RCL_CmdInitiator_DefaultRuntime() (RCL_CmdBle5Initiator) RCL_CmdInitiator_Default()
257 
264  RCL_Command common;
267  bool activeScan;
268  RCL_CtxScanInit *ctx;
269  RCL_StatsAdvScanInit *stats;
270 };
271 
272 #define RCL_CmdScanner_Default() \
273 { \
274  .common = RCL_Command_Default(RCL_CMDID_BLE5_SCANNER, \
275  RCL_Handler_BLE5_scan_init), \
276  .channel = 37, \
277  .txPower = {.dBm = 0, .fraction = 0}, \
278  .activeScan = 0, \
279  .ctx = NULL, \
280  .stats = NULL, \
281 }
282 #define RCL_CmdScanner_DefaultRuntime() (RCL_CmdBle5Scanner) RCL_CmdScanner_Default()
283 
290  RCL_FilterList *filterList;
291  List_List txBuffers;
292  List_List rxBuffers;
293  uint16_t ownA[3];
294  uint16_t peerA[3];
295  RCL_AddrType addrType;
296  uint8_t filterPolicy : 1;
297  uint8_t scanExtFilterPolicy: 1;
298  uint8_t rpaModeOwn:1;
299  uint8_t rpaModePeer:1;
300  uint16_t initialBackoff;
301  uint8_t backoffUpper;
302  struct
303  {
304  uint8_t backOffLastFail : 1;
305  uint8_t backOffLastSucceed : 1;
306  uint8_t reserved : 6;
308 };
309 
310 #define RCL_CtxScanInit_Default() \
311 { \
312  .filterList = NULL, \
313  .txBuffers = { 0 }, \
314  .rxBuffers = { 0 }, \
315  .ownA = { 0 }, \
316  .peerA = { 0 }, \
317  .addrType = { 0 }, \
318  .filterPolicy = 0, \
319  .scanExtFilterPolicy = 0, \
320  .rpaModeOwn = 0, \
321  .rpaModePeer = 0, \
322  .initialBackoff = 1, \
323  .backoffUpper = 0, \
324  .backoffStatus = { 0 }, \
325 }
326 #define RCL_CtxScanInit_DefaultRuntime() (RCL_CtxScanInit) RCL_CtxScanInit_Default()
327 
334  struct
335  {
336  uint8_t accumulate : 1;
337  uint8_t activeUpdate : 1;
338  uint8_t reserved : 6;
339  } config;
340  uint8_t timestampValid;
341  int8_t lastRssi;
342  uint32_t lastTimestamp;
343  uint16_t nRxNok;
344  uint16_t nRxIgnored;
345  uint16_t nRxOk;
346  uint8_t nRxFifoFull;
347  uint8_t nTx;
348 };
349 
350 #define RCL_StatsAdvScanInit_Default() \
351 { \
352  .config = { 0 }, \
353  .timestampValid = 0, \
354  .lastRssi = LRF_RSSI_INVALID, \
355 }
356 #define RCL_StatsAdvScanInit_DefaultRuntime() (RCL_StatsAdvScanInit) RCL_StatsAdvScanInit_Default()
357 
364  RCL_Command common;
367  uint16_t relRxTimeoutTime;
368  RCL_CtxConnection *ctx;
369  RCL_StatsConnection *stats;
370 };
371 
372 #define RCL_CmdBle5Connection_Default() \
373 { \
374  .common = RCL_Command_Default(RCL_CMDID_BLE5_CONNECTION, \
375  RCL_Handler_BLE5_conn), \
376  .channel = 0, \
377  .txPower = {.dBm = 0, .fraction = 0}, \
378  .ctx = NULL, \
379  .stats = NULL, \
380 }
381 #define RCL_CmdBle5Connection_DefaultRuntime() (RCL_CmdBle5Connection) RCL_CmdBle5Connection_Default()
382 
389  List_List txBuffers;
390  List_List rxBuffers;
392  uint16_t seqStat;
393  uint32_t accessAddress;
394  uint32_t crcInit;
395 };
396 
397 #define _INIT_SEQSTAT (PBE_BLE5_RAM_SEQSTAT_LASTRXSN_BM | \
398  PBE_BLE5_RAM_SEQSTAT_LASTTXSN_BM | \
399  PBE_BLE5_RAM_SEQSTAT_FIRSTPKT_BM )
400 
401 #define RCL_CtxConnection_Default() \
402 { \
403  .txBuffers = { 0 }, \
404  .rxBuffers = { 0 }, \
405  .isPeripheral = 0, \
406  .seqStat = _INIT_SEQSTAT, \
407  .accessAddress = 0, \
408  .crcInit = 0, \
409 }
410 #define RCL_CtxConnection_DefaultRuntime() (RCL_CtxConnection) RCL_CtxConnection_Default()
411 
418  struct
419  {
420  uint8_t accumulate : 1;
421  uint8_t activeUpdate : 1;
422  uint8_t reserved : 6;
423  } config;
424  uint8_t anchorValid;
425  int8_t lastRssi;
426  uint32_t anchorPoint;
427  uint8_t nTxDone;
428  uint8_t nTxAck;
429  uint8_t nTxCtlAck;
430  uint8_t nTxCtl;
431  uint8_t nTxRetrans;
432  uint8_t nRxNok;
433  uint8_t nRxIgnored;
434  uint8_t nRxEmpty;
435  uint8_t nRxFifoFull;
436  uint8_t nRxOk;
437  uint8_t nTx;
438  uint8_t nRxCtl;
439  uint8_t nRxCtlAck;
440 };
441 
442 #define RCL_StatsConnection_Default() \
443 { \
444  .config = { 0 }, \
445  .anchorValid = 0, \
446  .lastRssi = LRF_RSSI_INVALID, \
447 }
448 #define RCL_StatsConnection_DefaultRuntime() (RCL_StatsConnection) RCL_StatsConnection_Default()
449 
456  RCL_Command common;
459  uint8_t pduHeader;
460  uint8_t pduLength;
461  uint8_t cteInfo;
462  uint16_t periodUs;
463  uint16_t numPackets;
464 };
465 
466 #define RCL_CmdBle5DtmTx_Default() \
467 { \
468  .common = RCL_Command_Default(RCL_CMDID_BLE5_DTM_TX, \
469  RCL_Handler_BLE5_dtmTx), \
470  .channel = 64, \
471  .txPower = {.dBm = 0, .fraction = 0}, \
472  .pduHeader = 0x00, \
473  .pduLength = 37, \
474  .cteInfo = 0x14, \
475  .periodUs = 625, \
476  .numPackets = 0, \
477 }
478 #define RCL_CmdBle5DtmTx_DefaultRuntime() (RCL_CmdBle5DtmTx) RCL_CmdBle5DtmTx_Default()
479 
486  RCL_Command common;
488  RCL_CtxGenericRx *ctx;
489  RCL_StatsGenericRx *stats;
490 };
491 
492 #define RCL_CmdBle5GenericRx_Default() \
493 { \
494  .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_RX, \
495  RCL_Handler_BLE5_genericRx), \
496  .channel = 64, \
497  .ctx = NULL, \
498  .stats = NULL, \
499 }
500 #define RCL_CmdBle5GenericRx_DefaultRuntime() (RCL_CmdBle5GenericRx) RCL_CmdBle5GenericRx_Default()
501 
508  List_List rxBuffers;
509  uint32_t accessAddress;
510  uint32_t crcInit;
511  uint8_t maxPktLen;
512  struct {
513  uint8_t repeated: 1;
514  uint8_t disableSync: 1;
515  uint8_t discardRxPackets: 1;
516  uint8_t reserved: 4;
518 };
519 
520 #define RCL_CtxGenericRx_Default() \
521 { \
522  .rxBuffers = { 0 }, \
523  .accessAddress = 0x71764129U, \
524  .crcInit = 0x555555, \
525  .config = { \
526  .repeated = 1, \
527  .disableSync = 0, \
528  .discardRxPackets = 1, \
529  .reserved = 0, \
530  }, \
531 }
532 #define RCL_CtxGenericRx_DefaultRuntime() (RCL_CtxGenericRx) RCL_CtxGenericRx_Default()
533 
540  struct
541  {
542  uint8_t accumulate : 1;
543  uint8_t activeUpdate : 1;
544  uint8_t reserved : 6;
545  } config;
546  uint8_t timestampValid;
547  int8_t lastRssi;
548  uint32_t lastTimestamp;
549  uint16_t nRxNok;
550  uint16_t nRxOk;
551  uint8_t nRxFifoFull;
552 };
553 
554 #define RCL_StatsGenericRx_Default() \
555 { \
556  .config = { 0 }, \
557  .timestampValid = 0, \
558  .lastRssi = LRF_RSSI_INVALID, \
559 }
560 #define RCL_StatsGenericRx_DefaultRuntime() (RCL_StatsGenericRx) RCL_StatsGenericRx_Default()
561 
568  RCL_Command common;
571  RCL_CtxGenericTx *ctx;
572 };
573 
574 #define RCL_CmdBle5GenericTx_Default() \
575 { \
576  .common = RCL_Command_Default(RCL_CMDID_BLE5_GENERIC_TX, \
577  RCL_Handler_BLE5_genericTx), \
578  .channel = 64, \
579  .txPower = {.dBm = 0, .fraction = 0}, \
580  .ctx = NULL, \
581 }
582 #define RCL_CmdBle5GenericTx_DefaultRuntime() (RCL_CmdBle5GenericTx) RCL_CmdBle5GenericTx_Default()
583 
590  List_List txBuffers;
591  uint32_t accessAddress;
592  uint32_t crcInit;
593 };
594 
595 #define RCL_CtxGenericTx_Default() \
596 { \
597  .txBuffers = { 0 }, \
598  .accessAddress = 0x71764129U, \
599  .crcInit = 0x555555, \
600 }
601 #define RCL_CtxGenericTx_DefaultRuntime() (RCL_CtxGenericTx) RCL_CtxGenericTx_Default()
602 
609  RCL_Command common;
610  uint8_t channel;
612  uint16_t txWord;
613  struct {
614  uint8_t whitenMode: 2;
615  uint8_t sendCw: 1;
616  uint8_t reserved: 5;
618 };
619 
620 #define RCL_CmdBle5TxTest_Default() \
621 { \
622  .common = RCL_Command_Default(RCL_CMDID_BLE5_TX_TEST, \
623  RCL_Handler_Ble5_txTest), \
624  .channel = 64, \
625  .txPower = {.dBm = 0, .fraction = 0}, \
626  .txWord = 0, \
627  .config = { \
628  .whitenMode = 2, \
629  .sendCw = 0, \
630  .reserved = 0, \
631  }, \
632 }
633 #define RCL_CmdBle5TxTest_DefaultRuntime() (RCL_CmdBle5TxTest) RCL_CmdBle5TxTest_Default()
634 
635 #define RCL_CMD_BLE5_WH_MODE_DEFAULT 0
636 #define RCL_CMD_BLE5_WH_MODE_PRBS9 1
637 #define RCL_CMD_BLE5_WH_MODE_PRBS15 2
638 #define RCL_CMD_BLE5_WH_MODE_PRBS32 3
640 #endif
RCL_CTX_SCAN_INIT_t::txBuffers
List_List txBuffers
Definition: ble5.h:291
RCL_STATS_GENERIC_RX_t::lastRssi
int8_t lastRssi
Definition: ble5.h:547
RCL_CMD_BLE5_INITIATOR_t::channel
RCL_Ble5Channel channel
Definition: ble5.h:237
RCL_STATS_CONNECTION_t::nRxNok
uint8_t nRxNok
Definition: ble5.h:432
RCL_Ble5_RxPktStatus
Appended packet status field from RX buffer.
Definition: ble5.h:84
RCL_CTX_GENERIC_RX_t::accessAddress
uint32_t accessAddress
Definition: ble5.h:509
RCL_CTX_CONNECTION_t::accessAddress
uint32_t accessAddress
Definition: ble5.h:393
RCL_CMD_BLE5_DTM_TX::numPackets
uint16_t numPackets
Definition: ble5.h:463
RCL_FL_ENTRY_t::address
uint16_t address[3]
Definition: ble5.h:143
RCL_CTX_CONNECTION_t::txBuffers
List_List txBuffers
Definition: ble5.h:389
RCL_CMD_BLE5_INITIATOR_t::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:238
RCL_CMD_BLE5_TX_TEST_t::channel
uint8_t channel
Definition: ble5.h:610
RCL_CTX_ADVERTISER_t::peerA
uint16_t peerA[3]
Definition: ble5.h:207
RCL_STATS_GENERIC_RX_t::timestampValid
uint8_t timestampValid
Definition: ble5.h:546
RCL_STATS_GENERIC_RX_t::lastTimestamp
uint32_t lastTimestamp
Definition: ble5.h:548
RCL_CTX_CONNECTION_t
Connection context.
Definition: ble5.h:388
RCL_CMD_BLE5_CONNECTION_t::stats
RCL_StatsConnection * stats
Definition: ble5.h:369
RCL_CTX_GENERIC_RX_t::crcInit
uint32_t crcInit
Definition: ble5.h:510
RCL_CTX_ADVERTISER_t::addrType
RCL_AddrType addrType
Definition: ble5.h:208
RCL_CMD_BLE5_INITIATOR_t::dynamicWinOffset
bool dynamicWinOffset
Definition: ble5.h:239
RCL_STATS_CONNECTION_t::nTx
uint8_t nTx
Definition: ble5.h:437
RCL_FILTER_LIST_t::numEntries
uint32_t numEntries
Definition: ble5.h:152
RCL_CMD_BLE5_GENERIC_RX_t
Generic RX command.
Definition: ble5.h:485
RCL_CTX_SCAN_INIT_t::scanExtFilterPolicy
uint8_t scanExtFilterPolicy
Definition: ble5.h:297
RCL_CTX_ADVERTISER_t
Advertiser context.
Definition: ble5.h:201
RCL_CMD_BLE5_GENERIC_RX_t::common
RCL_Command common
Definition: ble5.h:486
RCL_STATS_ADV_SCAN_INIT_t::nTx
uint8_t nTx
Definition: ble5.h:347
LRF_TxPowerTable_Index
Index of the tx power table.
Definition: LRFCC23X0.h:153
RCL_ADDR_TYPE_t::reserved
uint8_t reserved
Definition: ble5.h:164
RCL_STATS_ADV_SCAN_INIT_t::nRxNok
uint16_t nRxNok
Definition: ble5.h:343
RCL_CMD_BLE5_DTM_TX::channel
RCL_Ble5Channel channel
Definition: ble5.h:457
RCL_Ble5_RxPhy2Mbps
@ RCL_Ble5_RxPhy2Mbps
Definition: ble5.h:75
RCL_CTX_ADVERTISER_t::advA
uint16_t advA[3]
Definition: ble5.h:206
RCL_CTX_CONNECTION_t::seqStat
uint16_t seqStat
Definition: ble5.h:392
RCL_STATS_CONNECTION_t::nTxDone
uint8_t nTxDone
Definition: ble5.h:427
RCL_CTX_SCAN_INIT_t::rxBuffers
List_List rxBuffers
Definition: ble5.h:292
RCL_CMD_BLE5_ADV::highDuty
uint8_t highDuty
Definition: ble5.h:177
RCL_CMD_BLE5_ADV::order
uint8_t order
Definition: ble5.h:175
RCL_ADDR_TYPE_t::peer
uint8_t peer
Definition: ble5.h:162
RCL_CMD_BLE5_GENERIC_TX_t::ctx
RCL_CtxGenericTx * ctx
Definition: ble5.h:571
RCL_CTX_GENERIC_TX_t
Generic TX context.
Definition: ble5.h:589
RCL_CTX_ADVERTISER_t::txBuffers
List_List txBuffers
Definition: ble5.h:204
RCL_CMD_BLE5_TX_TEST_t::txWord
uint16_t txWord
Definition: ble5.h:612
RCL_CMD_BLE5_INITIATOR_t::common
RCL_Command common
Definition: ble5.h:236
RCL_CTX_CONNECTION_t::crcInit
uint32_t crcInit
Definition: ble5.h:394
RCL_STATS_CONNECTION_t::anchorValid
uint8_t anchorValid
Definition: ble5.h:424
RCL_STATS_CONNECTION_t::anchorPoint
uint32_t anchorPoint
Definition: ble5.h:426
RCL_Command.h
RCL_CMD_BLE5_ADV::stats
RCL_StatsAdvScanInit * stats
Definition: ble5.h:180
RCL_CMD_BLE5_TX_TEST_t::config
struct RCL_CMD_BLE5_TX_TEST_t::@10 config
RCL_STATS_ADV_SCAN_INIT_t::nRxOk
uint16_t nRxOk
Definition: ble5.h:345
RCL_Ble5_RxPhy1Mbps
@ RCL_Ble5_RxPhy1Mbps
Definition: ble5.h:74
RCL_STATS_GENERIC_RX_t::nRxFifoFull
uint8_t nRxFifoFull
Definition: ble5.h:551
RCL_STATS_CONNECTION_t::config
struct RCL_STATS_CONNECTION_t::@7 config
RCL_CTX_GENERIC_RX_t::maxPktLen
uint8_t maxPktLen
Definition: ble5.h:511
RCL_CMD_BLE5_CONNECTION_t::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:366
RCL_Ble5_RxPktStatus::value
uint8_t value
Definition: ble5.h:92
RCL_CMD_BLE5_DTM_TX
DTM TX command.
Definition: ble5.h:455
RCL_CMD_BLE5_SCANNER_t::channel
RCL_Ble5Channel channel
Definition: ble5.h:265
RCL_CMD_BLE5_TX_TEST_t::common
RCL_Command common
Definition: ble5.h:609
RCL_CMD_BLE5_DTM_TX::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:458
RCL_CMD_BLE5_TX_TEST_t::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:611
RCL_CTX_ADVERTISER_t::filterListScan
RCL_FilterList * filterListScan
Definition: ble5.h:203
RCL_CTX_SCAN_INIT_t::filterList
RCL_FilterList * filterList
Definition: ble5.h:290
RCL_CTX_ADVERTISER_t::filterListConn
RCL_FilterList * filterListConn
Definition: ble5.h:202
RCL_CTX_SCAN_INIT_t::ownA
uint16_t ownA[3]
Definition: ble5.h:293
RCL_CMD_BLE5_DTM_TX::pduLength
uint8_t pduLength
Definition: ble5.h:460
RCL_CTX_SCAN_INIT_t::backoffUpper
uint8_t backoffUpper
Definition: ble5.h:301
RCL_STATS_GENERIC_RX_t::config
struct RCL_STATS_GENERIC_RX_t::@9 config
RCL_CTX_SCAN_INIT_t::rpaModeOwn
uint8_t rpaModeOwn
Definition: ble5.h:298
RCL_CMD_BLE5_DTM_TX::cteInfo
uint8_t cteInfo
Definition: ble5.h:461
RCL_STATS_GENERIC_RX_t
Statistics structure for generic RX.
Definition: ble5.h:539
RCL_STATS_ADV_SCAN_INIT_t
Statistics structure for advertiser, scanner and initiator.
Definition: ble5.h:333
RCL_STATS_CONNECTION_t::nTxCtlAck
uint8_t nTxCtlAck
Definition: ble5.h:429
RCL_ADDR_TYPE_t::own
uint8_t own
Definition: ble5.h:163
RCL_CMD_BLE5_CONNECTION_t
Connection command.
Definition: ble5.h:363
RCL_CTX_ADVERTISER_t::rpaModePeer
uint8_t rpaModePeer
Definition: ble5.h:211
RCL_Ble5_RxPhyCodedS2
@ RCL_Ble5_RxPhyCodedS2
Definition: ble5.h:77
RCL_CMD_BLE5_DTM_TX::common
RCL_Command common
Definition: ble5.h:456
RCL_CTX_GENERIC_TX_t::crcInit
uint32_t crcInit
Definition: ble5.h:592
RCL_STATS_CONNECTION_t::nTxRetrans
uint8_t nTxRetrans
Definition: ble5.h:431
RCL_FILTER_LIST_t::entries
RCL_FL_Entry entries[16]
Definition: ble5.h:153
RCL_CTX_SCAN_INIT_t::peerA
uint16_t peerA[3]
Definition: ble5.h:294
RCL_STATS_ADV_SCAN_INIT_t::config
struct RCL_STATS_ADV_SCAN_INIT_t::@6 config
RCL_CTX_SCAN_INIT_t::filterPolicy
uint8_t filterPolicy
Definition: ble5.h:296
RCL_CMD_BLE5_GENERIC_TX_t::common
RCL_Command common
Definition: ble5.h:568
RCL_CTX_ADVERTISER_t::rxBuffers
List_List rxBuffers
Definition: ble5.h:205
RCL_CMD_BLE5_GENERIC_TX_t
Generic TX command.
Definition: ble5.h:567
RCL_Ble5_RxPhyCodedS8
@ RCL_Ble5_RxPhyCodedS8
Definition: ble5.h:76
RCL_CTX_SCAN_INIT_t
Scanner and initiator context.
Definition: ble5.h:289
RCL_CTX_GENERIC_TX_t::accessAddress
uint32_t accessAddress
Definition: ble5.h:591
RCL_CTX_SCAN_INIT_t::initialBackoff
uint16_t initialBackoff
Definition: ble5.h:300
RCL_CMD_BLE5_INITIATOR_t::stats
RCL_StatsAdvScanInit * stats
Definition: ble5.h:242
RCL_CTX_SCAN_INIT_t::addrType
RCL_AddrType addrType
Definition: ble5.h:295
RCL_CMD_BLE5_INITIATOR_t
Initiator command.
Definition: ble5.h:235
RCL_FL_ENTRY_t
Filter list entry.
Definition: ble5.h:130
RCL_CTX_SCAN_INIT_t::rpaModePeer
uint8_t rpaModePeer
Definition: ble5.h:299
RCL_CMD_BLE5_INITIATOR_t::connectTime
uint32_t connectTime
Definition: ble5.h:240
RCL_STATS_CONNECTION_t::nRxEmpty
uint8_t nRxEmpty
Definition: ble5.h:434
RCL_CTX_ADVERTISER_t::acceptAllRpaConnectInd
uint8_t acceptAllRpaConnectInd
Definition: ble5.h:212
RCL_CMD_BLE5_TX_TEST_t
BLE5 transmitter test command.
Definition: ble5.h:608
RCL_CMD_BLE5_DTM_TX::pduHeader
uint8_t pduHeader
Definition: ble5.h:459
RCL_CMD_BLE5_CONNECTION_t::ctx
RCL_CtxConnection * ctx
Definition: ble5.h:368
RCL_CMD_BLE5_DTM_TX::periodUs
uint16_t periodUs
Definition: ble5.h:462
RCL_STATS_CONNECTION_t::nRxCtl
uint8_t nRxCtl
Definition: ble5.h:438
RCL_STATS_ADV_SCAN_INIT_t::lastRssi
int8_t lastRssi
Definition: ble5.h:341
RCL_CMD_BLE5_ADV
Advertiser command.
Definition: ble5.h:172
ble5.h
RCL_CMD_BLE5_GENERIC_RX_t::ctx
RCL_CtxGenericRx * ctx
Definition: ble5.h:488
RCL_CTX_CONNECTION_t::rxBuffers
List_List rxBuffers
Definition: ble5.h:390
RCL_CTX_ADVERTISER_t::filterPolicy
uint8_t filterPolicy
Definition: ble5.h:209
RCL_CMD_BLE5_CONNECTION_t::channel
RCL_Ble5Channel channel
Definition: ble5.h:365
RCL_CMD_BLE5_GENERIC_RX_t::stats
RCL_StatsGenericRx * stats
Definition: ble5.h:489
RCL_CMD_BLE5_INITIATOR_t::ctx
RCL_CtxScanInit * ctx
Definition: ble5.h:241
RCL_CTX_SCAN_INIT_t::backoffStatus
struct RCL_CTX_SCAN_INIT_t::@5 backoffStatus
RCL_CMD_BLE5_ADV::common
RCL_Command common
Definition: ble5.h:173
RCL_STATS_CONNECTION_t::nRxCtlAck
uint8_t nRxCtlAck
Definition: ble5.h:439
RCL_CMD_BLE5_ADV::connectPktTime
uint32_t connectPktTime
Definition: ble5.h:178
RCL_CTX_GENERIC_RX_t::config
struct RCL_CTX_GENERIC_RX_t::@8 config
RCL_CMD_BLE5_GENERIC_TX_t::channel
RCL_Ble5Channel channel
Definition: ble5.h:569
RCL_STATS_CONNECTION_t::nTxAck
uint8_t nTxAck
Definition: ble5.h:428
RCL_STATS_ADV_SCAN_INIT_t::timestampValid
uint8_t timestampValid
Definition: ble5.h:340
RCL_CTX_GENERIC_RX_t::rxBuffers
List_List rxBuffers
Definition: ble5.h:508
RCL_STATS_ADV_SCAN_INIT_t::nRxIgnored
uint16_t nRxIgnored
Definition: ble5.h:344
RCL_STATS_CONNECTION_t::nTxCtl
uint8_t nTxCtl
Definition: ble5.h:430
RCL_CTX_CONNECTION_t::isPeripheral
bool isPeripheral
Definition: ble5.h:391
RCL_STATS_GENERIC_RX_t::nRxNok
uint16_t nRxNok
Definition: ble5.h:549
RCL_STATS_CONNECTION_t::nRxOk
uint8_t nRxOk
Definition: ble5.h:436
RCL_STATS_ADV_SCAN_INIT_t::lastTimestamp
uint32_t lastTimestamp
Definition: ble5.h:342
RCL_Ble5_RxPhy
RCL_Ble5_RxPhy
PHY returned in status of recieved packets.
Definition: ble5.h:73
RCL_ADDR_TYPE_t
Address type.
Definition: ble5.h:161
RCL_CMD_BLE5_SCANNER_t
Scanner command.
Definition: ble5.h:263
RCL_STATS_CONNECTION_t::lastRssi
int8_t lastRssi
Definition: ble5.h:425
RCL_STATS_CONNECTION_t::nRxFifoFull
uint8_t nRxFifoFull
Definition: ble5.h:435
RCL_CMD_BLE5_SCANNER_t::stats
RCL_StatsAdvScanInit * stats
Definition: ble5.h:269
RCL_CMD_BLE5_GENERIC_TX_t::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:570
RCL_CMD_BLE5_ADV::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:176
RCL_CMD_BLE5_GENERIC_RX_t::channel
RCL_Ble5Channel channel
Definition: ble5.h:487
RCL_CMD_BLE5_ADV::ctx
RCL_CtxAdvertiser * ctx
Definition: ble5.h:179
RCL_FILTER_LIST_t
Filter list object.
Definition: ble5.h:151
RCL_Ble5Channel
uint8_t RCL_Ble5Channel
Type for BLE channels.
Definition: ble5.h:67
RCL_CMD_BLE5_SCANNER_t::common
RCL_Command common
Definition: ble5.h:264
RCL_STATS_CONNECTION_t
Statistics structure for connection.
Definition: ble5.h:417
RCL_CMD_BLE5_CONNECTION_t::common
RCL_Command common
Definition: ble5.h:364
RCL_CTX_ADVERTISER_t::privIgnMode
uint8_t privIgnMode
Definition: ble5.h:210
RCL_STATS_ADV_SCAN_INIT_t::nRxFifoFull
uint8_t nRxFifoFull
Definition: ble5.h:346
RCL_CMD_BLE5_ADV::chanMap
uint8_t chanMap
Definition: ble5.h:174
RCL_CMD_BLE5_SCANNER_t::activeScan
bool activeScan
Definition: ble5.h:267
RCL_CMD_BLE5_SCANNER_t::txPower
RCL_Command_TxPower txPower
Definition: ble5.h:266
RCL_STATS_GENERIC_RX_t::nRxOk
uint16_t nRxOk
Definition: ble5.h:550
RCL_CTX_GENERIC_TX_t::txBuffers
List_List txBuffers
Definition: ble5.h:590
RCL_CTX_GENERIC_RX_t
Generic RX context.
Definition: ble5.h:507
RCL_CMD_BLE5_CONNECTION_t::relRxTimeoutTime
uint16_t relRxTimeoutTime
Definition: ble5.h:367
RCL_STATS_CONNECTION_t::nRxIgnored
uint8_t nRxIgnored
Definition: ble5.h:433
RCL_CMD_BLE5_SCANNER_t::ctx
RCL_CtxScanInit * ctx
Definition: ble5.h:268