rflib
cc13x4_cc26x4/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 
119 
123  uint16_t commandNo;
124  uint16_t status;
125  rfc_radioOp_t *pNextOp;
128  ratmr_t startTime;
129  struct {
130  uint8_t triggerType:4;
131  uint8_t bEnaCmd:1;
132  uint8_t triggerNo:2;
134  uint8_t pastTrig:1;
135  } startTrigger;
137  struct {
138  uint8_t rule:4;
139  uint8_t nSkip:4;
140  } condition;
141  uint8_t channel;
142  struct {
147  uint8_t init:7;
148  uint8_t bOverride:1;
151  } whitening;
153  uint8_t* pParams;
154  uint8_t* pOutput;
156 
158 
162  uint16_t commandNo;
163  uint16_t status;
164  rfc_radioOp_t *pNextOp;
167  ratmr_t startTime;
168  struct {
169  uint8_t triggerType:4;
170  uint8_t bEnaCmd:1;
171  uint8_t triggerNo:2;
173  uint8_t pastTrig:1;
174  } startTrigger;
176  struct {
177  uint8_t rule:4;
178  uint8_t nSkip:4;
179  } condition;
180  uint8_t channel;
181  struct {
186  uint8_t init:7;
187  uint8_t bOverride:1;
190  } whitening;
192  struct {
193  uint8_t mainMode:2;
194  uint8_t coding:6;
199  } phyMode;
201  uint8_t rangeDelay;
202  uint16_t txPower;
203  uint8_t* pParams;
207  uint8_t* pOutput;
209 
211 
216  uint16_t commandNo;
217  uint16_t status;
218  rfc_radioOp_t *pNextOp;
221  ratmr_t startTime;
222  struct {
223  uint8_t triggerType:4;
224  uint8_t bEnaCmd:1;
225  uint8_t triggerNo:2;
227  uint8_t pastTrig:1;
228  } startTrigger;
230  struct {
231  uint8_t rule:4;
232  uint8_t nSkip:4;
233  } condition;
234  uint8_t channel;
235  struct {
240  uint8_t init:7;
241  uint8_t bOverride:1;
244  } whitening;
246  struct {
247  uint8_t mainMode:2;
248  uint8_t coding:6;
253  } phyMode;
255  uint8_t rangeDelay;
256  uint16_t txPower;
257  uint8_t* pParams;
261  uint8_t* pOutput;
262  uint32_t tx20Power;
270 
272 
275 #define CMD_BLE_SLAVE 0x1801
278  uint16_t commandNo;
279  uint16_t status;
280  rfc_radioOp_t *pNextOp;
283  ratmr_t startTime;
284  struct {
285  uint8_t triggerType:4;
286  uint8_t bEnaCmd:1;
287  uint8_t triggerNo:2;
289  uint8_t pastTrig:1;
290  } startTrigger;
292  struct {
293  uint8_t rule:4;
294  uint8_t nSkip:4;
295  } condition;
296  uint8_t channel;
297  struct {
302  uint8_t init:7;
303  uint8_t bOverride:1;
306  } whitening;
308  rfc_bleSlavePar_t *pParams;
309  rfc_bleMasterSlaveOutput_t *pOutput;
311 
313 
316 #define CMD_BLE_MASTER 0x1802
319  uint16_t commandNo;
320  uint16_t status;
321  rfc_radioOp_t *pNextOp;
324  ratmr_t startTime;
325  struct {
326  uint8_t triggerType:4;
327  uint8_t bEnaCmd:1;
328  uint8_t triggerNo:2;
330  uint8_t pastTrig:1;
331  } startTrigger;
333  struct {
334  uint8_t rule:4;
335  uint8_t nSkip:4;
336  } condition;
337  uint8_t channel;
338  struct {
343  uint8_t init:7;
344  uint8_t bOverride:1;
347  } whitening;
349  rfc_bleMasterPar_t *pParams;
350  rfc_bleMasterSlaveOutput_t *pOutput;
352 
354 
357 #define CMD_BLE_ADV 0x1803
360  uint16_t commandNo;
361  uint16_t status;
362  rfc_radioOp_t *pNextOp;
365  ratmr_t startTime;
366  struct {
367  uint8_t triggerType:4;
368  uint8_t bEnaCmd:1;
369  uint8_t triggerNo:2;
371  uint8_t pastTrig:1;
372  } startTrigger;
374  struct {
375  uint8_t rule:4;
376  uint8_t nSkip:4;
377  } condition;
378  uint8_t channel;
379  struct {
384  uint8_t init:7;
385  uint8_t bOverride:1;
388  } whitening;
390  rfc_bleAdvPar_t *pParams;
391  rfc_bleAdvOutput_t *pOutput;
393 
395 
398 #define CMD_BLE_ADV_DIR 0x1804
401  uint16_t commandNo;
402  uint16_t status;
403  rfc_radioOp_t *pNextOp;
406  ratmr_t startTime;
407  struct {
408  uint8_t triggerType:4;
409  uint8_t bEnaCmd:1;
410  uint8_t triggerNo:2;
412  uint8_t pastTrig:1;
413  } startTrigger;
415  struct {
416  uint8_t rule:4;
417  uint8_t nSkip:4;
418  } condition;
419  uint8_t channel;
420  struct {
425  uint8_t init:7;
426  uint8_t bOverride:1;
429  } whitening;
431  rfc_bleAdvPar_t *pParams;
432  rfc_bleAdvOutput_t *pOutput;
434 
436 
439 #define CMD_BLE_ADV_NC 0x1805
442  uint16_t commandNo;
443  uint16_t status;
444  rfc_radioOp_t *pNextOp;
447  ratmr_t startTime;
448  struct {
449  uint8_t triggerType:4;
450  uint8_t bEnaCmd:1;
451  uint8_t triggerNo:2;
453  uint8_t pastTrig:1;
454  } startTrigger;
456  struct {
457  uint8_t rule:4;
458  uint8_t nSkip:4;
459  } condition;
460  uint8_t channel;
461  struct {
466  uint8_t init:7;
467  uint8_t bOverride:1;
470  } whitening;
472  rfc_bleAdvPar_t *pParams;
473  rfc_bleAdvOutput_t *pOutput;
475 
477 
480 #define CMD_BLE_ADV_SCAN 0x1806
483  uint16_t commandNo;
484  uint16_t status;
485  rfc_radioOp_t *pNextOp;
488  ratmr_t startTime;
489  struct {
490  uint8_t triggerType:4;
491  uint8_t bEnaCmd:1;
492  uint8_t triggerNo:2;
494  uint8_t pastTrig:1;
495  } startTrigger;
497  struct {
498  uint8_t rule:4;
499  uint8_t nSkip:4;
500  } condition;
501  uint8_t channel;
502  struct {
507  uint8_t init:7;
508  uint8_t bOverride:1;
511  } whitening;
513  rfc_bleAdvPar_t *pParams;
514  rfc_bleAdvOutput_t *pOutput;
516 
518 
521 #define CMD_BLE_SCANNER 0x1807
524  uint16_t commandNo;
525  uint16_t status;
526  rfc_radioOp_t *pNextOp;
529  ratmr_t startTime;
530  struct {
531  uint8_t triggerType:4;
532  uint8_t bEnaCmd:1;
533  uint8_t triggerNo:2;
535  uint8_t pastTrig:1;
536  } startTrigger;
538  struct {
539  uint8_t rule:4;
540  uint8_t nSkip:4;
541  } condition;
542  uint8_t channel;
543  struct {
548  uint8_t init:7;
549  uint8_t bOverride:1;
552  } whitening;
554  rfc_bleScannerPar_t *pParams;
555  rfc_bleScannerOutput_t *pOutput;
557 
559 
562 #define CMD_BLE_INITIATOR 0x1808
565  uint16_t commandNo;
566  uint16_t status;
567  rfc_radioOp_t *pNextOp;
570  ratmr_t startTime;
571  struct {
572  uint8_t triggerType:4;
573  uint8_t bEnaCmd:1;
574  uint8_t triggerNo:2;
576  uint8_t pastTrig:1;
577  } startTrigger;
579  struct {
580  uint8_t rule:4;
581  uint8_t nSkip:4;
582  } condition;
583  uint8_t channel;
584  struct {
589  uint8_t init:7;
590  uint8_t bOverride:1;
593  } whitening;
595  rfc_bleInitiatorPar_t *pParams;
596  rfc_bleInitiatorOutput_t *pOutput;
598 
600 
603 #define CMD_BLE_GENERIC_RX 0x1809
606  uint16_t commandNo;
607  uint16_t status;
608  rfc_radioOp_t *pNextOp;
611  ratmr_t startTime;
612  struct {
613  uint8_t triggerType:4;
614  uint8_t bEnaCmd:1;
615  uint8_t triggerNo:2;
617  uint8_t pastTrig:1;
618  } startTrigger;
620  struct {
621  uint8_t rule:4;
622  uint8_t nSkip:4;
623  } condition;
624  uint8_t channel;
625  struct {
630  uint8_t init:7;
631  uint8_t bOverride:1;
634  } whitening;
636  rfc_bleGenericRxPar_t *pParams;
637  rfc_bleGenericRxOutput_t *pOutput;
639 
641 
644 #define CMD_BLE_TX_TEST 0x180A
647  uint16_t commandNo;
648  uint16_t status;
649  rfc_radioOp_t *pNextOp;
652  ratmr_t startTime;
653  struct {
654  uint8_t triggerType:4;
655  uint8_t bEnaCmd:1;
656  uint8_t triggerNo:2;
658  uint8_t pastTrig:1;
659  } startTrigger;
661  struct {
662  uint8_t rule:4;
663  uint8_t nSkip:4;
664  } condition;
665  uint8_t channel;
666  struct {
671  uint8_t init:7;
672  uint8_t bOverride:1;
675  } whitening;
677  rfc_bleTxTestPar_t *pParams;
678  rfc_bleTxTestOutput_t *pOutput;
680 
682 
685 #define CMD_BLE_ADV_PAYLOAD 0x1001
688  uint16_t commandNo;
689  uint8_t payloadType;
690  uint8_t newLen;
692  uint8_t* pNewData;
693  rfc_bleAdvPar_t *pParams;
695 
697 
700 #define CMD_BLE5_RADIO_SETUP 0x1820
703  uint16_t commandNo;
704  uint16_t status;
705  rfc_radioOp_t *pNextOp;
708  ratmr_t startTime;
709  struct {
710  uint8_t triggerType:4;
711  uint8_t bEnaCmd:1;
712  uint8_t triggerNo:2;
714  uint8_t pastTrig:1;
715  } startTrigger;
717  struct {
718  uint8_t rule:4;
719  uint8_t nSkip:4;
720  } condition;
721  struct {
722  uint8_t mainMode:2;
723  uint8_t coding:1;
728  } defaultPhy;
731  uint8_t loDivider;
732  struct {
733  uint16_t frontEndMode:3;
734  uint16_t biasMode:1;
740  uint16_t analogCfgMode:6;
742  uint16_t bNoFsPowerUp:1;
749  uint16_t :1;
751  uint16_t bSynthNarrowBand:1;
752  } config;
754  uint16_t txPower;
755  uint32_t* pRegOverrideCommon;
756  uint32_t* pRegOverride1Mbps;
758  uint32_t* pRegOverride2Mbps;
760  uint32_t* pRegOverrideCoded;
764 
766 
769 #define CMD_BLE5_SLAVE 0x1821
772  uint16_t commandNo;
773  uint16_t status;
774  rfc_radioOp_t *pNextOp;
777  ratmr_t startTime;
778  struct {
779  uint8_t triggerType:4;
780  uint8_t bEnaCmd:1;
781  uint8_t triggerNo:2;
783  uint8_t pastTrig:1;
784  } startTrigger;
786  struct {
787  uint8_t rule:4;
788  uint8_t nSkip:4;
789  } condition;
790  uint8_t channel;
791  struct {
796  uint8_t init:7;
797  uint8_t bOverride:1;
800  } whitening;
802  struct {
803  uint8_t mainMode:2;
804  uint8_t coding:6;
809  } phyMode;
811  uint8_t rangeDelay;
812  uint16_t txPower;
813  rfc_ble5SlavePar_t *pParams;
817  rfc_bleMasterSlaveOutput_t *pOutput;
818  uint32_t tx20Power;
826 
828 
831 #define CMD_BLE5_MASTER 0x1822
834  uint16_t commandNo;
835  uint16_t status;
836  rfc_radioOp_t *pNextOp;
839  ratmr_t startTime;
840  struct {
841  uint8_t triggerType:4;
842  uint8_t bEnaCmd:1;
843  uint8_t triggerNo:2;
845  uint8_t pastTrig:1;
846  } startTrigger;
848  struct {
849  uint8_t rule:4;
850  uint8_t nSkip:4;
851  } condition;
852  uint8_t channel;
853  struct {
858  uint8_t init:7;
859  uint8_t bOverride:1;
862  } whitening;
864  struct {
865  uint8_t mainMode:2;
866  uint8_t coding:6;
871  } phyMode;
873  uint8_t rangeDelay;
874  uint16_t txPower;
875  rfc_ble5MasterPar_t *pParams;
879  rfc_bleMasterSlaveOutput_t *pOutput;
880  uint32_t tx20Power;
888 
890 
893 #define CMD_BLE5_ADV_EXT 0x1823
896  uint16_t commandNo;
897  uint16_t status;
898  rfc_radioOp_t *pNextOp;
901  ratmr_t startTime;
902  struct {
903  uint8_t triggerType:4;
904  uint8_t bEnaCmd:1;
905  uint8_t triggerNo:2;
907  uint8_t pastTrig:1;
908  } startTrigger;
910  struct {
911  uint8_t rule:4;
912  uint8_t nSkip:4;
913  } condition;
914  uint8_t channel;
915  struct {
920  uint8_t init:7;
921  uint8_t bOverride:1;
924  } whitening;
926  struct {
927  uint8_t mainMode:2;
928  uint8_t coding:6;
933  } phyMode;
935  uint8_t rangeDelay;
936  uint16_t txPower;
937  rfc_ble5AdvExtPar_t *pParams;
941  rfc_bleAdvOutput_t *pOutput;
942  uint32_t tx20Power;
950 
952 
955 #define CMD_BLE5_ADV_AUX 0x1824
958  uint16_t commandNo;
959  uint16_t status;
960  rfc_radioOp_t *pNextOp;
963  ratmr_t startTime;
964  struct {
965  uint8_t triggerType:4;
966  uint8_t bEnaCmd:1;
967  uint8_t triggerNo:2;
969  uint8_t pastTrig:1;
970  } startTrigger;
972  struct {
973  uint8_t rule:4;
974  uint8_t nSkip:4;
975  } condition;
976  uint8_t channel;
977  struct {
982  uint8_t init:7;
983  uint8_t bOverride:1;
986  } whitening;
988  struct {
989  uint8_t mainMode:2;
990  uint8_t coding:6;
995  } phyMode;
997  uint8_t rangeDelay;
998  uint16_t txPower;
999  rfc_ble5AdvAuxPar_t *pParams;
1003  rfc_bleAdvOutput_t *pOutput;
1004  uint32_t tx20Power;
1012 
1014 
1017 #define CMD_BLE5_SCANNER 0x1827
1020  uint16_t commandNo;
1021  uint16_t status;
1022  rfc_radioOp_t *pNextOp;
1025  ratmr_t startTime;
1026  struct {
1027  uint8_t triggerType:4;
1028  uint8_t bEnaCmd:1;
1029  uint8_t triggerNo:2;
1031  uint8_t pastTrig:1;
1032  } startTrigger;
1034  struct {
1035  uint8_t rule:4;
1036  uint8_t nSkip:4;
1037  } condition;
1038  uint8_t channel;
1039  struct {
1044  uint8_t init:7;
1045  uint8_t bOverride:1;
1048  } whitening;
1050  struct {
1051  uint8_t mainMode:2;
1052  uint8_t coding:6;
1057  } phyMode;
1059  uint8_t rangeDelay;
1060  uint16_t txPower;
1061  rfc_ble5ScannerPar_t *pParams;
1065  rfc_ble5ScanInitOutput_t *pOutput;
1066  uint32_t tx20Power;
1074 
1076 
1079 #define CMD_BLE5_INITIATOR 0x1828
1082  uint16_t commandNo;
1083  uint16_t status;
1084  rfc_radioOp_t *pNextOp;
1087  ratmr_t startTime;
1088  struct {
1089  uint8_t triggerType:4;
1090  uint8_t bEnaCmd:1;
1091  uint8_t triggerNo:2;
1093  uint8_t pastTrig:1;
1094  } startTrigger;
1096  struct {
1097  uint8_t rule:4;
1098  uint8_t nSkip:4;
1099  } condition;
1100  uint8_t channel;
1101  struct {
1106  uint8_t init:7;
1107  uint8_t bOverride:1;
1110  } whitening;
1112  struct {
1113  uint8_t mainMode:2;
1114  uint8_t coding:6;
1119  } phyMode;
1121  uint8_t rangeDelay;
1122  uint16_t txPower;
1123  rfc_ble5InitiatorPar_t *pParams;
1127  rfc_ble5ScanInitOutput_t *pOutput;
1128  uint32_t tx20Power;
1136 
1138 
1141 #define CMD_BLE5_GENERIC_RX 0x1829
1144  uint16_t commandNo;
1145  uint16_t status;
1146  rfc_radioOp_t *pNextOp;
1149  ratmr_t startTime;
1150  struct {
1151  uint8_t triggerType:4;
1152  uint8_t bEnaCmd:1;
1153  uint8_t triggerNo:2;
1155  uint8_t pastTrig:1;
1156  } startTrigger;
1158  struct {
1159  uint8_t rule:4;
1160  uint8_t nSkip:4;
1161  } condition;
1162  uint8_t channel;
1163  struct {
1168  uint8_t init:7;
1169  uint8_t bOverride:1;
1172  } whitening;
1174  struct {
1175  uint8_t mainMode:2;
1176  uint8_t coding:6;
1181  } phyMode;
1183  uint8_t rangeDelay;
1184  uint16_t txPower;
1185  rfc_bleGenericRxPar_t *pParams;
1189  rfc_bleGenericRxOutput_t *pOutput;
1190  uint32_t tx20Power;
1198 
1200 
1203 #define CMD_BLE5_TX_TEST 0x182A
1206  uint16_t commandNo;
1207  uint16_t status;
1208  rfc_radioOp_t *pNextOp;
1211  ratmr_t startTime;
1212  struct {
1213  uint8_t triggerType:4;
1214  uint8_t bEnaCmd:1;
1215  uint8_t triggerNo:2;
1217  uint8_t pastTrig:1;
1218  } startTrigger;
1220  struct {
1221  uint8_t rule:4;
1222  uint8_t nSkip:4;
1223  } condition;
1224  uint8_t channel;
1225  struct {
1230  uint8_t init:7;
1231  uint8_t bOverride:1;
1234  } whitening;
1236  struct {
1237  uint8_t mainMode:2;
1238  uint8_t coding:6;
1243  } phyMode;
1245  uint8_t rangeDelay;
1246  uint16_t txPower;
1247  rfc_bleTxTestPar_t *pParams;
1251  rfc_bleTxTestOutput_t *pOutput;
1252  uint32_t tx20Power;
1260 
1262 
1265 #define CMD_BLE5_ADV 0x182B
1268  uint16_t commandNo;
1269  uint16_t status;
1270  rfc_radioOp_t *pNextOp;
1273  ratmr_t startTime;
1274  struct {
1275  uint8_t triggerType:4;
1276  uint8_t bEnaCmd:1;
1277  uint8_t triggerNo:2;
1279  uint8_t pastTrig:1;
1280  } startTrigger;
1282  struct {
1283  uint8_t rule:4;
1284  uint8_t nSkip:4;
1285  } condition;
1286  uint8_t channel;
1287  struct {
1292  uint8_t init:7;
1293  uint8_t bOverride:1;
1296  } whitening;
1298  struct {
1299  uint8_t mainMode:2;
1300  uint8_t coding:6;
1305  } phyMode;
1307  uint8_t rangeDelay;
1308  uint16_t txPower;
1309  rfc_bleAdvPar_t *pParams;
1313  rfc_bleAdvOutput_t *pOutput;
1314  uint32_t tx20Power;
1322 
1324 
1327 #define CMD_BLE5_ADV_DIR 0x182C
1330  uint16_t commandNo;
1331  uint16_t status;
1332  rfc_radioOp_t *pNextOp;
1335  ratmr_t startTime;
1336  struct {
1337  uint8_t triggerType:4;
1338  uint8_t bEnaCmd:1;
1339  uint8_t triggerNo:2;
1341  uint8_t pastTrig:1;
1342  } startTrigger;
1344  struct {
1345  uint8_t rule:4;
1346  uint8_t nSkip:4;
1347  } condition;
1348  uint8_t channel;
1349  struct {
1354  uint8_t init:7;
1355  uint8_t bOverride:1;
1358  } whitening;
1360  struct {
1361  uint8_t mainMode:2;
1362  uint8_t coding:6;
1367  } phyMode;
1369  uint8_t rangeDelay;
1370  uint16_t txPower;
1371  rfc_bleAdvPar_t *pParams;
1375  rfc_bleAdvOutput_t *pOutput;
1376  uint32_t tx20Power;
1384 
1386 
1389 #define CMD_BLE5_ADV_NC 0x182D
1392  uint16_t commandNo;
1393  uint16_t status;
1394  rfc_radioOp_t *pNextOp;
1397  ratmr_t startTime;
1398  struct {
1399  uint8_t triggerType:4;
1400  uint8_t bEnaCmd:1;
1401  uint8_t triggerNo:2;
1403  uint8_t pastTrig:1;
1404  } startTrigger;
1406  struct {
1407  uint8_t rule:4;
1408  uint8_t nSkip:4;
1409  } condition;
1410  uint8_t channel;
1411  struct {
1416  uint8_t init:7;
1417  uint8_t bOverride:1;
1420  } whitening;
1422  struct {
1423  uint8_t mainMode:2;
1424  uint8_t coding:6;
1429  } phyMode;
1431  uint8_t rangeDelay;
1432  uint16_t txPower;
1433  rfc_bleAdvPar_t *pParams;
1437  rfc_bleAdvOutput_t *pOutput;
1438  uint32_t tx20Power;
1446 
1448 
1451 #define CMD_BLE5_ADV_SCAN 0x182E
1454  uint16_t commandNo;
1455  uint16_t status;
1456  rfc_radioOp_t *pNextOp;
1459  ratmr_t startTime;
1460  struct {
1461  uint8_t triggerType:4;
1462  uint8_t bEnaCmd:1;
1463  uint8_t triggerNo:2;
1465  uint8_t pastTrig:1;
1466  } startTrigger;
1468  struct {
1469  uint8_t rule:4;
1470  uint8_t nSkip:4;
1471  } condition;
1472  uint8_t channel;
1473  struct {
1478  uint8_t init:7;
1479  uint8_t bOverride:1;
1482  } whitening;
1484  struct {
1485  uint8_t mainMode:2;
1486  uint8_t coding:6;
1491  } phyMode;
1493  uint8_t rangeDelay;
1494  uint16_t txPower;
1495  rfc_bleAdvPar_t *pParams;
1499  rfc_bleAdvOutput_t *pOutput;
1500  uint32_t tx20Power;
1508 
1510 
1511 #define CMD_BLE5_RADIO_SETUP_PA CMD_BLE5_RADIO_SETUP
1512 
1517  uint16_t commandNo;
1518  uint16_t status;
1519  rfc_radioOp_t *pNextOp;
1522  ratmr_t startTime;
1523  struct {
1524  uint8_t triggerType:4;
1525  uint8_t bEnaCmd:1;
1526  uint8_t triggerNo:2;
1528  uint8_t pastTrig:1;
1529  } startTrigger;
1531  struct {
1532  uint8_t rule:4;
1533  uint8_t nSkip:4;
1534  } condition;
1535  struct {
1536  uint8_t mainMode:2;
1537  uint8_t coding:1;
1542  } defaultPhy;
1545  uint8_t loDivider;
1546  struct {
1547  uint16_t frontEndMode:3;
1548  uint16_t biasMode:1;
1554  uint16_t analogCfgMode:6;
1556  uint16_t bNoFsPowerUp:1;
1563  uint16_t :1;
1565  uint16_t bSynthNarrowBand:1;
1566  } config;
1568  uint16_t txPower;
1569  uint32_t* pRegOverrideCommon;
1570  uint32_t* pRegOverride1Mbps;
1572  uint32_t* pRegOverride2Mbps;
1574  uint32_t* pRegOverrideCoded;
1576  uint32_t* pRegOverrideTxStd;
1578  uint32_t* pRegOverrideTx20;
1582 
1584 
1587 struct __RFC_STRUCT rfc_bleMasterSlavePar_s {
1588  dataQueue_t* pRxQ;
1589  dataQueue_t* pTxQ;
1590  struct {
1591  uint8_t bAutoFlushIgnored:1;
1592  uint8_t bAutoFlushCrcErr:1;
1593  uint8_t bAutoFlushEmpty:1;
1594  uint8_t bIncludeLenByte:1;
1595  uint8_t bIncludeCrc:1;
1596  uint8_t bAppendRssi:1;
1597  uint8_t bAppendStatus:1;
1598  uint8_t bAppendTimestamp:1;
1599  } rxConfig;
1600  struct {
1601  uint8_t lastRxSn:1;
1602  uint8_t lastTxSn:1;
1603  uint8_t nextTxSn:1;
1604  uint8_t bFirstPkt:1;
1605  uint8_t bAutoEmpty:1;
1606  uint8_t bLlCtrlTx:1;
1607  uint8_t bLlCtrlAckRx:1;
1608  uint8_t bLlCtrlAckPending:1;
1609  } seqStat;
1610  uint8_t maxNack;
1611  uint8_t maxPkt;
1612  uint32_t accessAddress;
1613  uint8_t crcInit0;
1614  uint8_t crcInit1;
1615  uint8_t crcInit2;
1617 
1619 
1623 
1624 struct __RFC_STRUCT rfc_bleSlavePar_s {
1625  dataQueue_t* pRxQ;
1626  dataQueue_t* pTxQ;
1627  struct {
1628  uint8_t bAutoFlushIgnored:1;
1629  uint8_t bAutoFlushCrcErr:1;
1630  uint8_t bAutoFlushEmpty:1;
1631  uint8_t bIncludeLenByte:1;
1632  uint8_t bIncludeCrc:1;
1633  uint8_t bAppendRssi:1;
1634  uint8_t bAppendStatus:1;
1635  uint8_t bAppendTimestamp:1;
1636  } rxConfig;
1637  struct {
1638  uint8_t lastRxSn:1;
1639  uint8_t lastTxSn:1;
1640  uint8_t nextTxSn:1;
1641  uint8_t bFirstPkt:1;
1642  uint8_t bAutoEmpty:1;
1643  uint8_t bLlCtrlTx:1;
1644  uint8_t bLlCtrlAckRx:1;
1645  uint8_t bLlCtrlAckPending:1;
1646  } seqStat;
1647  uint8_t maxNack;
1648  uint8_t maxPkt;
1649  uint32_t accessAddress;
1650  uint8_t crcInit0;
1651  uint8_t crcInit1;
1652  uint8_t crcInit2;
1653  struct {
1654  uint8_t triggerType:4;
1655  uint8_t bEnaCmd:1;
1656  uint8_t triggerNo:2;
1658  uint8_t pastTrig:1;
1659  } timeoutTrigger;
1661  ratmr_t timeoutTime;
1662  uint16_t __dummy0;
1664  uint8_t __dummy1;
1665  struct {
1666  uint8_t triggerType:4;
1667  uint8_t bEnaCmd:1;
1668  uint8_t triggerNo:2;
1670  uint8_t pastTrig:1;
1671  } endTrigger;
1673  ratmr_t endTime;
1676 
1678 
1682 
1683 struct __RFC_STRUCT rfc_bleMasterPar_s {
1684  dataQueue_t* pRxQ;
1685  dataQueue_t* pTxQ;
1686  struct {
1687  uint8_t bAutoFlushIgnored:1;
1688  uint8_t bAutoFlushCrcErr:1;
1689  uint8_t bAutoFlushEmpty:1;
1690  uint8_t bIncludeLenByte:1;
1691  uint8_t bIncludeCrc:1;
1692  uint8_t bAppendRssi:1;
1693  uint8_t bAppendStatus:1;
1694  uint8_t bAppendTimestamp:1;
1695  } rxConfig;
1696  struct {
1697  uint8_t lastRxSn:1;
1698  uint8_t lastTxSn:1;
1699  uint8_t nextTxSn:1;
1700  uint8_t bFirstPkt:1;
1701  uint8_t bAutoEmpty:1;
1702  uint8_t bLlCtrlTx:1;
1703  uint8_t bLlCtrlAckRx:1;
1704  uint8_t bLlCtrlAckPending:1;
1705  } seqStat;
1706  uint8_t maxNack;
1707  uint8_t maxPkt;
1708  uint32_t accessAddress;
1709  uint8_t crcInit0;
1710  uint8_t crcInit1;
1711  uint8_t crcInit2;
1712  struct {
1713  uint8_t triggerType:4;
1714  uint8_t bEnaCmd:1;
1715  uint8_t triggerNo:2;
1717  uint8_t pastTrig:1;
1718  } endTrigger;
1720  ratmr_t endTime;
1723 
1725 
1729 
1730 struct __RFC_STRUCT rfc_bleAdvPar_s {
1731  dataQueue_t* pRxQ;
1732  struct {
1733  uint8_t bAutoFlushIgnored:1;
1734  uint8_t bAutoFlushCrcErr:1;
1735  uint8_t bAutoFlushEmpty:1;
1736  uint8_t bIncludeLenByte:1;
1737  uint8_t bIncludeCrc:1;
1738  uint8_t bAppendRssi:1;
1739  uint8_t bAppendStatus:1;
1740  uint8_t bAppendTimestamp:1;
1741  } rxConfig;
1742  struct {
1743  uint8_t advFilterPolicy:2;
1744  uint8_t deviceAddrType:1;
1751  uint8_t peerAddrType:1;
1752  uint8_t bStrictLenFilter:1;
1753  uint8_t chSel:1;
1755  uint8_t privIgnMode:1;
1757  uint8_t rpaMode:1;
1759  } advConfig;
1762  uint8_t advLen;
1763  uint8_t scanRspLen;
1764  uint8_t* pAdvData;
1765  uint8_t* pScanRspData;
1766  uint16_t* pDeviceAddress;
1767  rfc_bleWhiteListEntry_t *pWhiteList;
1770  struct {
1773  uint8_t scanRspEndType:1;
1774  } behConfig;
1777  uint8_t __dummy0;
1778  uint8_t __dummy1;
1779  struct {
1780  uint8_t triggerType:4;
1781  uint8_t bEnaCmd:1;
1782  uint8_t triggerNo:2;
1784  uint8_t pastTrig:1;
1785  } endTrigger;
1787  ratmr_t endTime;
1790 
1792 
1796 
1797 struct __RFC_STRUCT rfc_bleScannerPar_s {
1798  dataQueue_t* pRxQ;
1799  struct {
1800  uint8_t bAutoFlushIgnored:1;
1801  uint8_t bAutoFlushCrcErr:1;
1802  uint8_t bAutoFlushEmpty:1;
1803  uint8_t bIncludeLenByte:1;
1804  uint8_t bIncludeCrc:1;
1805  uint8_t bAppendRssi:1;
1806  uint8_t bAppendStatus:1;
1807  uint8_t bAppendTimestamp:1;
1808  } rxConfig;
1809  struct {
1810  uint8_t scanFilterPolicy:1;
1811  uint8_t bActiveScan:1;
1815  uint8_t deviceAddrType:1;
1817  uint8_t rpaFilterPolicy:1;
1818  uint8_t bStrictLenFilter:1;
1821  uint8_t bAutoWlIgnore:1;
1823  uint8_t bEndOnRpt:1;
1825  uint8_t rpaMode:1;
1827  } scanConfig;
1830  uint16_t randomState;
1831  uint16_t backoffCount;
1832  struct {
1833  uint8_t logUpperLimit:4;
1834  uint8_t bLastSucceeded:1;
1835  uint8_t bLastFailed:1;
1837  } backoffPar;
1839  uint8_t scanReqLen;
1840  uint8_t* pScanReqData;
1841  uint16_t* pDeviceAddress;
1842  rfc_bleWhiteListEntry_t *pWhiteList;
1845  uint16_t __dummy0;
1846  struct {
1847  uint8_t triggerType:4;
1848  uint8_t bEnaCmd:1;
1849  uint8_t triggerNo:2;
1851  uint8_t pastTrig:1;
1852  } timeoutTrigger;
1854  struct {
1855  uint8_t triggerType:4;
1856  uint8_t bEnaCmd:1;
1857  uint8_t triggerNo:2;
1859  uint8_t pastTrig:1;
1860  } endTrigger;
1862  ratmr_t timeoutTime;
1863  ratmr_t endTime;
1867 
1869 
1873 
1874 struct __RFC_STRUCT rfc_bleInitiatorPar_s {
1875  dataQueue_t* pRxQ;
1876  struct {
1877  uint8_t bAutoFlushIgnored:1;
1878  uint8_t bAutoFlushCrcErr:1;
1879  uint8_t bAutoFlushEmpty:1;
1880  uint8_t bIncludeLenByte:1;
1881  uint8_t bIncludeCrc:1;
1882  uint8_t bAppendRssi:1;
1883  uint8_t bAppendStatus:1;
1884  uint8_t bAppendTimestamp:1;
1885  } rxConfig;
1886  struct {
1887  uint8_t bUseWhiteList:1;
1888  uint8_t bDynamicWinOffset:1;
1891  uint8_t deviceAddrType:1;
1893  uint8_t peerAddrType:1;
1894  uint8_t bStrictLenFilter:1;
1895  uint8_t chSel:1;
1897  } initConfig;
1899  uint8_t __dummy0;
1900  uint8_t connectReqLen;
1901  uint8_t* pConnectReqData;
1902  uint16_t* pDeviceAddress;
1903  rfc_bleWhiteListEntry_t *pWhiteList;
1906  ratmr_t connectTime;
1909  uint16_t __dummy1;
1912  struct {
1913  uint8_t triggerType:4;
1914  uint8_t bEnaCmd:1;
1915  uint8_t triggerNo:2;
1917  uint8_t pastTrig:1;
1918  } timeoutTrigger;
1920  struct {
1921  uint8_t triggerType:4;
1922  uint8_t bEnaCmd:1;
1923  uint8_t triggerNo:2;
1925  uint8_t pastTrig:1;
1926  } endTrigger;
1928  ratmr_t timeoutTime;
1929  ratmr_t endTime;
1933 
1935 
1939 
1940 struct __RFC_STRUCT rfc_bleGenericRxPar_s {
1941  dataQueue_t* pRxQ;
1942  struct {
1943  uint8_t bAutoFlushIgnored:1;
1944  uint8_t bAutoFlushCrcErr:1;
1945  uint8_t bAutoFlushEmpty:1;
1946  uint8_t bIncludeLenByte:1;
1947  uint8_t bIncludeCrc:1;
1948  uint8_t bAppendRssi:1;
1949  uint8_t bAppendStatus:1;
1950  uint8_t bAppendTimestamp:1;
1951  } rxConfig;
1952  uint8_t bRepeat;
1953  uint16_t __dummy0;
1955  uint32_t accessAddress;
1956  uint8_t crcInit0;
1957  uint8_t crcInit1;
1958  uint8_t crcInit2;
1959  struct {
1960  uint8_t triggerType:4;
1961  uint8_t bEnaCmd:1;
1962  uint8_t triggerNo:2;
1964  uint8_t pastTrig:1;
1965  } endTrigger;
1967  ratmr_t endTime;
1970 
1972 
1976 
1977 struct __RFC_STRUCT rfc_bleTxTestPar_s {
1978  uint16_t numPackets;
1979  uint8_t payloadLength;
1981  uint8_t packetType;
1982  ratmr_t period;
1984  struct {
1985  uint8_t bOverrideDefault:1;
1986  uint8_t bUsePrbs9:1;
1988  uint8_t bUsePrbs15:1;
1991  } config;
1994  uint8_t byteVal;
1995  uint8_t __dummy0;
1996  struct {
1997  uint8_t triggerType:4;
1998  uint8_t bEnaCmd:1;
1999  uint8_t triggerNo:2;
2001  uint8_t pastTrig:1;
2002  } endTrigger;
2004  ratmr_t endTime;
2007 
2009 
2013 
2014 struct __RFC_STRUCT rfc_ble5SlavePar_s {
2015  dataQueue_t* pRxQ;
2016  dataQueue_t* pTxQ;
2017  struct {
2018  uint8_t bAutoFlushIgnored:1;
2019  uint8_t bAutoFlushCrcErr:1;
2020  uint8_t bAutoFlushEmpty:1;
2021  uint8_t bIncludeLenByte:1;
2022  uint8_t bIncludeCrc:1;
2023  uint8_t bAppendRssi:1;
2024  uint8_t bAppendStatus:1;
2025  uint8_t bAppendTimestamp:1;
2026  } rxConfig;
2027  struct {
2028  uint8_t lastRxSn:1;
2029  uint8_t lastTxSn:1;
2030  uint8_t nextTxSn:1;
2031  uint8_t bFirstPkt:1;
2032  uint8_t bAutoEmpty:1;
2033  uint8_t bLlCtrlTx:1;
2034  uint8_t bLlCtrlAckRx:1;
2035  uint8_t bLlCtrlAckPending:1;
2036  } seqStat;
2037  uint8_t maxNack;
2038  uint8_t maxPkt;
2039  uint32_t accessAddress;
2040  uint8_t crcInit0;
2041  uint8_t crcInit1;
2042  uint8_t crcInit2;
2043  struct {
2044  uint8_t triggerType:4;
2045  uint8_t bEnaCmd:1;
2046  uint8_t triggerNo:2;
2048  uint8_t pastTrig:1;
2049  } timeoutTrigger;
2051  ratmr_t timeoutTime;
2052  uint8_t maxRxPktLen;
2054  uint8_t maxLenLowRate;
2055  uint8_t __dummy0;
2056  struct {
2057  uint8_t triggerType:4;
2058  uint8_t bEnaCmd:1;
2059  uint8_t triggerNo:2;
2061  uint8_t pastTrig:1;
2062  } endTrigger;
2064  ratmr_t endTime;
2067 
2069 
2073 
2074 struct __RFC_STRUCT rfc_ble5MasterPar_s {
2075  dataQueue_t* pRxQ;
2076  dataQueue_t* pTxQ;
2077  struct {
2078  uint8_t bAutoFlushIgnored:1;
2079  uint8_t bAutoFlushCrcErr:1;
2080  uint8_t bAutoFlushEmpty:1;
2081  uint8_t bIncludeLenByte:1;
2082  uint8_t bIncludeCrc:1;
2083  uint8_t bAppendRssi:1;
2084  uint8_t bAppendStatus:1;
2085  uint8_t bAppendTimestamp:1;
2086  } rxConfig;
2087  struct {
2088  uint8_t lastRxSn:1;
2089  uint8_t lastTxSn:1;
2090  uint8_t nextTxSn:1;
2091  uint8_t bFirstPkt:1;
2092  uint8_t bAutoEmpty:1;
2093  uint8_t bLlCtrlTx:1;
2094  uint8_t bLlCtrlAckRx:1;
2095  uint8_t bLlCtrlAckPending:1;
2096  } seqStat;
2097  uint8_t maxNack;
2098  uint8_t maxPkt;
2099  uint32_t accessAddress;
2100  uint8_t crcInit0;
2101  uint8_t crcInit1;
2102  uint8_t crcInit2;
2103  struct {
2104  uint8_t triggerType:4;
2105  uint8_t bEnaCmd:1;
2106  uint8_t triggerNo:2;
2108  uint8_t pastTrig:1;
2109  } endTrigger;
2111  ratmr_t endTime;
2112  uint8_t maxRxPktLen;
2114  uint8_t maxLenLowRate;
2116 
2118 
2122 
2123 struct __RFC_STRUCT rfc_ble5AdvExtPar_s {
2124  struct {
2125  uint8_t :2;
2126  uint8_t deviceAddrType:1;
2127  } advConfig;
2128  uint8_t __dummy0;
2129  uint8_t __dummy1;
2130  uint8_t auxPtrTargetType;
2131  ratmr_t auxPtrTargetTime;
2133  uint8_t* pAdvPkt;
2134  uint16_t* pDeviceAddress;
2138 
2140 
2144 
2145 struct __RFC_STRUCT rfc_ble5AdvAuxPar_s {
2146  dataQueue_t* pRxQ;
2147  struct {
2148  uint8_t bAutoFlushIgnored:1;
2149  uint8_t bAutoFlushCrcErr:1;
2150  uint8_t bAutoFlushEmpty:1;
2151  uint8_t bIncludeLenByte:1;
2152  uint8_t bIncludeCrc:1;
2153  uint8_t bAppendRssi:1;
2154  uint8_t bAppendStatus:1;
2155  uint8_t bAppendTimestamp:1;
2156  } rxConfig;
2157  struct {
2158  uint8_t advFilterPolicy:2;
2159  uint8_t deviceAddrType:1;
2166  uint8_t targetAddrType:1;
2167  uint8_t bStrictLenFilter:1;
2168  uint8_t bDirected:1;
2170  uint8_t privIgnMode:1;
2172  uint8_t rpaMode:1;
2174  } advConfig;
2177  struct {
2178  uint8_t scanRspEndType:1;
2179  } behConfig;
2182  uint8_t auxPtrTargetType;
2183  ratmr_t auxPtrTargetTime;
2185  uint8_t* pAdvPkt;
2186  uint8_t* pRspPkt;
2187  uint16_t* pDeviceAddress;
2189  rfc_bleWhiteListEntry_t *pWhiteList;
2195 
2197 
2200 struct __RFC_STRUCT rfc_ble5AuxChRes_s {
2201  ratmr_t rxStartTime;
2202  uint16_t rxListenTime;
2203  uint8_t channelNo;
2204  uint8_t phyMode;
2210 
2212 
2216 
2217 struct __RFC_STRUCT rfc_ble5ScannerPar_s {
2218  dataQueue_t* pRxQ;
2219  struct {
2220  uint8_t bAutoFlushIgnored:1;
2221  uint8_t bAutoFlushCrcErr:1;
2222  uint8_t bAutoFlushEmpty:1;
2223  uint8_t bIncludeLenByte:1;
2224  uint8_t bIncludeCrc:1;
2225  uint8_t bAppendRssi:1;
2226  uint8_t bAppendStatus:1;
2227  uint8_t bAppendTimestamp:1;
2228  } rxConfig;
2229  struct {
2230  uint8_t scanFilterPolicy:1;
2231  uint8_t bActiveScan:1;
2235  uint8_t deviceAddrType:1;
2237  uint8_t rpaFilterPolicy:1;
2238  uint8_t bStrictLenFilter:1;
2241  uint8_t bAutoWlIgnore:1;
2243  uint8_t bEndOnRpt:1;
2245  uint8_t rpaMode:1;
2247  } scanConfig;
2250  uint16_t randomState;
2251  uint16_t backoffCount;
2252  struct {
2253  uint8_t logUpperLimit:4;
2254  uint8_t bLastSucceeded:1;
2255  uint8_t bLastFailed:1;
2257  } backoffPar;
2259  struct {
2260  uint8_t bCheckAdi:1;
2261  uint8_t bAutoAdiUpdate:1;
2263  uint8_t bApplyDuplicateFiltering:1;
2266  uint8_t bAutoWlIgnore:1;
2270  uint8_t bAutoAdiProcess:1;
2272  uint8_t bExclusiveSid:1;
2276  } extFilterConfig;
2279  struct {
2280  uint8_t lastAcceptedSid:4;
2281  uint8_t state:3;
2282  } adiStatus;
2295  uint8_t __dummy0;
2296  uint16_t __dummy1;
2297  uint16_t* pDeviceAddress;
2298  rfc_bleWhiteListEntry_t *pWhiteList;
2301  rfc_ble5AdiEntry_t *pAdiList;
2302  uint16_t maxWaitTimeForAuxCh;
2303  struct {
2306  uint8_t triggerType:4;
2307  uint8_t bEnaCmd:1;
2308  uint8_t triggerNo:2;
2310  uint8_t pastTrig:1;
2311  } timeoutTrigger;
2313  struct {
2314  uint8_t triggerType:4;
2315  uint8_t bEnaCmd:1;
2316  uint8_t triggerNo:2;
2318  uint8_t pastTrig:1;
2319  } endTrigger;
2321  ratmr_t timeoutTime;
2322  ratmr_t endTime;
2324  ratmr_t rxStartTime;
2326  uint16_t rxListenTime;
2327  uint8_t channelNo;
2328  uint8_t phyMode;
2334 
2336 
2340 
2341 struct __RFC_STRUCT rfc_ble5InitiatorPar_s {
2342  dataQueue_t* pRxQ;
2343  struct {
2344  uint8_t bAutoFlushIgnored:1;
2345  uint8_t bAutoFlushCrcErr:1;
2346  uint8_t bAutoFlushEmpty:1;
2347  uint8_t bIncludeLenByte:1;
2348  uint8_t bIncludeCrc:1;
2349  uint8_t bAppendRssi:1;
2350  uint8_t bAppendStatus:1;
2351  uint8_t bAppendTimestamp:1;
2352  } rxConfig;
2353  struct {
2354  uint8_t bUseWhiteList:1;
2355  uint8_t bDynamicWinOffset:1;
2358  uint8_t deviceAddrType:1;
2359  uint8_t peerAddrType:1;
2360  uint8_t bStrictLenFilter:1;
2361  uint8_t chSel:1;
2363  } initConfig;
2365  uint16_t randomState;
2366  uint16_t backoffCount;
2367  struct {
2368  uint8_t logUpperLimit:4;
2369  uint8_t bLastSucceeded:1;
2370  uint8_t bLastFailed:1;
2372  } backoffPar;
2374  uint8_t connectReqLen;
2375  uint8_t* pConnectReqData;
2376  uint16_t* pDeviceAddress;
2377  rfc_bleWhiteListEntry_t *pWhiteList;
2380  ratmr_t connectTime;
2383  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_bleMasterSlaveOutput_s {
2425  uint8_t nTx;
2426  uint8_t nTxAck;
2428  uint8_t nTxCtrl;
2429  uint8_t nTxCtrlAck;
2430  uint8_t nTxCtrlAckAck;
2431  uint8_t nTxRetrans;
2433  uint8_t nTxEntryDone;
2434  uint8_t nRxOk;
2435  uint8_t nRxCtrl;
2436  uint8_t nRxCtrlAck;
2437  uint8_t nRxNok;
2439  uint8_t nRxIgnored;
2440  uint8_t nRxEmpty;
2442  uint8_t nRxBufFull;
2443  int8_t lastRssi;
2444  struct {
2445  uint8_t bTimeStampValid:1;
2446  uint8_t bLastCrcErr:1;
2447  uint8_t bLastIgnored:1;
2448  uint8_t bLastEmpty:1;
2449  uint8_t bLastCtrl:1;
2450  uint8_t bLastMd:1;
2451  uint8_t bLastAck:1;
2452  } pktStatus;
2454  ratmr_t timeStamp;
2456 
2458 
2462 
2463 struct __RFC_STRUCT rfc_bleAdvOutput_s {
2464  uint16_t nTxAdvInd;
2465  uint8_t nTxScanRsp;
2466  uint8_t nRxScanReq;
2467  uint8_t nRxConnectReq;
2468  uint8_t nTxConnectRsp;
2469  uint16_t nRxNok;
2470  uint16_t nRxIgnored;
2471  uint8_t nRxBufFull;
2472  int8_t lastRssi;
2473  ratmr_t timeStamp;
2475 
2477 
2481 
2482 struct __RFC_STRUCT rfc_bleScannerOutput_s {
2483  uint16_t nTxScanReq;
2484  uint16_t nBackedOffScanReq;
2485  uint16_t nRxAdvOk;
2486  uint16_t nRxAdvIgnored;
2487  uint16_t nRxAdvNok;
2488  uint16_t nRxScanRspOk;
2489  uint16_t nRxScanRspIgnored;
2490  uint16_t nRxScanRspNok;
2491  uint8_t nRxAdvBufFull;
2492  uint8_t nRxScanRspBufFull;
2493  int8_t lastRssi;
2494  uint8_t __dummy0;
2495  ratmr_t timeStamp;
2497 
2499 
2503 
2504 struct __RFC_STRUCT rfc_bleInitiatorOutput_s {
2505  uint8_t nTxConnectReq;
2506  uint8_t nRxAdvOk;
2507  uint16_t nRxAdvIgnored;
2508  uint16_t nRxAdvNok;
2509  uint8_t nRxAdvBufFull;
2510  int8_t lastRssi;
2511  ratmr_t timeStamp;
2513 
2515 
2519 
2520 struct __RFC_STRUCT rfc_ble5ScanInitOutput_s {
2521  uint16_t nTxReq;
2522  uint16_t nBackedOffReq;
2523  uint16_t nRxAdvOk;
2524  uint16_t nRxAdvIgnored;
2525  uint16_t nRxAdvNok;
2526  uint16_t nRxRspOk;
2527  uint16_t nRxRspIgnored;
2528  uint16_t nRxRspNok;
2529  uint8_t nRxAdvBufFull;
2530  uint8_t nRxRspBufFull;
2531  int8_t lastRssi;
2532  uint8_t __dummy0;
2533  ratmr_t timeStamp;
2535 
2537 
2541 
2542 struct __RFC_STRUCT rfc_bleGenericRxOutput_s {
2543  uint16_t nRxOk;
2544  uint16_t nRxNok;
2545  uint16_t nRxBufFull;
2546  int8_t lastRssi;
2547  uint8_t __dummy0;
2548  ratmr_t timeStamp;
2550 
2552 
2556 
2557 struct __RFC_STRUCT rfc_bleTxTestOutput_s {
2558  uint16_t nTx;
2560 
2562 
2566 
2567 struct __RFC_STRUCT rfc_ble5ExtAdvEntry_s {
2568  struct {
2569  uint8_t length:6;
2570  uint8_t advMode:2;
2571  } extHdrInfo;
2576  uint8_t extHdrFlags;
2577  struct {
2578  uint8_t bSkipAdvA:1;
2579  uint8_t bSkipTargetA:1;
2583  uint8_t deviceAddrType:1;
2589  uint8_t targetAddrType:1;
2591  } extHdrConfig;
2593  uint8_t advDataLen;
2594  uint8_t* pExtHeader;
2595  uint8_t* pAdvData;
2600 
2602 
2606 
2607 struct __RFC_STRUCT rfc_bleWhiteListEntry_s {
2608  uint8_t size;
2609  struct {
2610  uint8_t bEnable:1;
2611  uint8_t addrType:1;
2612  uint8_t bWlIgn:1;
2613  uint8_t :1;
2616  uint8_t bPrivIgn:1;
2617  } conf;
2619  uint16_t address;
2620  uint32_t addressHi;
2622 
2624 
2628 
2629 struct __RFC_STRUCT rfc_ble5AdiEntry_s {
2630  struct {
2631  uint16_t advDataId:12;
2632  uint16_t mode:2;
2634  } advDataInfo;
2640 
2642 
2646 
2647 struct __RFC_STRUCT rfc_bleRxStatus_s {
2648  struct {
2649  uint8_t channel:6;
2650  uint8_t bIgnore:1;
2652  uint8_t bCrcErr:1;
2653  } status;
2655 
2657 
2661 
2662 struct __RFC_STRUCT rfc_ble5RxStatus_s {
2663  struct {
2664  uint16_t channel:6;
2665  uint16_t bIgnore:1;
2667  uint16_t bCrcErr:1;
2668  uint16_t phyMode:2;
2669  } status;
2675 
2677 
2680 #endif
Definition: cc13x2_cc26x2/driverlib/rf_ble_cmd.h:219
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
#define __RFC_STRUCT
Definition: cc13x4_cc26x4/driverlib/rf_ble_cmd.h:41
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
#define __RFC_STRUCT_ATTR
Definition: cc13x4_cc26x4/driverlib/rf_ble_cmd.h:50
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
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
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