33 #ifndef ti_drivers_rcl_commands_ble_cs__include 34 #define ti_drivers_rcl_commands_ble_cs__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)*48U) 92 #define RCL_BLE_CS_US_TO_PBE_TIMER(x) ((x)*4U) 93 #define RCL_BLE_CS_MCE_TIMER_TO_US(x) ((x)/48U) 94 #define RCL_BLE_CS_PBE_TIMER_TO_US(x) ((x)/12U) 95 #define RCL_BLE_CS_MCE_TIMER_TO_PBE_TIMER(x) (uint16_t) ((x)/4U) 96 #define RCL_BLE_CS_MCE_TIMER_TO_PREFREF(x) ((x)/3U) 97 #define RCL_BLE_CS_DELAY_PS_TO_LUT(x) (((x)+16U)/32U) 100 #define RCL_BLE_CS_MAX_NUM_ANT 4U 101 #define RCL_BLE_CS_MAX_NUM_ANT_PATH 5U 102 #define RCL_BLE_CS_MAX_PAYLOAD_SIZE 4U 103 #define RCL_BLE_CS_NUM_CORR 3U 104 #define RCL_BLE_CS_NUM_STIM 2U 105 #define RCL_BLE_CS_MAX_S2R_LEN 1024U 106 #define RCL_BLE_CS_NUM_RX_GAIN_LEVEL 2U 107 #define RCL_BLE_CS_STEP_RX_GAIN_DB 3U 108 #define RCL_BLE_CS_NUM_PRECAL_CHANNELS 8U 132 uint16_t repeatSteps:1;
133 uint16_t reportFormat:1;
134 uint16_t inlinePhase:1;
135 uint16_t reserved0:1;
153 uint16_t tRxWideningR0;
161 uint8_t rxGainPolicy:2;
162 uint8_t foffPolicy:2;
178 #define RCL_CmdBleCs_Default() \ 180 .common = RCL_Command_Default(RCL_CMDID_BLE_CS, \ 181 RCL_Handler_BLE_CS), \ 183 #define RCL_CmdBleCs_DefaultRuntime() (RCL_CmdBleCs) RCL_CmdBleCs_Default() 251 RCL_CmdBleCs_IQSample
dc;
270 RCL_CmdBleCs_IQSample
iq;
527 uint8_t lowValid : 1;
528 uint8_t highValid : 1;
530 RCL_CmdBleCs_DCSample
low;
545 uint8_t numEntries : 7;
547 RCL_CmdBleCs_PrecalEntry entries[];
554 #define RCL_CmdBleCs_PrecalTable_Default() \ 556 .callback = RCL_Handler_BLE_CS_PrecalDefaultCallback, \ 559 .highThreshold = 50, \ 560 .lowThreshold = 10, \ 564 .entries = {{.channel = 5}, \ 585 #define RCL_CmdBleCs_Precal_Default(pTable) \ 587 .common = RCL_Command_Default(RCL_CMDID_BLE_CS_PRECAL, \ 588 RCL_Handler_BLE_CS_Precal), \ 591 #define RCL_CmdBleCs_Precal_DefaultRuntime(pTable) (RCL_CmdBleCs_Precal) RCL_CmdBleCs_Precal_Default(pTable) 614 uint8_t chSpacing : 7;
615 uint8_t enPhaseComp : 1;
616 uint8_t enMagnComp : 1;
617 uint8_t numEntries : 7;
618 RCL_CmdBleCs_PctCompEntry entries[];
624 #ifndef RCL_BLE_CS_PHASE_DELAY_PS 625 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX) 627 #define RCL_BLE_CS_PHASE_DELAY_PS (1100UL) 630 #define RCL_BLE_CS_PHASE_DELAY_PS (1500UL) 635 #define RCL_CmdBleCs_PctCompTable_Default() \ 637 .firstChannelIdx = 0, \ 642 .entries = {{.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 643 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 644 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 645 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 646 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 647 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 648 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 649 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 650 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 651 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}, \ 652 {.phaseDelay = RCL_BLE_CS_DELAY_PS_TO_LUT(RCL_BLE_CS_PHASE_DELAY_PS)}}, \ 680 #define RCL_CMD_BLE_CS_FREQCOMP_NA 0xC000 681 #define RCL_CMD_BLE_CS_TOAD_NA (int16_t) 0x8000 682 #define RCL_CMD_BLE_CS_RSSI_NA 0x7F 685 #define RCL_CMD_BLE_CS_SUBEVENT_RESULTS_OPCODE 0x31 686 #define RCL_CMD_BLE_CS_SUBEVENT_RESULTS_CONTINUE_OPCODE 0x32 694 uint32_t channelIdx : 7;
696 uint32_t antennaPacket: 3;
697 uint32_t antennaPermIdx : 5;
698 uint32_t toneExtension : 2;
699 uint32_t payloadLen : 3;
700 uint32_t reserved : 10;
752 uint32_t quality : 8;
827 RCL_CmdBleCs_Tone tones[];
847 RCL_CmdBleCs_Tone tones[];
uint16_t procedureCounter
Definition: ble_cs.h:717
PCT compensation table for antenna/front-end delay.
Definition: ble_cs.h:612
uint16_t magnMin
Definition: ble_cs.h:515
uint8_t packetAntenna
Definition: ble_cs.h:796
uint8_t mode
Definition: ble_cs.h:237
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:2463
RCL_CMD_BLE_CS_Tpm_e
Enumerator of tPm duration options.
Definition: ble_cs.h:381
#define RCL_BLE_CS_NUM_RX_GAIN_LEVEL
Definition: ble_cs.h:106
int8_t pktRssi
Definition: ble_cs.h:248
uint16_t startAclConnectionEvent
Definition: ble_cs.h:716
RCL_CMD_BLE_CS_Payload_e
Enumerator of payload length.
Definition: ble_cs.h:439
uint8_t channel
Definition: ble_cs.h:837
uint8_t configID
Definition: ble_cs.h:736
int16_t measuredFreqOffset
Definition: ble_cs.h:781
uint16_t tStep
Definition: ble_cs.h:211
uint8_t mode
Definition: ble_cs.h:761
uint32_t payload0
Definition: ble_cs.h:283
RCL_CmdBleCs_PrecalTable * table
Definition: ble_cs.h:581
enum RCL_CMD_BLE_CS_ReportFormat_e RCL_CmdBleCs_ReportFormat
Definition: ble_cs.h:82
BLE Channel Sounding.
Definition: ble_cs.h:125
int16_t frequencyCompensation
Definition: ble_cs.h:718
RCL_CMD_BLE_CS_Tfcs_e
Enumerator of tFcs duration options.
Definition: ble_cs.h:368
enum RCL_CMD_BLE_CS_ToneQuality_e RCL_CmdBleCs_ToneQuality
Definition: ble_cs.h:79
Container format for mode-2 step results.
Definition: ble_cs.h:820
int16_t packetToF
Definition: ble_cs.h:843
uint8_t channel
Definition: ble_cs.h:762
BLE Channel Sounding QQ data.
Definition: ble_cs.h:222
uint8_t dataLength
Definition: ble_cs.h:838
uint8_t nRxNok
Definition: ble_cs.h:302
uint8_t mode
Definition: ble_cs.h:790
RCL_CMD_BLE_CS_Tip_e
Enumerator of tIp duration.
Definition: ble_cs.h:393
uint8_t packetAntenna
Definition: ble_cs.h:779
Container format for mode-3 step results.
Definition: ble_cs.h:834
uint8_t channelIdx
Definition: ble_cs.h:191
uint32_t payload3
Definition: ble_cs.h:286
uint8_t reserved1
Definition: ble_cs.h:312
int16_t tAntennaA
Definition: ble_cs.h:212
#define RCL_BLE_CS_MAX_PAYLOAD_SIZE
Definition: ble_cs.h:102
uint8_t numAntennaPath
Definition: ble_cs.h:723
enum RCL_CMD_BLE_CS_Phy_e RCL_CmdBleCs_Phy
Definition: ble_cs.h:68
uint8_t numAntennaPath
Definition: ble_cs.h:311
uint8_t nStepsWritten
Definition: ble_cs.h:298
Container format for a single step in the subevent.
Definition: ble_cs.h:693
BLE Channel Sounding S2R IQ Data.
Definition: ble_cs.h:278
uint8_t reserved5
Definition: ble_cs.h:246
enum RCL_CMD_BLE_CS_PacketResult_e RCL_CmdBleCs_PacketResult
Definition: ble_cs.h:71
int8_t referencePowerLevel
Definition: ble_cs.h:719
uint8_t subeventDoneStatus
Definition: ble_cs.h:721
uint8_t reserved2
Definition: ble_cs.h:196
struct RCL_CMD_BLE_CS_STEP_RESULTS_TONE_t __attribute__
Definition: RCLLPF3_Hal.c:519
uint8_t payloadLen
Definition: ble_cs.h:197
Container format for common section of step results.
Definition: ble_cs.h:759
RCL_CMD_BLE_CS_StepMode_e
Enumerator of step types.
Definition: ble_cs.h:343
RCL_CMD_BLE_CS_Role_e
Enumerator of role types.
Definition: ble_cs.h:332
uint8_t chSpacing
Definition: ble_cs.h:544
Index of the tx power table.
Definition: LRFLPF3.h:170
int8_t lastRssi
Definition: ble_cs.h:307
RCL_CMD_BLE_CS_ReportFormat_e
Enumerator of report format.
Definition: ble_cs.h:489
enum RCL_CMD_BLE_CS_Tfcs_e RCL_CmdBleCs_Tfcs
Definition: ble_cs.h:72
uint8_t antennaPacket
Definition: ble_cs.h:209
uint8_t reserved0
Definition: ble_cs.h:192
uint8_t packetAAQuality
Definition: ble_cs.h:809
enum RCL_CMD_BLE_CS_Role_e RCL_CmdBleCs_Role
Definition: ble_cs.h:69
int8_t packetRssi
Definition: ble_cs.h:795
uint8_t mode
Definition: ble_cs.h:836
uint8_t firstChannelIdx
Definition: ble_cs.h:613
uint8_t numAntennaPath
Definition: ble_cs.h:740
uint8_t nadm
Definition: ble_cs.h:841
RCL_CMD_BLE_CS_Tsw_e
Enumerator of antenna switch duration.
Definition: ble_cs.h:407
uint16_t connectionHandle
Definition: ble_cs.h:735
uint8_t nRxOk
Definition: ble_cs.h:301
uint8_t packetAntenna
Definition: ble_cs.h:813
enum RCL_CMD_BLE_CS_Tpm_e RCL_CmdBleCs_Tpm
Definition: ble_cs.h:73
uint16_t reserved4
Definition: ble_cs.h:214
uint8_t abortReason
Definition: ble_cs.h:722
uint8_t magnCoeff
Definition: ble_cs.h:604
uint16_t magnAvgdB
Definition: ble_cs.h:226
uint16_t antennaSequence
Definition: ble_cs.h:210
uint16_t reserved6
Definition: ble_cs.h:259
RCL_CmdBleCs_PrecalTable * precalTable
Definition: ble_cs.h:166
uint8_t phy
Definition: ble_cs.h:280
uint8_t reserved3
Definition: ble_cs.h:242
uint8_t antennaPermutationIndex
Definition: ble_cs.h:826
uint8_t dataLength
Definition: ble_cs.h:807
uint8_t nadm
Definition: ble_cs.h:810
RCL_CmdBleCs_PrecalCallback callback
Definition: ble_cs.h:539
#define RCL_BLE_CS_MAX_NUM_ANT_PATH
Definition: ble_cs.h:101
RCL_CmdBleCs_Stats * stats
Definition: ble_cs.h:168
uint8_t reserved0
Definition: ble_cs.h:236
uint8_t packetAntenna
Definition: ble_cs.h:844
int16_t foffComp
Definition: ble_cs.h:310
uint8_t dataLength
Definition: ble_cs.h:792
RCL_Command_TxPower txPower
Definition: ble_cs.h:159
#define RCL_BLE_CS_MAX_NUM_ANT
Definition: ble_cs.h:100
uint8_t numStepsReported
Definition: ble_cs.h:741
uint8_t toneExtension
Definition: ble_cs.h:239
BLE Channel Sounding Step Result.
Definition: ble_cs.h:234
uint16_t magnAvg
Definition: ble_cs.h:517
int16_t tAdjustA
Definition: ble_cs.h:200
RCL_CMD_BLE_CS_ToneExtensionSlot_e
Enumerator of tone extension slot.
Definition: ble_cs.h:477
uint8_t reserved1
Definition: ble_cs.h:194
enum RCL_CMD_BLE_CS_PacketAntenna_e RCL_CmdBleCs_PacketAntenna
Definition: ble_cs.h:83
uint8_t configID
Definition: ble_cs.h:715
uint16_t magnAvg
Definition: ble_cs.h:225
int8_t phaseStart
Definition: ble_cs.h:513
RCL_CMD_BLE_CS_PacketAntenna_e
Definition: ble_cs.h:661
int16_t lastFoff
Definition: ble_cs.h:308
enum RCL_CMD_BLE_CS_Nadm_e RCL_CmdBleCs_Nadm
Definition: ble_cs.h:84
uint8_t data[]
Definition: ble_cs.h:564
uint8_t nStepsDone
Definition: ble_cs.h:300
BLE Channel Sounding IQ Sample.
Definition: ble_cs.h:115
int16_t q
Definition: ble_cs.h:117
int16_t i
Definition: ble_cs.h:116
uint8_t channel
Definition: ble_cs.h:806
uint8_t gain
Definition: ble_cs.h:247
uint8_t procedureDoneStatus
Definition: ble_cs.h:737
uint16_t connectionHandle
Definition: ble_cs.h:714
uint8_t mode
Definition: ble_cs.h:822
Container format for mode-0 step results.
Definition: ble_cs.h:788
enum RCL_CMD_BLE_CS_ToneExtensionSlot_e RCL_CmdBleCs_ToneExtensionSlot
Definition: ble_cs.h:80
int16_t foffVal
Definition: ble_cs.h:164
BLE Channel Sounding S2R Sample type definition.
Definition: ble_cs.h:267
uint8_t nS2RDone
Definition: ble_cs.h:303
uint16_t magnMax
Definition: ble_cs.h:516
RCL_CMD_BLE_CS_ToneQuality_e
Enumerator of tone quality.
Definition: ble_cs.h:464
int16_t i
Definition: ble_cs.h:511
BLE Channel Sounding DC Sample.
Definition: ble_cs.h:510
uint32_t timestamp
Definition: ble_cs.h:540
#define RCL_BLE_CS_NUM_CORR
Definition: ble_cs.h:103
uint8_t dataLength
Definition: ble_cs.h:775
uint8_t channel
Definition: ble_cs.h:554
uint8_t dataLength
Definition: ble_cs.h:763
uint8_t payloadLen
Definition: ble_cs.h:241
uint32_t aaRx
Definition: ble_cs.h:207
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:733
uint8_t antennaPermIdx
Definition: ble_cs.h:257
RCL_Command common
Definition: ble_cs.h:126
RCL_CMD_BLE_CS_AntennaConfig_e
Enumerator of antenna configuration.
Definition: ble_cs.h:422
uint16_t magnMin
Definition: ble_cs.h:223
DC precalibration command.
Definition: ble_cs.h:579
RCL_Command common
Definition: ble_cs.h:580
uint32_t aaTx
Definition: ble_cs.h:206
uint16_t tPllRx
Definition: ble_cs.h:202
uint8_t antennaPacket
Definition: ble_cs.h:258
int16_t tAntennaB
Definition: ble_cs.h:213
uint16_t rtt
Definition: ble_cs.h:249
uint8_t idx
Definition: ble_cs.h:279
uint8_t reserved3
Definition: ble_cs.h:198
uint8_t packetAAQuality
Definition: ble_cs.h:794
int16_t q
Definition: ble_cs.h:512
uint8_t procedureDoneStatus
Definition: ble_cs.h:720
uint8_t antennaPermutationIndex
Definition: ble_cs.h:846
RCL_CMD_BLE_CS_PacketResult_e
Enumerator of packet status options.
Definition: ble_cs.h:356
int8_t phaseStop
Definition: ble_cs.h:514
RCL_CMD_BLE_CS_Nadm_e
Definition: ble_cs.h:668
uint8_t subeventCode
Definition: ble_cs.h:713
uint8_t channel
Definition: ble_cs.h:791
uint8_t lowThreshold
Definition: ble_cs.h:543
uint32_t payload1
Definition: ble_cs.h:284
uint8_t numStepsReported
Definition: ble_cs.h:724
int8_t packetRssi
Definition: ble_cs.h:778
int16_t tAdjustB
Definition: ble_cs.h:201
Container format for a batch of step results in the subevent (first segment)
Definition: ble_cs.h:712
uint8_t nMode0
Definition: ble_cs.h:304
uint32_t aaTx
Definition: ble_cs.h:701
uint32_t aaRx
Definition: ble_cs.h:702
Container format for mode-1 step results.
Definition: ble_cs.h:803
int16_t foffErr
Definition: ble_cs.h:199
int16_t packetToF
Definition: ble_cs.h:812
uint8_t channel
Definition: ble_cs.h:281
uint8_t abortReason
Definition: ble_cs.h:739
uint8_t dataLength
Definition: ble_cs.h:824
uint8_t payloadLen
Definition: ble_cs.h:282
uint8_t channel
Definition: ble_cs.h:823
BLE Channel Sounding Statistics.
Definition: ble_cs.h:297
uint16_t rxGain
Definition: ble_cs.h:309
uint8_t highThreshold
Definition: ble_cs.h:542
uint16_t magnMax
Definition: ble_cs.h:224
Container format for tones.
Definition: ble_cs.h:749
enum RCL_CMD_BLE_CS_Payload_e RCL_CmdBleCs_Payload
Definition: ble_cs.h:77
uint32_t word
Definition: ble_cs.h:268
uint8_t channelIdx
Definition: ble_cs.h:235
List_List stepBuffers
Definition: ble_cs.h:169
Channel entry for PCT compensation for antenna/front-end delay.
Definition: ble_cs.h:602
RCL_CMD_BLE_CS_Phy_e
Enumerator of phy types.
Definition: ble_cs.h:320
int8_t packetRssi
Definition: ble_cs.h:811
List_List resultBuffers
Definition: ble_cs.h:171
uint8_t subeventDoneStatus
Definition: ble_cs.h:738
uint8_t pktResult
Definition: ble_cs.h:245
Container format for mode-0 step results.
Definition: ble_cs.h:771
enum RCL_CMD_BLE_CS_StepMode_e RCL_CmdBleCs_StepMode
Definition: ble_cs.h:70
uint8_t mode
Definition: ble_cs.h:553
RCL_CmdBleCs_IQSample iq
Definition: ble_cs.h:270
uint8_t mode
Definition: ble_cs.h:805
uint8_t reserved1
Definition: ble_cs.h:238
uint8_t nMode0Ok
Definition: ble_cs.h:305
uint8_t nResultsRead
Definition: ble_cs.h:299
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:186
uint8_t reserved0
Definition: ble_cs.h:306
List_List stepBuffersDone
Definition: ble_cs.h:170
List_List s2rBuffersDone
Definition: ble_cs.h:174
uint8_t phaseDelay
Definition: ble_cs.h:603
uint8_t mode
Definition: ble_cs.h:773
RCL_CmdBleCs_IQSample dc
Definition: ble_cs.h:251
enum RCL_CMD_BLE_CS_Tip_e RCL_CmdBleCs_Tip
Definition: ble_cs.h:74
uint8_t antennaPermIdx
Definition: ble_cs.h:208
DC precalibration entry.
Definition: ble_cs.h:525
uint8_t channel
Definition: ble_cs.h:526
RCL_CmdBleCs_DCSample high
Definition: ble_cs.h:529
uint16_t reserved4
Definition: ble_cs.h:243
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:503
uint8_t reserved2
Definition: ble_cs.h:240
RCL_CMD_BLE_CS_Policy_e
Enumerator of policies.
Definition: ble_cs.h:453
int16_t temperature
Definition: ble_cs.h:541
List_List s2rBuffers
Definition: ble_cs.h:173
BLE Channel Sounding Step.
Definition: ble_cs.h:190
RCL_CmdBleCs_StepResult_Internal * results
Definition: ble_cs.h:167
uint8_t packetAAQuality
Definition: ble_cs.h:840
RCL_CmdBleCs_DCSample low
Definition: ble_cs.h:530
uint8_t packetAAQuality
Definition: ble_cs.h:777
int8_t packetRssi
Definition: ble_cs.h:842
List_List resultBuffersDone
Definition: ble_cs.h:172
DC precalibration table.
Definition: ble_cs.h:538
uint8_t toneExtension
Definition: ble_cs.h:195
uint32_t payload2
Definition: ble_cs.h:285
uint8_t subeventCode
Definition: ble_cs.h:734
uint16_t rxGainVal
Definition: ble_cs.h:163
uint8_t mode
Definition: ble_cs.h:193
enum RCL_CMD_BLE_CS_AntennaConfig_e RCL_CmdBleCs_AntennaConfig
Definition: ble_cs.h:76
uint16_t reserved
Definition: ble_cs.h:288
uint16_t iqLength
Definition: ble_cs.h:287
uint8_t channel
Definition: ble_cs.h:774
int16_t foffMeasured
Definition: ble_cs.h:244