rflib
cc13x1_cc26x1/driverlib/rf_ble_cmd.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Filename: rf_ble_cmd.h
3 *
4 * Description: CC13x2/CC26x2 API for Bluetooth Low Energy commands
5 *
6 * Copyright (c) 2015 - 2020, Texas Instruments Incorporated
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 * 1) Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * 2) Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 *
19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may
20 * be used to endorse or promote products derived from this software without
21 * specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************/
36 
37 #ifndef __BLE_CMD_H
38 #define __BLE_CMD_H
39 
40 #ifndef __RFC_STRUCT
41 #define __RFC_STRUCT
42 #endif
43 
44 #ifndef __RFC_STRUCT_ATTR
45 #if defined(__GNUC__)
46 #define __RFC_STRUCT_ATTR __attribute__ ((aligned (4)))
47 #elif defined(__TI_ARM__)
48 #define __RFC_STRUCT_ATTR __attribute__ ((__packed__,aligned (4)))
49 #else
50 #define __RFC_STRUCT_ATTR
51 #endif
52 #endif
53 
56 
59 
60 #include <stdint.h>
61 #include "rf_mailbox.h"
62 #include "rf_common_cmd.h"
63 
121 
125  uint16_t commandNo;
126  uint16_t status;
127  rfc_radioOp_t *pNextOp;
130  ratmr_t startTime;
131  struct {
132  uint8_t triggerType:4;
133  uint8_t bEnaCmd:1;
134  uint8_t triggerNo:2;
136  uint8_t pastTrig:1;
137  } startTrigger;
139  struct {
140  uint8_t rule:4;
141  uint8_t nSkip:4;
142  } condition;
143  uint8_t channel;
144  struct {
149  uint8_t init:7;
150  uint8_t bOverride:1;
153  } whitening;
155  uint8_t* pParams;
156  uint8_t* pOutput;
158 
160 
164  uint16_t commandNo;
165  uint16_t status;
166  rfc_radioOp_t *pNextOp;
169  ratmr_t startTime;
170  struct {
171  uint8_t triggerType:4;
172  uint8_t bEnaCmd:1;
173  uint8_t triggerNo:2;
175  uint8_t pastTrig:1;
176  } startTrigger;
178  struct {
179  uint8_t rule:4;
180  uint8_t nSkip:4;
181  } condition;
182  uint8_t channel;
183  struct {
188  uint8_t init:7;
189  uint8_t bOverride:1;
192  } whitening;
194  struct {
195  uint8_t mainMode:2;
196  uint8_t coding:6;
201  } phyMode;
203  uint8_t rangeDelay;
204  uint16_t txPower;
205  uint8_t* pParams;
209  uint8_t* pOutput;
211 
213 
218  uint16_t commandNo;
219  uint16_t status;
220  rfc_radioOp_t *pNextOp;
223  ratmr_t startTime;
224  struct {
225  uint8_t triggerType:4;
226  uint8_t bEnaCmd:1;
227  uint8_t triggerNo:2;
229  uint8_t pastTrig:1;
230  } startTrigger;
232  struct {
233  uint8_t rule:4;
234  uint8_t nSkip:4;
235  } condition;
236  uint8_t channel;
237  struct {
242  uint8_t init:7;
243  uint8_t bOverride:1;
246  } whitening;
248  struct {
249  uint8_t mainMode:2;
250  uint8_t coding:6;
255  } phyMode;
257  uint8_t rangeDelay;
258  uint16_t txPower;
259  uint8_t* pParams;
263  uint8_t* pOutput;
264  uint32_t tx20Power;
272 
274 
277 #define CMD_BLE_SLAVE 0x1801
280  uint16_t commandNo;
281  uint16_t status;
282  rfc_radioOp_t *pNextOp;
285  ratmr_t startTime;
286  struct {
287  uint8_t triggerType:4;
288  uint8_t bEnaCmd:1;
289  uint8_t triggerNo:2;
291  uint8_t pastTrig:1;
292  } startTrigger;
294  struct {
295  uint8_t rule:4;
296  uint8_t nSkip:4;
297  } condition;
298  uint8_t channel;
299  struct {
304  uint8_t init:7;
305  uint8_t bOverride:1;
308  } whitening;
310  rfc_bleSlavePar_t *pParams;
311  rfc_bleMasterSlaveOutput_t *pOutput;
313 
315 
318 #define CMD_BLE_MASTER 0x1802
321  uint16_t commandNo;
322  uint16_t status;
323  rfc_radioOp_t *pNextOp;
326  ratmr_t startTime;
327  struct {
328  uint8_t triggerType:4;
329  uint8_t bEnaCmd:1;
330  uint8_t triggerNo:2;
332  uint8_t pastTrig:1;
333  } startTrigger;
335  struct {
336  uint8_t rule:4;
337  uint8_t nSkip:4;
338  } condition;
339  uint8_t channel;
340  struct {
345  uint8_t init:7;
346  uint8_t bOverride:1;
349  } whitening;
351  rfc_bleMasterPar_t *pParams;
352  rfc_bleMasterSlaveOutput_t *pOutput;
354 
356 
359 #define CMD_BLE_ADV 0x1803
362  uint16_t commandNo;
363  uint16_t status;
364  rfc_radioOp_t *pNextOp;
367  ratmr_t startTime;
368  struct {
369  uint8_t triggerType:4;
370  uint8_t bEnaCmd:1;
371  uint8_t triggerNo:2;
373  uint8_t pastTrig:1;
374  } startTrigger;
376  struct {
377  uint8_t rule:4;
378  uint8_t nSkip:4;
379  } condition;
380  uint8_t channel;
381  struct {
386  uint8_t init:7;
387  uint8_t bOverride:1;
390  } whitening;
392  rfc_bleAdvPar_t *pParams;
393  rfc_bleAdvOutput_t *pOutput;
395 
397 
400 #define CMD_BLE_ADV_DIR 0x1804
403  uint16_t commandNo;
404  uint16_t status;
405  rfc_radioOp_t *pNextOp;
408  ratmr_t startTime;
409  struct {
410  uint8_t triggerType:4;
411  uint8_t bEnaCmd:1;
412  uint8_t triggerNo:2;
414  uint8_t pastTrig:1;
415  } startTrigger;
417  struct {
418  uint8_t rule:4;
419  uint8_t nSkip:4;
420  } condition;
421  uint8_t channel;
422  struct {
427  uint8_t init:7;
428  uint8_t bOverride:1;
431  } whitening;
433  rfc_bleAdvPar_t *pParams;
434  rfc_bleAdvOutput_t *pOutput;
436 
438 
441 #define CMD_BLE_ADV_NC 0x1805
444  uint16_t commandNo;
445  uint16_t status;
446  rfc_radioOp_t *pNextOp;
449  ratmr_t startTime;
450  struct {
451  uint8_t triggerType:4;
452  uint8_t bEnaCmd:1;
453  uint8_t triggerNo:2;
455  uint8_t pastTrig:1;
456  } startTrigger;
458  struct {
459  uint8_t rule:4;
460  uint8_t nSkip:4;
461  } condition;
462  uint8_t channel;
463  struct {
468  uint8_t init:7;
469  uint8_t bOverride:1;
472  } whitening;
474  rfc_bleAdvPar_t *pParams;
475  rfc_bleAdvOutput_t *pOutput;
477 
479 
482 #define CMD_BLE_ADV_SCAN 0x1806
485  uint16_t commandNo;
486  uint16_t status;
487  rfc_radioOp_t *pNextOp;
490  ratmr_t startTime;
491  struct {
492  uint8_t triggerType:4;
493  uint8_t bEnaCmd:1;
494  uint8_t triggerNo:2;
496  uint8_t pastTrig:1;
497  } startTrigger;
499  struct {
500  uint8_t rule:4;
501  uint8_t nSkip:4;
502  } condition;
503  uint8_t channel;
504  struct {
509  uint8_t init:7;
510  uint8_t bOverride:1;
513  } whitening;
515  rfc_bleAdvPar_t *pParams;
516  rfc_bleAdvOutput_t *pOutput;
518 
520 
523 #define CMD_BLE_SCANNER 0x1807
526  uint16_t commandNo;
527  uint16_t status;
528  rfc_radioOp_t *pNextOp;
531  ratmr_t startTime;
532  struct {
533  uint8_t triggerType:4;
534  uint8_t bEnaCmd:1;
535  uint8_t triggerNo:2;
537  uint8_t pastTrig:1;
538  } startTrigger;
540  struct {
541  uint8_t rule:4;
542  uint8_t nSkip:4;
543  } condition;
544  uint8_t channel;
545  struct {
550  uint8_t init:7;
551  uint8_t bOverride:1;
554  } whitening;
556  rfc_bleScannerPar_t *pParams;
557  rfc_bleScannerOutput_t *pOutput;
559 
561 
564 #define CMD_BLE_INITIATOR 0x1808
567  uint16_t commandNo;
568  uint16_t status;
569  rfc_radioOp_t *pNextOp;
572  ratmr_t startTime;
573  struct {
574  uint8_t triggerType:4;
575  uint8_t bEnaCmd:1;
576  uint8_t triggerNo:2;
578  uint8_t pastTrig:1;
579  } startTrigger;
581  struct {
582  uint8_t rule:4;
583  uint8_t nSkip:4;
584  } condition;
585  uint8_t channel;
586  struct {
591  uint8_t init:7;
592  uint8_t bOverride:1;
595  } whitening;
597  rfc_bleInitiatorPar_t *pParams;
598  rfc_bleInitiatorOutput_t *pOutput;
600 
602 
605 #define CMD_BLE_GENERIC_RX 0x1809
608  uint16_t commandNo;
609  uint16_t status;
610  rfc_radioOp_t *pNextOp;
613  ratmr_t startTime;
614  struct {
615  uint8_t triggerType:4;
616  uint8_t bEnaCmd:1;
617  uint8_t triggerNo:2;
619  uint8_t pastTrig:1;
620  } startTrigger;
622  struct {
623  uint8_t rule:4;
624  uint8_t nSkip:4;
625  } condition;
626  uint8_t channel;
627  struct {
632  uint8_t init:7;
633  uint8_t bOverride:1;
636  } whitening;
638  rfc_bleGenericRxPar_t *pParams;
639  rfc_bleGenericRxOutput_t *pOutput;
641 
643 
646 #define CMD_BLE_TX_TEST 0x180A
649  uint16_t commandNo;
650  uint16_t status;
651  rfc_radioOp_t *pNextOp;
654  ratmr_t startTime;
655  struct {
656  uint8_t triggerType:4;
657  uint8_t bEnaCmd:1;
658  uint8_t triggerNo:2;
660  uint8_t pastTrig:1;
661  } startTrigger;
663  struct {
664  uint8_t rule:4;
665  uint8_t nSkip:4;
666  } condition;
667  uint8_t channel;
668  struct {
673  uint8_t init:7;
674  uint8_t bOverride:1;
677  } whitening;
679  rfc_bleTxTestPar_t *pParams;
680  rfc_bleTxTestOutput_t *pOutput;
682 
684 
687 #define CMD_BLE_ADV_PAYLOAD 0x1001
690  uint16_t commandNo;
691  uint8_t payloadType;
692  uint8_t newLen;
694  uint8_t* pNewData;
695  rfc_bleAdvPar_t *pParams;
697 
699 
702 #define CMD_BLE5_RADIO_SETUP 0x1820
705  uint16_t commandNo;
706  uint16_t status;
707  rfc_radioOp_t *pNextOp;
710  ratmr_t startTime;
711  struct {
712  uint8_t triggerType:4;
713  uint8_t bEnaCmd:1;
714  uint8_t triggerNo:2;
716  uint8_t pastTrig:1;
717  } startTrigger;
719  struct {
720  uint8_t rule:4;
721  uint8_t nSkip:4;
722  } condition;
723  struct {
724  uint8_t mainMode:2;
725  uint8_t coding:1;
730  } defaultPhy;
733  uint8_t loDivider;
734  struct {
735  uint16_t frontEndMode:3;
736  uint16_t biasMode:1;
742  uint16_t analogCfgMode:6;
744  uint16_t bNoFsPowerUp:1;
751  uint16_t :1;
753  uint16_t bSynthNarrowBand:1;
754  } config;
756  uint16_t txPower;
757  uint32_t* pRegOverrideCommon;
758  uint32_t* pRegOverride1Mbps;
760  uint32_t* pRegOverride2Mbps;
762  uint32_t* pRegOverrideCoded;
766 
768 
771 #define CMD_BLE5_SLAVE 0x1821
774  uint16_t commandNo;
775  uint16_t status;
776  rfc_radioOp_t *pNextOp;
779  ratmr_t startTime;
780  struct {
781  uint8_t triggerType:4;
782  uint8_t bEnaCmd:1;
783  uint8_t triggerNo:2;
785  uint8_t pastTrig:1;
786  } startTrigger;
788  struct {
789  uint8_t rule:4;
790  uint8_t nSkip:4;
791  } condition;
792  uint8_t channel;
793  struct {
798  uint8_t init:7;
799  uint8_t bOverride:1;
802  } whitening;
804  struct {
805  uint8_t mainMode:2;
806  uint8_t coding:6;
811  } phyMode;
813  uint8_t rangeDelay;
814  uint16_t txPower;
815  rfc_ble5SlavePar_t *pParams;
819  rfc_bleMasterSlaveOutput_t *pOutput;
820  uint32_t tx20Power;
828 
830 
833 #define CMD_BLE5_MASTER 0x1822
836  uint16_t commandNo;
837  uint16_t status;
838  rfc_radioOp_t *pNextOp;
841  ratmr_t startTime;
842  struct {
843  uint8_t triggerType:4;
844  uint8_t bEnaCmd:1;
845  uint8_t triggerNo:2;
847  uint8_t pastTrig:1;
848  } startTrigger;
850  struct {
851  uint8_t rule:4;
852  uint8_t nSkip:4;
853  } condition;
854  uint8_t channel;
855  struct {
860  uint8_t init:7;
861  uint8_t bOverride:1;
864  } whitening;
866  struct {
867  uint8_t mainMode:2;
868  uint8_t coding:6;
873  } phyMode;
875  uint8_t rangeDelay;
876  uint16_t txPower;
877  rfc_ble5MasterPar_t *pParams;
881  rfc_bleMasterSlaveOutput_t *pOutput;
882  uint32_t tx20Power;
890 
892 
895 #define CMD_BLE5_ADV_EXT 0x1823
898  uint16_t commandNo;
899  uint16_t status;
900  rfc_radioOp_t *pNextOp;
903  ratmr_t startTime;
904  struct {
905  uint8_t triggerType:4;
906  uint8_t bEnaCmd:1;
907  uint8_t triggerNo:2;
909  uint8_t pastTrig:1;
910  } startTrigger;
912  struct {
913  uint8_t rule:4;
914  uint8_t nSkip:4;
915  } condition;
916  uint8_t channel;
917  struct {
922  uint8_t init:7;
923  uint8_t bOverride:1;
926  } whitening;
928  struct {
929  uint8_t mainMode:2;
930  uint8_t coding:6;
935  } phyMode;
937  uint8_t rangeDelay;
938  uint16_t txPower;
939  rfc_ble5AdvExtPar_t *pParams;
943  rfc_bleAdvOutput_t *pOutput;
944  uint32_t tx20Power;
952 
954 
957 #define CMD_BLE5_ADV_AUX 0x1824
960  uint16_t commandNo;
961  uint16_t status;
962  rfc_radioOp_t *pNextOp;
965  ratmr_t startTime;
966  struct {
967  uint8_t triggerType:4;
968  uint8_t bEnaCmd:1;
969  uint8_t triggerNo:2;
971  uint8_t pastTrig:1;
972  } startTrigger;
974  struct {
975  uint8_t rule:4;
976  uint8_t nSkip:4;
977  } condition;
978  uint8_t channel;
979  struct {
984  uint8_t init:7;
985  uint8_t bOverride:1;
988  } whitening;
990  struct {
991  uint8_t mainMode:2;
992  uint8_t coding:6;
997  } phyMode;
999  uint8_t rangeDelay;
1000  uint16_t txPower;
1001  rfc_ble5AdvAuxPar_t *pParams;
1005  rfc_bleAdvOutput_t *pOutput;
1006  uint32_t tx20Power;
1014 
1016 
1019 #define CMD_BLE5_ADV_PER 0x1825
1022  uint16_t commandNo;
1023  uint16_t status;
1024  rfc_radioOp_t *pNextOp;
1027  ratmr_t startTime;
1028  struct {
1029  uint8_t triggerType:4;
1030  uint8_t bEnaCmd:1;
1031  uint8_t triggerNo:2;
1033  uint8_t pastTrig:1;
1034  } startTrigger;
1036  struct {
1037  uint8_t rule:4;
1038  uint8_t nSkip:4;
1039  } condition;
1040  uint8_t channel;
1041  struct {
1046  uint8_t init:7;
1047  uint8_t bOverride:1;
1050  } whitening;
1052  struct {
1053  uint8_t mainMode:2;
1054  uint8_t coding:6;
1059  } phyMode;
1061  uint8_t rangeDelay;
1062  uint16_t txPower;
1063  rfc_ble5AdvPerPar_t *pParams;
1067  rfc_bleAdvOutput_t *pOutput;
1068  uint32_t tx20Power;
1076 
1078 
1081 #define CMD_BLE5_SCANNER 0x1827
1084  uint16_t commandNo;
1085  uint16_t status;
1086  rfc_radioOp_t *pNextOp;
1089  ratmr_t startTime;
1090  struct {
1091  uint8_t triggerType:4;
1092  uint8_t bEnaCmd:1;
1093  uint8_t triggerNo:2;
1095  uint8_t pastTrig:1;
1096  } startTrigger;
1098  struct {
1099  uint8_t rule:4;
1100  uint8_t nSkip:4;
1101  } condition;
1102  uint8_t channel;
1103  struct {
1108  uint8_t init:7;
1109  uint8_t bOverride:1;
1112  } whitening;
1114  struct {
1115  uint8_t mainMode:2;
1116  uint8_t coding:6;
1121  } phyMode;
1123  uint8_t rangeDelay;
1124  uint16_t txPower;
1125  rfc_ble5ScannerPar_t *pParams;
1129  rfc_ble5ScanInitOutput_t *pOutput;
1130  uint32_t tx20Power;
1138 
1140 
1143 #define CMD_BLE5_INITIATOR 0x1828
1146  uint16_t commandNo;
1147  uint16_t status;
1148  rfc_radioOp_t *pNextOp;
1151  ratmr_t startTime;
1152  struct {
1153  uint8_t triggerType:4;
1154  uint8_t bEnaCmd:1;
1155  uint8_t triggerNo:2;
1157  uint8_t pastTrig:1;
1158  } startTrigger;
1160  struct {
1161  uint8_t rule:4;
1162  uint8_t nSkip:4;
1163  } condition;
1164  uint8_t channel;
1165  struct {
1170  uint8_t init:7;
1171  uint8_t bOverride:1;
1174  } whitening;
1176  struct {
1177  uint8_t mainMode:2;
1178  uint8_t coding:6;
1183  } phyMode;
1185  uint8_t rangeDelay;
1186  uint16_t txPower;
1187  rfc_ble5InitiatorPar_t *pParams;
1191  rfc_ble5ScanInitOutput_t *pOutput;
1192  uint32_t tx20Power;
1200 
1202 
1205 #define CMD_BLE5_GENERIC_RX 0x1829
1208  uint16_t commandNo;
1209  uint16_t status;
1210  rfc_radioOp_t *pNextOp;
1213  ratmr_t startTime;
1214  struct {
1215  uint8_t triggerType:4;
1216  uint8_t bEnaCmd:1;
1217  uint8_t triggerNo:2;
1219  uint8_t pastTrig:1;
1220  } startTrigger;
1222  struct {
1223  uint8_t rule:4;
1224  uint8_t nSkip:4;
1225  } condition;
1226  uint8_t channel;
1227  struct {
1232  uint8_t init:7;
1233  uint8_t bOverride:1;
1236  } whitening;
1238  struct {
1239  uint8_t mainMode:2;
1240  uint8_t coding:6;
1245  } phyMode;
1247  uint8_t rangeDelay;
1248  uint16_t txPower;
1249  rfc_bleGenericRxPar_t *pParams;
1253  rfc_bleGenericRxOutput_t *pOutput;
1254  uint32_t tx20Power;
1262 
1264 
1267 #define CMD_BLE5_TX_TEST 0x182A
1270  uint16_t commandNo;
1271  uint16_t status;
1272  rfc_radioOp_t *pNextOp;
1275  ratmr_t startTime;
1276  struct {
1277  uint8_t triggerType:4;
1278  uint8_t bEnaCmd:1;
1279  uint8_t triggerNo:2;
1281  uint8_t pastTrig:1;
1282  } startTrigger;
1284  struct {
1285  uint8_t rule:4;
1286  uint8_t nSkip:4;
1287  } condition;
1288  uint8_t channel;
1289  struct {
1294  uint8_t init:7;
1295  uint8_t bOverride:1;
1298  } whitening;
1300  struct {
1301  uint8_t mainMode:2;
1302  uint8_t coding:6;
1307  } phyMode;
1309  uint8_t rangeDelay;
1310  uint16_t txPower;
1311  rfc_bleTxTestPar_t *pParams;
1315  rfc_bleTxTestOutput_t *pOutput;
1316  uint32_t tx20Power;
1324 
1326 
1329 #define CMD_BLE5_ADV 0x182B
1332  uint16_t commandNo;
1333  uint16_t status;
1334  rfc_radioOp_t *pNextOp;
1337  ratmr_t startTime;
1338  struct {
1339  uint8_t triggerType:4;
1340  uint8_t bEnaCmd:1;
1341  uint8_t triggerNo:2;
1343  uint8_t pastTrig:1;
1344  } startTrigger;
1346  struct {
1347  uint8_t rule:4;
1348  uint8_t nSkip:4;
1349  } condition;
1350  uint8_t channel;
1351  struct {
1356  uint8_t init:7;
1357  uint8_t bOverride:1;
1360  } whitening;
1362  struct {
1363  uint8_t mainMode:2;
1364  uint8_t coding:6;
1369  } phyMode;
1371  uint8_t rangeDelay;
1372  uint16_t txPower;
1373  rfc_bleAdvPar_t *pParams;
1377  rfc_bleAdvOutput_t *pOutput;
1378  uint32_t tx20Power;
1386 
1388 
1391 #define CMD_BLE5_ADV_DIR 0x182C
1394  uint16_t commandNo;
1395  uint16_t status;
1396  rfc_radioOp_t *pNextOp;
1399  ratmr_t startTime;
1400  struct {
1401  uint8_t triggerType:4;
1402  uint8_t bEnaCmd:1;
1403  uint8_t triggerNo:2;
1405  uint8_t pastTrig:1;
1406  } startTrigger;
1408  struct {
1409  uint8_t rule:4;
1410  uint8_t nSkip:4;
1411  } condition;
1412  uint8_t channel;
1413  struct {
1418  uint8_t init:7;
1419  uint8_t bOverride:1;
1422  } whitening;
1424  struct {
1425  uint8_t mainMode:2;
1426  uint8_t coding:6;
1431  } phyMode;
1433  uint8_t rangeDelay;
1434  uint16_t txPower;
1435  rfc_bleAdvPar_t *pParams;
1439  rfc_bleAdvOutput_t *pOutput;
1440  uint32_t tx20Power;
1448 
1450 
1453 #define CMD_BLE5_ADV_NC 0x182D
1456  uint16_t commandNo;
1457  uint16_t status;
1458  rfc_radioOp_t *pNextOp;
1461  ratmr_t startTime;
1462  struct {
1463  uint8_t triggerType:4;
1464  uint8_t bEnaCmd:1;
1465  uint8_t triggerNo:2;
1467  uint8_t pastTrig:1;
1468  } startTrigger;
1470  struct {
1471  uint8_t rule:4;
1472  uint8_t nSkip:4;
1473  } condition;
1474  uint8_t channel;
1475  struct {
1480  uint8_t init:7;
1481  uint8_t bOverride:1;
1484  } whitening;
1486  struct {
1487  uint8_t mainMode:2;
1488  uint8_t coding:6;
1493  } phyMode;
1495  uint8_t rangeDelay;
1496  uint16_t txPower;
1497  rfc_bleAdvPar_t *pParams;
1501  rfc_bleAdvOutput_t *pOutput;
1502  uint32_t tx20Power;
1510 
1512 
1515 #define CMD_BLE5_ADV_SCAN 0x182E
1518  uint16_t commandNo;
1519  uint16_t status;
1520  rfc_radioOp_t *pNextOp;
1523  ratmr_t startTime;
1524  struct {
1525  uint8_t triggerType:4;
1526  uint8_t bEnaCmd:1;
1527  uint8_t triggerNo:2;
1529  uint8_t pastTrig:1;
1530  } startTrigger;
1532  struct {
1533  uint8_t rule:4;
1534  uint8_t nSkip:4;
1535  } condition;
1536  uint8_t channel;
1537  struct {
1542  uint8_t init:7;
1543  uint8_t bOverride:1;
1546  } whitening;
1548  struct {
1549  uint8_t mainMode:2;
1550  uint8_t coding:6;
1555  } phyMode;
1557  uint8_t rangeDelay;
1558  uint16_t txPower;
1559  rfc_bleAdvPar_t *pParams;
1563  rfc_bleAdvOutput_t *pOutput;
1564  uint32_t tx20Power;
1572 
1574 
1575 #define CMD_BLE5_RADIO_SETUP_PA CMD_BLE5_RADIO_SETUP
1576 
1581  uint16_t commandNo;
1582  uint16_t status;
1583  rfc_radioOp_t *pNextOp;
1586  ratmr_t startTime;
1587  struct {
1588  uint8_t triggerType:4;
1589  uint8_t bEnaCmd:1;
1590  uint8_t triggerNo:2;
1592  uint8_t pastTrig:1;
1593  } startTrigger;
1595  struct {
1596  uint8_t rule:4;
1597  uint8_t nSkip:4;
1598  } condition;
1599  struct {
1600  uint8_t mainMode:2;
1601  uint8_t coding:1;
1606  } defaultPhy;
1609  uint8_t loDivider;
1610  struct {
1611  uint16_t frontEndMode:3;
1612  uint16_t biasMode:1;
1618  uint16_t analogCfgMode:6;
1620  uint16_t bNoFsPowerUp:1;
1627  uint16_t :1;
1629  uint16_t bSynthNarrowBand:1;
1630  } config;
1632  uint16_t txPower;
1633  uint32_t* pRegOverrideCommon;
1634  uint32_t* pRegOverride1Mbps;
1636  uint32_t* pRegOverride2Mbps;
1638  uint32_t* pRegOverrideCoded;
1640  uint32_t* pRegOverrideTxStd;
1642  uint32_t* pRegOverrideTx20;
1646 
1648 
1651 struct __RFC_STRUCT rfc_bleMasterSlavePar_s {
1652  dataQueue_t* pRxQ;
1653  dataQueue_t* pTxQ;
1654  struct {
1655  uint8_t bAutoFlushIgnored:1;
1656  uint8_t bAutoFlushCrcErr:1;
1657  uint8_t bAutoFlushEmpty:1;
1658  uint8_t bIncludeLenByte:1;
1659  uint8_t bIncludeCrc:1;
1660  uint8_t bAppendRssi:1;
1661  uint8_t bAppendStatus:1;
1662  uint8_t bAppendTimestamp:1;
1663  } rxConfig;
1664  struct {
1665  uint8_t lastRxSn:1;
1666  uint8_t lastTxSn:1;
1667  uint8_t nextTxSn:1;
1668  uint8_t bFirstPkt:1;
1669  uint8_t bAutoEmpty:1;
1670  uint8_t bLlCtrlTx:1;
1671  uint8_t bLlCtrlAckRx:1;
1672  uint8_t bLlCtrlAckPending:1;
1673  } seqStat;
1674  uint8_t maxNack;
1675  uint8_t maxPkt;
1676  uint32_t accessAddress;
1677  uint8_t crcInit0;
1678  uint8_t crcInit1;
1679  uint8_t crcInit2;
1681 
1683 
1687 
1688 struct __RFC_STRUCT rfc_bleSlavePar_s {
1689  dataQueue_t* pRxQ;
1690  dataQueue_t* pTxQ;
1691  struct {
1692  uint8_t bAutoFlushIgnored:1;
1693  uint8_t bAutoFlushCrcErr:1;
1694  uint8_t bAutoFlushEmpty:1;
1695  uint8_t bIncludeLenByte:1;
1696  uint8_t bIncludeCrc:1;
1697  uint8_t bAppendRssi:1;
1698  uint8_t bAppendStatus:1;
1699  uint8_t bAppendTimestamp:1;
1700  } rxConfig;
1701  struct {
1702  uint8_t lastRxSn:1;
1703  uint8_t lastTxSn:1;
1704  uint8_t nextTxSn:1;
1705  uint8_t bFirstPkt:1;
1706  uint8_t bAutoEmpty:1;
1707  uint8_t bLlCtrlTx:1;
1708  uint8_t bLlCtrlAckRx:1;
1709  uint8_t bLlCtrlAckPending:1;
1710  } seqStat;
1711  uint8_t maxNack;
1712  uint8_t maxPkt;
1713  uint32_t accessAddress;
1714  uint8_t crcInit0;
1715  uint8_t crcInit1;
1716  uint8_t crcInit2;
1717  struct {
1718  uint8_t triggerType:4;
1719  uint8_t bEnaCmd:1;
1720  uint8_t triggerNo:2;
1722  uint8_t pastTrig:1;
1723  } timeoutTrigger;
1725  ratmr_t timeoutTime;
1726  uint16_t __dummy0;
1728  uint8_t __dummy1;
1729  struct {
1730  uint8_t triggerType:4;
1731  uint8_t bEnaCmd:1;
1732  uint8_t triggerNo:2;
1734  uint8_t pastTrig:1;
1735  } endTrigger;
1737  ratmr_t endTime;
1740 
1742 
1746 
1747 struct __RFC_STRUCT rfc_bleMasterPar_s {
1748  dataQueue_t* pRxQ;
1749  dataQueue_t* pTxQ;
1750  struct {
1751  uint8_t bAutoFlushIgnored:1;
1752  uint8_t bAutoFlushCrcErr:1;
1753  uint8_t bAutoFlushEmpty:1;
1754  uint8_t bIncludeLenByte:1;
1755  uint8_t bIncludeCrc:1;
1756  uint8_t bAppendRssi:1;
1757  uint8_t bAppendStatus:1;
1758  uint8_t bAppendTimestamp:1;
1759  } rxConfig;
1760  struct {
1761  uint8_t lastRxSn:1;
1762  uint8_t lastTxSn:1;
1763  uint8_t nextTxSn:1;
1764  uint8_t bFirstPkt:1;
1765  uint8_t bAutoEmpty:1;
1766  uint8_t bLlCtrlTx:1;
1767  uint8_t bLlCtrlAckRx:1;
1768  uint8_t bLlCtrlAckPending:1;
1769  } seqStat;
1770  uint8_t maxNack;
1771  uint8_t maxPkt;
1772  uint32_t accessAddress;
1773  uint8_t crcInit0;
1774  uint8_t crcInit1;
1775  uint8_t crcInit2;
1776  struct {
1777  uint8_t triggerType:4;
1778  uint8_t bEnaCmd:1;
1779  uint8_t triggerNo:2;
1781  uint8_t pastTrig:1;
1782  } endTrigger;
1784  ratmr_t endTime;
1787 
1789 
1793 
1794 struct __RFC_STRUCT rfc_bleAdvPar_s {
1795  dataQueue_t* pRxQ;
1796  struct {
1797  uint8_t bAutoFlushIgnored:1;
1798  uint8_t bAutoFlushCrcErr:1;
1799  uint8_t bAutoFlushEmpty:1;
1800  uint8_t bIncludeLenByte:1;
1801  uint8_t bIncludeCrc:1;
1802  uint8_t bAppendRssi:1;
1803  uint8_t bAppendStatus:1;
1804  uint8_t bAppendTimestamp:1;
1805  } rxConfig;
1806  struct {
1807  uint8_t advFilterPolicy:2;
1808  uint8_t deviceAddrType:1;
1815  uint8_t peerAddrType:1;
1816  uint8_t bStrictLenFilter:1;
1817  uint8_t chSel:1;
1819  uint8_t privIgnMode:1;
1821  uint8_t rpaMode:1;
1823  } advConfig;
1826  uint8_t advLen;
1827  uint8_t scanRspLen;
1828  uint8_t* pAdvData;
1829  uint8_t* pScanRspData;
1830  uint16_t* pDeviceAddress;
1831  rfc_bleWhiteListEntry_t *pWhiteList;
1834  struct {
1837  uint8_t scanRspEndType:1;
1838  } behConfig;
1841  uint8_t __dummy0;
1842  uint8_t __dummy1;
1843  struct {
1844  uint8_t triggerType:4;
1845  uint8_t bEnaCmd:1;
1846  uint8_t triggerNo:2;
1848  uint8_t pastTrig:1;
1849  } endTrigger;
1851  ratmr_t endTime;
1854 
1856 
1860 
1861 struct __RFC_STRUCT rfc_bleScannerPar_s {
1862  dataQueue_t* pRxQ;
1863  struct {
1864  uint8_t bAutoFlushIgnored:1;
1865  uint8_t bAutoFlushCrcErr:1;
1866  uint8_t bAutoFlushEmpty:1;
1867  uint8_t bIncludeLenByte:1;
1868  uint8_t bIncludeCrc:1;
1869  uint8_t bAppendRssi:1;
1870  uint8_t bAppendStatus:1;
1871  uint8_t bAppendTimestamp:1;
1872  } rxConfig;
1873  struct {
1874  uint8_t scanFilterPolicy:1;
1875  uint8_t bActiveScan:1;
1879  uint8_t deviceAddrType:1;
1881  uint8_t rpaFilterPolicy:1;
1882  uint8_t bStrictLenFilter:1;
1885  uint8_t bAutoWlIgnore:1;
1887  uint8_t bEndOnRpt:1;
1889  uint8_t rpaMode:1;
1891  } scanConfig;
1894  uint16_t randomState;
1895  uint16_t backoffCount;
1896  struct {
1897  uint8_t logUpperLimit:4;
1898  uint8_t bLastSucceeded:1;
1899  uint8_t bLastFailed:1;
1901  } backoffPar;
1903  uint8_t scanReqLen;
1904  uint8_t* pScanReqData;
1905  uint16_t* pDeviceAddress;
1906  rfc_bleWhiteListEntry_t *pWhiteList;
1909  uint16_t __dummy0;
1910  struct {
1911  uint8_t triggerType:4;
1912  uint8_t bEnaCmd:1;
1913  uint8_t triggerNo:2;
1915  uint8_t pastTrig:1;
1916  } timeoutTrigger;
1918  struct {
1919  uint8_t triggerType:4;
1920  uint8_t bEnaCmd:1;
1921  uint8_t triggerNo:2;
1923  uint8_t pastTrig:1;
1924  } endTrigger;
1926  ratmr_t timeoutTime;
1927  ratmr_t endTime;
1931 
1933 
1937 
1938 struct __RFC_STRUCT rfc_bleInitiatorPar_s {
1939  dataQueue_t* pRxQ;
1940  struct {
1941  uint8_t bAutoFlushIgnored:1;
1942  uint8_t bAutoFlushCrcErr:1;
1943  uint8_t bAutoFlushEmpty:1;
1944  uint8_t bIncludeLenByte:1;
1945  uint8_t bIncludeCrc:1;
1946  uint8_t bAppendRssi:1;
1947  uint8_t bAppendStatus:1;
1948  uint8_t bAppendTimestamp:1;
1949  } rxConfig;
1950  struct {
1951  uint8_t bUseWhiteList:1;
1952  uint8_t bDynamicWinOffset:1;
1955  uint8_t deviceAddrType:1;
1957  uint8_t peerAddrType:1;
1958  uint8_t bStrictLenFilter:1;
1959  uint8_t chSel:1;
1961  } initConfig;
1963  uint8_t __dummy0;
1964  uint8_t connectReqLen;
1965  uint8_t* pConnectReqData;
1966  uint16_t* pDeviceAddress;
1967  rfc_bleWhiteListEntry_t *pWhiteList;
1970  ratmr_t connectTime;
1973  uint16_t __dummy1;
1976  struct {
1977  uint8_t triggerType:4;
1978  uint8_t bEnaCmd:1;
1979  uint8_t triggerNo:2;
1981  uint8_t pastTrig:1;
1982  } timeoutTrigger;
1984  struct {
1985  uint8_t triggerType:4;
1986  uint8_t bEnaCmd:1;
1987  uint8_t triggerNo:2;
1989  uint8_t pastTrig:1;
1990  } endTrigger;
1992  ratmr_t timeoutTime;
1993  ratmr_t endTime;
1997 
1999 
2003 
2004 struct __RFC_STRUCT rfc_bleGenericRxPar_s {
2005  dataQueue_t* pRxQ;
2006  struct {
2007  uint8_t bAutoFlushIgnored:1;
2008  uint8_t bAutoFlushCrcErr:1;
2009  uint8_t bAutoFlushEmpty:1;
2010  uint8_t bIncludeLenByte:1;
2011  uint8_t bIncludeCrc:1;
2012  uint8_t bAppendRssi:1;
2013  uint8_t bAppendStatus:1;
2014  uint8_t bAppendTimestamp:1;
2015  } rxConfig;
2016  uint8_t bRepeat;
2017  uint16_t __dummy0;
2019  uint32_t accessAddress;
2020  uint8_t crcInit0;
2021  uint8_t crcInit1;
2022  uint8_t crcInit2;
2023  struct {
2024  uint8_t triggerType:4;
2025  uint8_t bEnaCmd:1;
2026  uint8_t triggerNo:2;
2028  uint8_t pastTrig:1;
2029  } endTrigger;
2031  ratmr_t endTime;
2034 
2036 
2040 
2041 struct __RFC_STRUCT rfc_bleTxTestPar_s {
2042  uint16_t numPackets;
2043  uint8_t payloadLength;
2045  uint8_t packetType;
2046  ratmr_t period;
2048  struct {
2049  uint8_t bOverrideDefault:1;
2050  uint8_t bUsePrbs9:1;
2052  uint8_t bUsePrbs15:1;
2055  } config;
2058  uint8_t byteVal;
2059  uint8_t __dummy0;
2060  struct {
2061  uint8_t triggerType:4;
2062  uint8_t bEnaCmd:1;
2063  uint8_t triggerNo:2;
2065  uint8_t pastTrig:1;
2066  } endTrigger;
2068  ratmr_t endTime;
2071 
2073 
2077 
2078 struct __RFC_STRUCT rfc_ble5SlavePar_s {
2079  dataQueue_t* pRxQ;
2080  dataQueue_t* pTxQ;
2081  struct {
2082  uint8_t bAutoFlushIgnored:1;
2083  uint8_t bAutoFlushCrcErr:1;
2084  uint8_t bAutoFlushEmpty:1;
2085  uint8_t bIncludeLenByte:1;
2086  uint8_t bIncludeCrc:1;
2087  uint8_t bAppendRssi:1;
2088  uint8_t bAppendStatus:1;
2089  uint8_t bAppendTimestamp:1;
2090  } rxConfig;
2091  struct {
2092  uint8_t lastRxSn:1;
2093  uint8_t lastTxSn:1;
2094  uint8_t nextTxSn:1;
2095  uint8_t bFirstPkt:1;
2096  uint8_t bAutoEmpty:1;
2097  uint8_t bLlCtrlTx:1;
2098  uint8_t bLlCtrlAckRx:1;
2099  uint8_t bLlCtrlAckPending:1;
2100  } seqStat;
2101  uint8_t maxNack;
2102  uint8_t maxPkt;
2103  uint32_t accessAddress;
2104  uint8_t crcInit0;
2105  uint8_t crcInit1;
2106  uint8_t crcInit2;
2107  struct {
2108  uint8_t triggerType:4;
2109  uint8_t bEnaCmd:1;
2110  uint8_t triggerNo:2;
2112  uint8_t pastTrig:1;
2113  } timeoutTrigger;
2115  ratmr_t timeoutTime;
2116  uint8_t maxRxPktLen;
2118  uint8_t maxLenLowRate;
2119  uint8_t __dummy0;
2120  struct {
2121  uint8_t triggerType:4;
2122  uint8_t bEnaCmd:1;
2123  uint8_t triggerNo:2;
2125  uint8_t pastTrig:1;
2126  } endTrigger;
2128  ratmr_t endTime;
2131 
2133 
2137 
2138 struct __RFC_STRUCT rfc_ble5MasterPar_s {
2139  dataQueue_t* pRxQ;
2140  dataQueue_t* pTxQ;
2141  struct {
2142  uint8_t bAutoFlushIgnored:1;
2143  uint8_t bAutoFlushCrcErr:1;
2144  uint8_t bAutoFlushEmpty:1;
2145  uint8_t bIncludeLenByte:1;
2146  uint8_t bIncludeCrc:1;
2147  uint8_t bAppendRssi:1;
2148  uint8_t bAppendStatus:1;
2149  uint8_t bAppendTimestamp:1;
2150  } rxConfig;
2151  struct {
2152  uint8_t lastRxSn:1;
2153  uint8_t lastTxSn:1;
2154  uint8_t nextTxSn:1;
2155  uint8_t bFirstPkt:1;
2156  uint8_t bAutoEmpty:1;
2157  uint8_t bLlCtrlTx:1;
2158  uint8_t bLlCtrlAckRx:1;
2159  uint8_t bLlCtrlAckPending:1;
2160  } seqStat;
2161  uint8_t maxNack;
2162  uint8_t maxPkt;
2163  uint32_t accessAddress;
2164  uint8_t crcInit0;
2165  uint8_t crcInit1;
2166  uint8_t crcInit2;
2167  struct {
2168  uint8_t triggerType:4;
2169  uint8_t bEnaCmd:1;
2170  uint8_t triggerNo:2;
2172  uint8_t pastTrig:1;
2173  } endTrigger;
2175  ratmr_t endTime;
2176  uint8_t maxRxPktLen;
2178  uint8_t maxLenLowRate;
2180 
2182 
2186 
2187 struct __RFC_STRUCT rfc_ble5AdvExtPar_s {
2188  struct {
2189  uint8_t :2;
2190  uint8_t deviceAddrType:1;
2191  } advConfig;
2192  uint8_t __dummy0;
2193  uint8_t __dummy1;
2194  uint8_t auxPtrTargetType;
2195  ratmr_t auxPtrTargetTime;
2197  uint8_t* pAdvPkt;
2198  uint16_t* pDeviceAddress;
2202 
2204 
2208 
2209 struct __RFC_STRUCT rfc_ble5AdvAuxPar_s {
2210  dataQueue_t* pRxQ;
2211  struct {
2212  uint8_t bAutoFlushIgnored:1;
2213  uint8_t bAutoFlushCrcErr:1;
2214  uint8_t bAutoFlushEmpty:1;
2215  uint8_t bIncludeLenByte:1;
2216  uint8_t bIncludeCrc:1;
2217  uint8_t bAppendRssi:1;
2218  uint8_t bAppendStatus:1;
2219  uint8_t bAppendTimestamp:1;
2220  } rxConfig;
2221  struct {
2222  uint8_t advFilterPolicy:2;
2223  uint8_t deviceAddrType:1;
2230  uint8_t targetAddrType:1;
2231  uint8_t bStrictLenFilter:1;
2232  uint8_t bDirected:1;
2234  uint8_t privIgnMode:1;
2236  uint8_t rpaMode:1;
2238  } advConfig;
2241  struct {
2242  uint8_t scanRspEndType:1;
2243  } behConfig;
2246  uint8_t auxPtrTargetType;
2247  ratmr_t auxPtrTargetTime;
2249  uint8_t* pAdvPkt;
2250  uint8_t* pRspPkt;
2251  uint16_t* pDeviceAddress;
2253  rfc_bleWhiteListEntry_t *pWhiteList;
2259 
2261 
2265 
2266 struct __RFC_STRUCT rfc_ble5AdvPerPar_s {
2267  uint16_t __dummy0;
2268  uint8_t __dummy1;
2269  uint8_t auxPtrTargetType;
2270  ratmr_t auxPtrTargetTime;
2272  uint8_t* pAdvPkt;
2273  uint32_t accessAddress;
2274  uint8_t crcInit0;
2275  uint8_t crcInit1;
2276  uint8_t crcInit2;
2278 
2280 
2283 struct __RFC_STRUCT rfc_ble5AuxChRes_s {
2284  ratmr_t rxStartTime;
2285  uint16_t rxListenTime;
2286  uint8_t channelNo;
2287  uint8_t phyMode;
2293 
2295 
2299 
2300 struct __RFC_STRUCT rfc_ble5ScannerPar_s {
2301  dataQueue_t* pRxQ;
2302  struct {
2303  uint8_t bAutoFlushIgnored:1;
2304  uint8_t bAutoFlushCrcErr:1;
2305  uint8_t bAutoFlushEmpty:1;
2306  uint8_t bIncludeLenByte:1;
2307  uint8_t bIncludeCrc:1;
2308  uint8_t bAppendRssi:1;
2309  uint8_t bAppendStatus:1;
2310  uint8_t bAppendTimestamp:1;
2311  } rxConfig;
2312  struct {
2313  uint8_t scanFilterPolicy:1;
2314  uint8_t bActiveScan:1;
2318  uint8_t deviceAddrType:1;
2320  uint8_t rpaFilterPolicy:1;
2321  uint8_t bStrictLenFilter:1;
2324  uint8_t bAutoWlIgnore:1;
2326  uint8_t bEndOnRpt:1;
2328  uint8_t rpaMode:1;
2330  } scanConfig;
2333  uint16_t randomState;
2334  uint16_t backoffCount;
2335  struct {
2336  uint8_t logUpperLimit:4;
2337  uint8_t bLastSucceeded:1;
2338  uint8_t bLastFailed:1;
2340  } backoffPar;
2342  struct {
2343  uint8_t bCheckAdi:1;
2344  uint8_t bAutoAdiUpdate:1;
2346  uint8_t bApplyDuplicateFiltering:1;
2349  uint8_t bAutoWlIgnore:1;
2353  uint8_t bAutoAdiProcess:1;
2355  uint8_t bExclusiveSid:1;
2359  } extFilterConfig;
2362  struct {
2363  uint8_t lastAcceptedSid:4;
2364  uint8_t state:3;
2365  } adiStatus;
2378  uint8_t __dummy0;
2379  uint16_t __dummy1;
2380  uint16_t* pDeviceAddress;
2381  rfc_bleWhiteListEntry_t *pWhiteList;
2384  rfc_ble5AdiEntry_t *pAdiList;
2385  uint16_t maxWaitTimeForAuxCh;
2386  struct {
2389  uint8_t triggerType:4;
2390  uint8_t bEnaCmd:1;
2391  uint8_t triggerNo:2;
2393  uint8_t pastTrig:1;
2394  } timeoutTrigger;
2396  struct {
2397  uint8_t triggerType:4;
2398  uint8_t bEnaCmd:1;
2399  uint8_t triggerNo:2;
2401  uint8_t pastTrig:1;
2402  } endTrigger;
2404  ratmr_t timeoutTime;
2405  ratmr_t endTime;
2407  ratmr_t rxStartTime;
2409  uint16_t rxListenTime;
2410  uint8_t channelNo;
2411  uint8_t phyMode;
2417 
2419 
2423 
2424 struct __RFC_STRUCT rfc_ble5InitiatorPar_s {
2425  dataQueue_t* pRxQ;
2426  struct {
2427  uint8_t bAutoFlushIgnored:1;
2428  uint8_t bAutoFlushCrcErr:1;
2429  uint8_t bAutoFlushEmpty:1;
2430  uint8_t bIncludeLenByte:1;
2431  uint8_t bIncludeCrc:1;
2432  uint8_t bAppendRssi:1;
2433  uint8_t bAppendStatus:1;
2434  uint8_t bAppendTimestamp:1;
2435  } rxConfig;
2436  struct {
2437  uint8_t bUseWhiteList:1;
2438  uint8_t bDynamicWinOffset:1;
2441  uint8_t deviceAddrType:1;
2442  uint8_t peerAddrType:1;
2443  uint8_t bStrictLenFilter:1;
2444  uint8_t chSel:1;
2446  } initConfig;
2448  uint16_t randomState;
2449  uint16_t backoffCount;
2450  struct {
2451  uint8_t logUpperLimit:4;
2452  uint8_t bLastSucceeded:1;
2453  uint8_t bLastFailed:1;
2455  } backoffPar;
2457  uint8_t connectReqLen;
2458  uint8_t* pConnectReqData;
2459  uint16_t* pDeviceAddress;
2460  rfc_bleWhiteListEntry_t *pWhiteList;
2463  ratmr_t connectTime;
2466  uint16_t maxWaitTimeForAuxCh;
2469  struct {
2472  uint8_t triggerType:4;
2473  uint8_t bEnaCmd:1;
2474  uint8_t triggerNo:2;
2476  uint8_t pastTrig:1;
2477  } timeoutTrigger;
2479  struct {
2480  uint8_t triggerType:4;
2481  uint8_t bEnaCmd:1;
2482  uint8_t triggerNo:2;
2484  uint8_t pastTrig:1;
2485  } endTrigger;
2487  ratmr_t timeoutTime;
2488  ratmr_t endTime;
2490  ratmr_t rxStartTime;
2492  uint16_t rxListenTime;
2493  uint8_t channelNo;
2494  uint8_t phyMode;
2500 
2502 
2506 
2507 struct __RFC_STRUCT rfc_bleMasterSlaveOutput_s {
2508  uint8_t nTx;
2509  uint8_t nTxAck;
2511  uint8_t nTxCtrl;
2512  uint8_t nTxCtrlAck;
2513  uint8_t nTxCtrlAckAck;
2514  uint8_t nTxRetrans;
2516  uint8_t nTxEntryDone;
2517  uint8_t nRxOk;
2518  uint8_t nRxCtrl;
2519  uint8_t nRxCtrlAck;
2520  uint8_t nRxNok;
2522  uint8_t nRxIgnored;
2523  uint8_t nRxEmpty;
2525  uint8_t nRxBufFull;
2526  int8_t lastRssi;
2527  struct {
2528  uint8_t bTimeStampValid:1;
2529  uint8_t bLastCrcErr:1;
2530  uint8_t bLastIgnored:1;
2531  uint8_t bLastEmpty:1;
2532  uint8_t bLastCtrl:1;
2533  uint8_t bLastMd:1;
2534  uint8_t bLastAck:1;
2535  } pktStatus;
2537  ratmr_t timeStamp;
2539 
2541 
2545 
2546 struct __RFC_STRUCT rfc_bleAdvOutput_s {
2547  uint16_t nTxAdvInd;
2548  uint8_t nTxScanRsp;
2549  uint8_t nRxScanReq;
2550  uint8_t nRxConnectReq;
2551  uint8_t nTxConnectRsp;
2552  uint16_t nRxNok;
2553  uint16_t nRxIgnored;
2554  uint8_t nRxBufFull;
2555  int8_t lastRssi;
2556  ratmr_t timeStamp;
2558 
2560 
2564 
2565 struct __RFC_STRUCT rfc_bleScannerOutput_s {
2566  uint16_t nTxScanReq;
2567  uint16_t nBackedOffScanReq;
2568  uint16_t nRxAdvOk;
2569  uint16_t nRxAdvIgnored;
2570  uint16_t nRxAdvNok;
2571  uint16_t nRxScanRspOk;
2572  uint16_t nRxScanRspIgnored;
2573  uint16_t nRxScanRspNok;
2574  uint8_t nRxAdvBufFull;
2575  uint8_t nRxScanRspBufFull;
2576  int8_t lastRssi;
2577  uint8_t __dummy0;
2578  ratmr_t timeStamp;
2580 
2582 
2586 
2587 struct __RFC_STRUCT rfc_bleInitiatorOutput_s {
2588  uint8_t nTxConnectReq;
2589  uint8_t nRxAdvOk;
2590  uint16_t nRxAdvIgnored;
2591  uint16_t nRxAdvNok;
2592  uint8_t nRxAdvBufFull;
2593  int8_t lastRssi;
2594  ratmr_t timeStamp;
2596 
2598 
2602 
2603 struct __RFC_STRUCT rfc_ble5ScanInitOutput_s {
2604  uint16_t nTxReq;
2605  uint16_t nBackedOffReq;
2606  uint16_t nRxAdvOk;
2607  uint16_t nRxAdvIgnored;
2608  uint16_t nRxAdvNok;
2609  uint16_t nRxRspOk;
2610  uint16_t nRxRspIgnored;
2611  uint16_t nRxRspNok;
2612  uint8_t nRxAdvBufFull;
2613  uint8_t nRxRspBufFull;
2614  int8_t lastRssi;
2615  uint8_t __dummy0;
2616  ratmr_t timeStamp;
2618 
2620 
2624 
2625 struct __RFC_STRUCT rfc_bleGenericRxOutput_s {
2626  uint16_t nRxOk;
2627  uint16_t nRxNok;
2628  uint16_t nRxBufFull;
2629  int8_t lastRssi;
2630  uint8_t __dummy0;
2631  ratmr_t timeStamp;
2633 
2635 
2639 
2640 struct __RFC_STRUCT rfc_bleTxTestOutput_s {
2641  uint16_t nTx;
2643 
2645 
2649 
2650 struct __RFC_STRUCT rfc_ble5ExtAdvEntry_s {
2651  struct {
2652  uint8_t length:6;
2653  uint8_t advMode:2;
2654  } extHdrInfo;
2659  uint8_t extHdrFlags;
2660  struct {
2661  uint8_t bSkipAdvA:1;
2662  uint8_t bSkipTargetA:1;
2666  uint8_t deviceAddrType:1;
2672  uint8_t targetAddrType:1;
2674  } extHdrConfig;
2676  uint8_t advDataLen;
2677  uint8_t* pExtHeader;
2678  uint8_t* pAdvData;
2683 
2685 
2689 
2690 struct __RFC_STRUCT rfc_bleWhiteListEntry_s {
2691  uint8_t size;
2692  struct {
2693  uint8_t bEnable:1;
2694  uint8_t addrType:1;
2695  uint8_t bWlIgn:1;
2696  uint8_t :1;
2699  uint8_t bPrivIgn:1;
2700  } conf;
2702  uint16_t address;
2703  uint32_t addressHi;
2705 
2707 
2711 
2712 struct __RFC_STRUCT rfc_ble5AdiEntry_s {
2713  struct {
2714  uint16_t advDataId:12;
2715  uint16_t mode:2;
2717  } advDataInfo;
2723 
2725 
2729 
2730 struct __RFC_STRUCT rfc_bleRxStatus_s {
2731  struct {
2732  uint8_t channel:6;
2733  uint8_t bIgnore:1;
2735  uint8_t bCrcErr:1;
2736  } status;
2738 
2740 
2744 
2745 struct __RFC_STRUCT rfc_ble5RxStatus_s {
2746  struct {
2747  uint16_t channel:6;
2748  uint16_t bIgnore:1;
2750  uint16_t bCrcErr:1;
2751  uint16_t phyMode:2;
2752  } status;
2758 
2760 
2763 #endif
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:219
#define __RFC_STRUCT_ATTR
Definition: cc13x1_cc26x1/driverlib/rf_ble_cmd.h:50
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2723
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2364
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2701
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1752
Bluetooth 5 Connectable Directed Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1457
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2142
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2739
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2330
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:126
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2643
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2002
BLE Non-Connectable Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:445
Bluetooth 5 Secondary Channel Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:961
Bluetooth 5 Extended Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:899
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2105
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2761
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2881
Bluetooth 5 Initiator Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1209
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1811
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2848
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:165
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2786
BLE Slave Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:281
BLE PHY Test Transmitter Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:650
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1858
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2068
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2682
BLE Initiator Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:568
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1644
Bluetooth 5 Scanner Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1147
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2560
BLE Update Advertising Payload Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:691
Bluetooth 5 Slave Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:775
uint32_t ratmr_t
Type definition for RAT.
Definition: cc13x2_cc26x2/driverlib/rf_mailbox.h:57
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2273
Bluetooth 5 Radio Setup Command for all PHYs.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:706
Bluetooth 5 Scannable Undirected Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1581
Bluetooth 5 Master Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:837
BLE Master Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:322
Bluetooth 5 PHY Test Transmitter Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1333
Bluetooth 5 Non-Connectable Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1519
BLE Scanner Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:527
Type definition for a data queue.
Definition: cc13x2_cc26x2/driverlib/rf_mailbox.h:62
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2251
Bluetooth 5 Periodic Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1023
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2202
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2866
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2347
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2776
Definition: cc13x2_cc26x2/driverlib/rf_common_cmd.h:122
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:2826
Bluetooth 5 Generic Receiver Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1271
BLE Generic Receiver Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:609
#define __RFC_STRUCT
Definition: cc13x1_cc26x1/driverlib/rf_ble_cmd.h:41
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1715
BLE Connectable Directed Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:404
BLE Scannable Undirected Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:486
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1925
BLE Connectable Undirected Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:363
Bluetooth 5 Connectable Undirected Advertiser Command.
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:1395
© Copyright 1995-2022, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale