33 #ifndef ti_drivers_RCL_commands_ble_cs_h__include 34 #define ti_drivers_RCL_commands_ble_cs_h__include 40 #include <ti/drivers/utils/List.h> 87 #define RCL_CMDID_BLE_CS 0x1101U 88 #define RCL_CMDID_BLE_CS_PRECAL 0x1102U 91 #define RCL_BLE_CS_US_TO_MCE_TIMER(x) ((x)*48) 92 #define RCL_BLE_CS_US_TO_PBE_TIMER(x) ((x)*4) 93 #define RCL_BLE_CS_MCE_TIMER_TO_US(x) ((x)/48) 94 #define RCL_BLE_CS_PBE_TIMER_TO_US(x) ((x)/12) 95 #define RCL_BLE_CS_MCE_TIMER_TO_PBE_TIMER(x) ((x)/4) 96 #define RCL_BLE_CS_DELAY_PS_TO_LUT(x) (((x)+16)/32) 99 #define RCL_BLE_CS_MAX_NUM_ANT 4 100 #define RCL_BLE_CS_MAX_NUM_ANT_PATH 5 101 #define RCL_BLE_CS_MAX_PAYLOAD_SIZE 4 102 #define RCL_BLE_CS_NUM_CORR 3 103 #define RCL_BLE_CS_NUM_STIM 2 104 #define RCL_BLE_CS_MAX_S2R_LEN 1024 105 #define RCL_BLE_CS_NUM_RX_GAIN_LEVEL 2 106 #define RCL_BLE_CS_STEP_RX_GAIN_DB 3 107 #define RCL_BLE_CS_NUM_PRECAL_CHANNELS 8 129 uint16_t repeatSteps:1;
130 uint16_t chFilterEnable:1;
148 uint16_t tRxWideningR0;
160 uint8_t foffOverrideEnable:1;
176 #define RCL_CmdBleCs_Default() \ 178 .common = RCL_Command_Default(RCL_CMDID_BLE_CS, \ 179 RCL_Handler_BLE_CS), \ 181 #define RCL_CmdBleCs_DefaultRuntime() (RCL_CmdBleCs) RCL_CmdBleCs_Default() 240 RCL_CmdBleCs_IQSample
dc;
259 RCL_CmdBleCs_IQSample
iq;
514 uint8_t lowValid : 1;
515 uint8_t highValid : 1;
517 RCL_CmdBleCs_DCSample
low;
533 uint8_t numEntries : 7;
535 RCL_CmdBleCs_PrecalEntry entries[];
542 #define RCL_CmdBleCs_PrecalTable_Default() \ 544 .callback = RCL_Handler_BLE_CS_PrecalDefaultCallback, \ 546 .highThreshold = 50, \ 547 .lowThreshold = 10, \ 553 .entries = {{.channel = 5}, \ 574 #define RCL_CmdBleCs_Precal_Default(pTable) \ 576 .common = RCL_Command_Default(RCL_CMDID_BLE_CS_PRECAL, \ 577 RCL_Handler_BLE_CS_Precal), \ 580 #define RCL_CmdBleCs_Precal_DefaultRuntime(pTable) (RCL_CmdBleCs_Precal) RCL_CmdBleCs_Precal_Default(pTable) 603 uint8_t chSpacing : 7;
604 uint8_t enPhaseComp : 1;
605 uint8_t enMagnComp : 1;
606 uint8_t numEntries : 7;
607 RCL_CmdBleCs_PctCompEntry entries[];
613 #ifndef RCL_BLE_CS_PHASE_DELAY_PS 614 #ifdef DeviceFamily_CC27XX 616 #define RCL_BLE_CS_PHASE_DELAY_PS (1100UL) 619 #define RCL_BLE_CS_PHASE_DELAY_PS (1500UL) 624 #define RCL_CmdBleCs_PctCompTable_Default() \ 626 .firstChannelIdx = 0, \ 631 .entries = {{.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 632 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 633 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 634 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 635 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 636 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 637 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 638 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 639 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 640 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 641 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}}, \ 669 #define RCL_CMD_BLE_CS_FREQCOMP_NA 0xC000 670 #define RCL_CMD_BLE_CS_TOAD_NA 0x8000 671 #define RCL_CMD_BLE_CS_RSSI_NA 0x7F 674 #define RCL_CMD_BLE_CS_SUBEVENT_RESULTS_OPCODE 0x31 675 #define RCL_CMD_BLE_CS_SUBEVENT_RESULTS_CONTINUE_OPCODE 0x32 683 uint32_t channelIdx : 7;
685 uint32_t antennaPacket: 3;
686 uint32_t antennaPermIdx : 5;
687 uint32_t toneExtension : 2;
688 uint32_t payloadLen : 3;
689 uint32_t reserved : 10;
741 uint32_t quality : 8;
816 RCL_CmdBleCs_Tone tones[];
836 RCL_CmdBleCs_Tone tones[];
uint16_t toneExtension
Definition: ble_cs.h:231
uint16_t procedureCounter
Definition: ble_cs.h:706
PCT compensation table for antenna/front-end delay.
Definition: ble_cs.h:601
uint16_t magnMin
Definition: ble_cs.h:502
uint8_t packetAntenna
Definition: ble_cs.h:785
void RCL_Handler_BLE_CS_PrecalDefaultCallback(RCL_CmdBleCs_PrecalTable *table, uint8_t channel, RCL_CmdBleCs_IQSample *pHigh, RCL_CmdBleCs_IQSample *pLow)
Definition: ble_cs.c:2450
RCL_CMD_BLE_CS_Tpm_e
Enumerator of tPm duration options.
Definition: ble_cs.h:368
#define RCL_BLE_CS_NUM_RX_GAIN_LEVEL
Definition: ble_cs.h:105
int8_t pktRssi
Definition: ble_cs.h:237
uint16_t startAclConnectionEvent
Definition: ble_cs.h:705
RCL_CMD_BLE_CS_Payload_e
Enumerator of payload length.
Definition: ble_cs.h:426
uint8_t channel
Definition: ble_cs.h:826
uint8_t configID
Definition: ble_cs.h:725
int16_t measuredFreqOffset
Definition: ble_cs.h:770
uint16_t tStep
Definition: ble_cs.h:205
uint8_t mode
Definition: ble_cs.h:750
uint32_t payload0
Definition: ble_cs.h:272
RCL_CmdBleCs_PrecalTable * table
Definition: ble_cs.h:570
enum RCL_CMD_BLE_CS_ReportFormat_e RCL_CmdBleCs_ReportFormat
Definition: ble_cs.h:82
uint16_t mode
Definition: ble_cs.h:230
BLE Channel Sounding.
Definition: ble_cs.h:124
int16_t frequencyCompensation
Definition: ble_cs.h:707
RCL_CMD_BLE_CS_Tfcs_e
Enumerator of tFcs duration options.
Definition: ble_cs.h:355
enum RCL_CMD_BLE_CS_ToneQuality_e RCL_CmdBleCs_ToneQuality
Definition: ble_cs.h:79
uint16_t tAdjustA
Definition: ble_cs.h:194
Container format for mode-2 step results.
Definition: ble_cs.h:809
int16_t packetToF
Definition: ble_cs.h:832
uint8_t channel
Definition: ble_cs.h:751
BLE Channel Sounding QQ data.
Definition: ble_cs.h:216
uint8_t dataLength
Definition: ble_cs.h:827
uint8_t mode
Definition: ble_cs.h:779
RCL_CMD_BLE_CS_Tip_e
Enumerator of tIp duration.
Definition: ble_cs.h:380
uint16_t nStepsDone
Definition: ble_cs.h:289
uint8_t packetAntenna
Definition: ble_cs.h:768
Container format for mode-3 step results.
Definition: ble_cs.h:823
uint16_t nStepsWritten
Definition: ble_cs.h:287
uint32_t payload3
Definition: ble_cs.h:275
#define RCL_BLE_CS_MAX_PAYLOAD_SIZE
Definition: ble_cs.h:101
uint8_t numAntennaPath
Definition: ble_cs.h:712
enum RCL_CMD_BLE_CS_Phy_e RCL_CmdBleCs_Phy
Definition: ble_cs.h:68
uint8_t numAntennaPath
Definition: ble_cs.h:296
Container format for a single step in the subevent.
Definition: ble_cs.h:682
BLE Channel Sounding S2R IQ Data.
Definition: ble_cs.h:267
enum RCL_CMD_BLE_CS_PacketResult_e RCL_CmdBleCs_PacketResult
Definition: ble_cs.h:71
int8_t referencePowerLevel
Definition: ble_cs.h:708
uint8_t subeventDoneStatus
Definition: ble_cs.h:710
uint8_t rplScaler
Definition: ble_cs.h:297
Container format for common section of step results.
Definition: ble_cs.h:748
RCL_CMD_BLE_CS_StepMode_e
Enumerator of step types.
Definition: ble_cs.h:329
RCL_CMD_BLE_CS_Role_e
Enumerator of role types.
Definition: ble_cs.h:318
uint8_t chSpacing
Definition: ble_cs.h:532
uint16_t channelIdx
Definition: ble_cs.h:229
int8_t lastRssi
Definition: ble_cs.h:293
RCL_CMD_BLE_CS_ReportFormat_e
Enumerator of report format.
Definition: ble_cs.h:476
enum RCL_CMD_BLE_CS_Tfcs_e RCL_CmdBleCs_Tfcs
Definition: ble_cs.h:72
uint16_t foffErr
Definition: ble_cs.h:193
uint8_t antennaPacket
Definition: ble_cs.h:203
uint8_t packetAAQuality
Definition: ble_cs.h:798
enum RCL_CMD_BLE_CS_Role_e RCL_CmdBleCs_Role
Definition: ble_cs.h:69
uint16_t reserved0
Definition: ble_cs.h:196
int8_t packetRssi
Definition: ble_cs.h:784
uint8_t mode
Definition: ble_cs.h:825
uint8_t firstChannelIdx
Definition: ble_cs.h:602
uint8_t numAntennaPath
Definition: ble_cs.h:729
uint8_t nadm
Definition: ble_cs.h:830
RCL_CMD_BLE_CS_Tsw_e
Enumerator of antenna switch duration.
Definition: ble_cs.h:394
uint16_t connectionHandle
Definition: ble_cs.h:724
uint16_t nRxOk
Definition: ble_cs.h:290
uint8_t packetAntenna
Definition: ble_cs.h:802
enum RCL_CMD_BLE_CS_Tpm_e RCL_CmdBleCs_Tpm
Definition: ble_cs.h:73
uint8_t abortReason
Definition: ble_cs.h:711
uint8_t magnCoeff
Definition: ble_cs.h:593
uint16_t antennaSequence
Definition: ble_cs.h:204
RCL_CmdBleCs_PrecalTable * precalTable
Definition: ble_cs.h:164
uint16_t payloadLen
Definition: ble_cs.h:192
uint16_t nResultsRead
Definition: ble_cs.h:288
uint8_t phy
Definition: ble_cs.h:269
uint8_t antennaPermutationIndex
Definition: ble_cs.h:815
uint8_t dataLength
Definition: ble_cs.h:796
RCL_CMD_BLE_CS_RxGain_e
Enumerator of RX gain.
Definition: ble_cs.h:440
uint8_t nadm
Definition: ble_cs.h:799
RCL_CmdBleCs_PrecalCallback callback
Definition: ble_cs.h:526
#define RCL_BLE_CS_MAX_NUM_ANT_PATH
Definition: ble_cs.h:100
RCL_CmdBleCs_Stats * stats
Definition: ble_cs.h:166
Index of the tx power table.
Definition: LRFCC23X0.h:169
uint8_t packetAntenna
Definition: ble_cs.h:833
int16_t foffComp
Definition: ble_cs.h:295
uint8_t dataLength
Definition: ble_cs.h:781
#define RCL_BLE_CS_MAX_NUM_ANT
Definition: ble_cs.h:99
uint8_t numStepsReported
Definition: ble_cs.h:730
BLE Channel Sounding Step Result.
Definition: ble_cs.h:228
uint16_t magnAvg
Definition: ble_cs.h:504
uint16_t tAntennaA
Definition: ble_cs.h:206
RCL_CMD_BLE_CS_ToneExtensionSlot_e
Enumerator of tone extension slot.
Definition: ble_cs.h:464
uint16_t channelIdx
Definition: ble_cs.h:189
enum RCL_CMD_BLE_CS_PacketAntenna_e RCL_CmdBleCs_PacketAntenna
Definition: ble_cs.h:83
uint8_t configID
Definition: ble_cs.h:704
int8_t phaseStart
Definition: ble_cs.h:500
RCL_CMD_BLE_CS_PacketAntenna_e
Definition: ble_cs.h:650
int16_t lastFoff
Definition: ble_cs.h:294
int16_t magnMin
Definition: ble_cs.h:217
enum RCL_CMD_BLE_CS_Nadm_e RCL_CmdBleCs_Nadm
Definition: ble_cs.h:84
uint8_t data[]
Definition: ble_cs.h:552
BLE Channel Sounding IQ Sample.
Definition: ble_cs.h:114
uint16_t tAntennaB
Definition: ble_cs.h:207
int16_t q
Definition: ble_cs.h:116
int16_t i
Definition: ble_cs.h:115
uint8_t channel
Definition: ble_cs.h:795
uint16_t tAdjustB
Definition: ble_cs.h:195
uint8_t gain
Definition: ble_cs.h:236
uint8_t procedureDoneStatus
Definition: ble_cs.h:726
uint16_t connectionHandle
Definition: ble_cs.h:703
uint8_t mode
Definition: ble_cs.h:811
Container format for mode-0 step results.
Definition: ble_cs.h:777
enum RCL_CMD_BLE_CS_ToneExtensionSlot_e RCL_CmdBleCs_ToneExtensionSlot
Definition: ble_cs.h:80
BLE Channel Sounding S2R Sample type definition.
Definition: ble_cs.h:256
uint8_t nS2RDone
Definition: ble_cs.h:292
uint16_t magnMax
Definition: ble_cs.h:503
RCL_CMD_BLE_CS_ToneQuality_e
Enumerator of tone quality.
Definition: ble_cs.h:451
int16_t i
Definition: ble_cs.h:498
BLE Channel Sounding DC Sample.
Definition: ble_cs.h:497
uint32_t timestamp
Definition: ble_cs.h:527
#define RCL_BLE_CS_NUM_CORR
Definition: ble_cs.h:102
uint8_t dataLength
Definition: ble_cs.h:764
uint8_t channel
Definition: ble_cs.h:542
uint8_t dataLength
Definition: ble_cs.h:752
uint16_t reserved1
Definition: ble_cs.h:208
uint32_t aaRx
Definition: ble_cs.h:201
enum RCL_CMD_BLE_CS_Tsw_e RCL_CmdBleCs_Tsw
Definition: ble_cs.h:75
Container format for a batch of step results in the subevent (second+ segment)
Definition: ble_cs.h:722
uint8_t antennaPermIdx
Definition: ble_cs.h:246
uint8_t reportFormat
Definition: ble_cs.h:162
RCL_Command common
Definition: ble_cs.h:125
RCL_CMD_BLE_CS_AntennaConfig_e
Enumerator of antenna configuration.
Definition: ble_cs.h:409
DC precalibration command.
Definition: ble_cs.h:568
RCL_Command common
Definition: ble_cs.h:569
uint32_t aaTx
Definition: ble_cs.h:200
uint8_t antennaPacket
Definition: ble_cs.h:247
uint16_t rtt
Definition: ble_cs.h:238
uint8_t idx
Definition: ble_cs.h:268
uint8_t packetAAQuality
Definition: ble_cs.h:783
int16_t q
Definition: ble_cs.h:499
uint8_t procedureDoneStatus
Definition: ble_cs.h:709
uint8_t antennaPermutationIndex
Definition: ble_cs.h:835
RCL_CMD_BLE_CS_PacketResult_e
Enumerator of packet status options.
Definition: ble_cs.h:342
int8_t phaseStop
Definition: ble_cs.h:501
int16_t magnMax
Definition: ble_cs.h:218
RCL_CMD_BLE_CS_Nadm_e
Definition: ble_cs.h:657
int16_t foffOverride
Definition: ble_cs.h:159
uint8_t subeventCode
Definition: ble_cs.h:702
uint8_t channel
Definition: ble_cs.h:780
int16_t magnAvg
Definition: ble_cs.h:219
uint8_t lowThreshold
Definition: ble_cs.h:529
uint32_t payload1
Definition: ble_cs.h:273
uint8_t numStepsReported
Definition: ble_cs.h:713
int8_t packetRssi
Definition: ble_cs.h:767
Container format for a batch of step results in the subevent (first segment)
Definition: ble_cs.h:701
uint32_t aaTx
Definition: ble_cs.h:690
uint16_t mode
Definition: ble_cs.h:190
uint32_t aaRx
Definition: ble_cs.h:691
Container format for mode-1 step results.
Definition: ble_cs.h:792
int16_t packetToF
Definition: ble_cs.h:801
uint8_t channel
Definition: ble_cs.h:270
uint8_t abortReason
Definition: ble_cs.h:728
uint8_t dataLength
Definition: ble_cs.h:813
uint8_t payloadLen
Definition: ble_cs.h:271
uint8_t channel
Definition: ble_cs.h:812
BLE Channel Sounding Statistics.
Definition: ble_cs.h:286
uint8_t highThreshold
Definition: ble_cs.h:528
Container format for tones.
Definition: ble_cs.h:738
enum RCL_CMD_BLE_CS_Payload_e RCL_CmdBleCs_Payload
Definition: ble_cs.h:77
uint32_t word
Definition: ble_cs.h:257
List_List stepBuffers
Definition: ble_cs.h:167
Channel entry for PCT compensation for antenna/front-end delay.
Definition: ble_cs.h:591
uint16_t toneExtension
Definition: ble_cs.h:191
RCL_CMD_BLE_CS_Phy_e
Enumerator of phy types.
Definition: ble_cs.h:306
int8_t packetRssi
Definition: ble_cs.h:800
List_List resultBuffers
Definition: ble_cs.h:169
uint8_t subeventDoneStatus
Definition: ble_cs.h:727
Container format for mode-0 step results.
Definition: ble_cs.h:760
uint16_t nRxNok
Definition: ble_cs.h:291
enum RCL_CMD_BLE_CS_StepMode_e RCL_CmdBleCs_StepMode
Definition: ble_cs.h:70
uint8_t mode
Definition: ble_cs.h:541
RCL_CmdBleCs_IQSample iq
Definition: ble_cs.h:259
uint16_t payloadLen
Definition: ble_cs.h:232
uint8_t mode
Definition: ble_cs.h:794
uint16_t pktResult
Definition: ble_cs.h:235
enum RCL_CMD_BLE_CS_RxGain_e RCL_CmdBleCs_RxGain
Definition: ble_cs.h:78
const RCL_AntennaConfig_t antennaConfig[RCL_CmdBleCs_AntennaConfig_Length]
Definition: ble_cs.c:184
uint16_t reserved
Definition: ble_cs.h:233
List_List stepBuffersDone
Definition: ble_cs.h:168
List_List s2rBuffersDone
Definition: ble_cs.h:172
uint8_t phaseDelay
Definition: ble_cs.h:592
int16_t magnAvgdB
Definition: ble_cs.h:220
uint8_t rxGain
Definition: ble_cs.h:530
uint8_t mode
Definition: ble_cs.h:762
RCL_CmdBleCs_IQSample dc
Definition: ble_cs.h:240
enum RCL_CMD_BLE_CS_Tip_e RCL_CmdBleCs_Tip
Definition: ble_cs.h:74
uint8_t antennaPermIdx
Definition: ble_cs.h:202
DC precalibration entry.
Definition: ble_cs.h:512
uint8_t channel
Definition: ble_cs.h:513
RCL_CmdBleCs_DCSample high
Definition: ble_cs.h:516
void(* RCL_CmdBleCs_PrecalCallback)(RCL_CmdBleCs_PrecalTable *table, uint8_t channel, RCL_CmdBleCs_IQSample *pHigh, RCL_CmdBleCs_IQSample *pLow)
Callback function for DC precalibration feature.
Definition: ble_cs.h:490
List_List s2rBuffers
Definition: ble_cs.h:171
int8_t temperature
Definition: ble_cs.h:531
BLE Channel Sounding Step.
Definition: ble_cs.h:188
RCL_CmdBleCs_StepResult_Internal * results
Definition: ble_cs.h:165
uint8_t packetAAQuality
Definition: ble_cs.h:829
RCL_CmdBleCs_DCSample low
Definition: ble_cs.h:517
uint8_t packetAAQuality
Definition: ble_cs.h:766
int8_t packetRssi
Definition: ble_cs.h:831
List_List resultBuffersDone
Definition: ble_cs.h:170
DC precalibration table.
Definition: ble_cs.h:525
uint32_t payload2
Definition: ble_cs.h:274
uint16_t reserved1
Definition: ble_cs.h:248
uint8_t subeventCode
Definition: ble_cs.h:723
struct RCL_CMD_BLE_CS_STEP_RESULTS_TONE_t __attribute__
Definition: hal_cc23x0.c:510
uint16_t reserved
Definition: ble_cs.h:298
enum RCL_CMD_BLE_CS_AntennaConfig_e RCL_CmdBleCs_AntennaConfig
Definition: ble_cs.h:76
uint16_t reserved
Definition: ble_cs.h:277
uint16_t iqLength
Definition: ble_cs.h:276
uint8_t channel
Definition: ble_cs.h:763
int16_t foffMeasured
Definition: ble_cs.h:234