|
Radio Control Layer (RCL)
|
#include <ti/drivers/rcl/RCL_Command.h>#include <ti/drivers/rcl/RCL_Buffer.h>#include <ti/drivers/rcl/handlers/ble_cs.h>#include <ti/drivers/utils/List.h>
Include dependency graph for ble_cs.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | RCL_CmdBleCs |
| BLE Channel Sounding. More... | |
| struct | RCL_CmdBleCs_Step |
| BLE Channel Sounding Step. More... | |
| struct | IQSample |
| BLE Channel Sounding IQ Sample. More... | |
| struct | MagnData |
| BLE Channel Sounding QQ data. More... | |
| struct | RCL_CmdBleCs_StepResult |
| BLE Channel Sounding Step Result. More... | |
| union | S2RSample |
| BLE Channel Sounding S2R Sample type definition. More... | |
| struct | RCL_CmdBleCs_S2r |
| BLE Channel Sounding S2R IQ Data. More... | |
| struct | RCL_CmdBleCs_Output |
| BLE Channel Sounding Output Parameters. More... | |
| struct | RCL_CMD_BLE_CS_t.mode |
| struct | RCL_CMD_BLE_CS_t.antennaConfig |
| struct | RCL_CMD_BLE_CS_t.timing |
| struct | RCL_CMD_BLE_CS_t.frontend |
| struct | RCL_CMD_BLE_CS_STEP_t.options |
Macros | |
| #define | RCL_CMDID_BLE_CS 0x1001U |
| #define | RCL_BLE_CS_US_TO_MCE_TIMER(x) ((x)*48) |
| #define | RCL_BLE_CS_US_TO_PBE_TIMER(x) ((x)*4) |
| #define | RCL_BLE_CS_MCE_TIMER_TO_US(x) ((x)/48) |
| #define | RCL_BLE_CS_PBE_TIMER_TO_US(x) ((x)/4) |
| #define | RCL_BLE_CS_MCE_TIMER_TO_PBE_TIMER(x) ((x)/12) |
| #define | RCL_BLE_CS_MAX_NUM_ANT 4 |
| #define | RCL_BLE_CS_MAX_NUM_ANT_PATH 5 |
| #define | RCL_BLE_CS_MAX_PAYLOAD_SIZE 4 |
| #define | RCL_BLE_CS_NUM_CORR 3 |
| #define | RCL_BLE_CS_NUM_STIM 2 |
| #define | RCL_BLE_CS_LEN_S2R 512 |
| #define | RCL_CmdBleCs_Default() |
| #define | RCL_CmdBleCs_DefaultRuntime() (RCL_CmdBleCs) RCL_CmdBleCs_Default() |
Typedefs | |
| typedef enum RCL_CMD_BLE_CS_Phy_e | RCL_CmdBleCs_Phy |
| typedef enum RCL_CMD_BLE_CS_Role_e | RCL_CmdBleCs_Role |
| typedef enum RCL_CMD_BLE_CS_StepMode_e | RCL_CmdBleCs_StepMode |
| typedef enum RCL_CMD_BLE_CS_PacketResult_e | RCL_CmdBleCs_PacketResult |
| typedef enum RCL_CMD_BLE_CS_Tfcs_e | RCL_CmdBleCs_Tfcs |
| typedef enum RCL_CMD_BLE_CS_Tpm_e | RCL_CmdBleCs_Tpm |
| typedef enum RCL_CMD_BLE_CS_Tip_e | RCL_CmdBleCs_Tip |
| typedef enum RCL_CMD_BLE_CS_Tsw_e | RCL_CmdBleCs_Tsw |
| typedef enum RCL_CMD_BLE_CS_AntennaConfig_e | RCL_CmdBleCs_AntennaConfig |
| typedef enum RCL_CMD_BLE_CS_Payload_e | RCL_CmdBleCs_Payload |
| struct RCL_CMD_BLE_CS_t |
BLE Channel Sounding.
Command to execute a BLE Channel Sounding event
| Data Fields | ||
|---|---|---|
| RCL_Command | common | |
| struct RCL_CMD_BLE_CS_t | mode | |
| struct RCL_CMD_BLE_CS_t | antennaConfig | |
| struct RCL_CMD_BLE_CS_t | timing | |
| struct RCL_CMD_BLE_CS_t | frontend | |
| uint16_t | reserved1 | |
| RCL_CmdBleCs_Step * | steps |
Pointer to step list |
| RCL_CmdBleCs_StepResult * | results |
Pointer to result list |
| RCL_CmdBleCs_S2r * | s2rResults |
Pointer to container list |
| RCL_CmdBleCs_Output * | output |
Pointer to statistics |
| struct RCL_CMD_BLE_CS_STEP_t |
BLE Channel Sounding Step.
Descriptor to configure a single step within the BLE Channel Sounding Event
| Data Fields | ||
|---|---|---|
| uint16_t | channelIdx |
Integer index of channel information (0: 2400MHz) |
| uint16_t | mode |
Step mode RCL_CmdBleCs_StepMode |
| struct RCL_CMD_BLE_CS_STEP_t | options | |
| uint16_t | foffErr |
Internal! Used for frequency offset compensation |
| uint16_t | tAdjustA |
Internal! Used for timegrid adjustment |
| uint16_t | tAdjustB |
Internal! Used for timegrid adjustment |
| uint16_t | reserved0 | |
| uint16_t | payloadLen |
Length of payload in units of 32bit words RCL_CmdBleCs_Payload |
| uint32_t | payloadTx[RCL_BLE_CS_MAX_PAYLOAD_SIZE] |
Payload to transmit containing random bit sequence (TX) |
| uint32_t | payloadRx[RCL_BLE_CS_MAX_PAYLOAD_SIZE] |
Expected payload to receive containing random bit sequence (RX) |
| uint32_t | aaTx |
Access Address to be transmitted |
| uint32_t | aaRx |
Access Address to be received |
| uint16_t | antennaPermIdx |
Index of entry to be used from the antenna permutation table RCL_CmdBleCs_AntennaConfig |
| uint16_t | antennaSequence |
Internal! Decoded antenna control sequence based on permutation table |
| uint16_t | tStep |
Internal! The total duration of step dynamically calculated |
| uint16_t | tAntenna |
Internal! The duration of optional payload, if any. Needed for antenna timing adjustment |
| struct IQSample |
| struct MagnData |
BLE Channel Sounding QQ data.
Container to store RSSI data for postprocess of the quality of tone
| struct RCL_CMD_BLE_CS_STEP_RESULT_t |
BLE Channel Sounding Step Result.
Container to store the results of a single step within the BLE Channel Sounding Event
Collaboration diagram for RCL_CmdBleCs_StepResult:| Data Fields | ||
|---|---|---|
| uint16_t | pktResult |
Result of packet reception RCL_CmdBleCs_PacketResult |
| int16_t | foffMeasured |
Frequency offset between devices (only set on Initiator Mode 0) |
| uint16_t | rtt |
RTT timestamp |
| uint16_t | corr[RCL_BLE_CS_NUM_CORR] |
Correlator values |
| uint16_t | stim[RCL_BLE_CS_NUM_STIM] |
STIM values: time offset, gardner error |
| IQSample | dc |
DC offset measured on packet |
| IQSample | pct[RCL_BLE_CS_MAX_NUM_ANT_PATH] |
Phase Correction Terms per antenna path (incl. extension) |
| uint32_t | payload[RCL_BLE_CS_MAX_PAYLOAD_SIZE] |
Payload containing random bit sequence (RX) |
| MagnData | magn[RCL_BLE_CS_MAX_NUM_ANT_PATH] |
Received magnitude data of tone per antenna path for quality estimation (incl. extension) |
| union S2RSample |
BLE Channel Sounding S2R Sample type definition.
One S2R sample can be interpreted multiple ways, depending of the signal source
Collaboration diagram for S2RSample:| Data Fields | ||
|---|---|---|
| uint32_t | word |
Sample format for copying data |
| uint8_t | byte[4] |
Sample format of the Decimation Stage |
| IQSample | iq |
Sample format of the Front End Stage |
| struct RCL_CMD_BLE_CS_S2R_t |
BLE Channel Sounding S2R IQ Data.
Container to store raw S2R samples of a BLE Channel Sounding Step
Collaboration diagram for RCL_CmdBleCs_S2r:| Data Fields | ||
|---|---|---|
| uint16_t | idx |
The index of entry in the step list which the data belongs to |
| uint16_t | length |
Number of valid samples in data |
| S2RSample | data[RCL_BLE_CS_LEN_S2R] |
Raw samples captured |
| struct RCL_CMD_BLE_CS_OUTPUT_t |
BLE Channel Sounding Output Parameters.
Container to store the statistical outputs of the BLE Channel Sounding Event
| struct RCL_CMD_BLE_CS_t.mode |
| Data Fields | ||
|---|---|---|
| uint16_t | role:1 |
Role of the device RCL_CmdBleCs_Role |
| uint16_t | phy:1 |
Phy used for packet exchange RCL_CmdBleCs_Phy |
| uint16_t | repeatSteps:1 |
Enable continuous repetition of step list |
| uint16_t | chFilterEnable:1 |
Enable filtering restricted channels (2402, 2403, 2425, 2426, 2427, 2479, 2480 MHz) |
| uint16_t | nS2R:4 |
Total number of Samples-To-Ram containers in the list |
| uint16_t | nSteps:8 |
Total number of steps within the BLE CS Sub-Event |
| struct RCL_CMD_BLE_CS_t.antennaConfig |
| Data Fields | ||
|---|---|---|
| uint8_t | select |
Antenna pattern selection by index RCL_CmdBleCs_AntennaConfig |
| uint8_t | gpoMask |
Mask of GPOs on the LRF controlling the antennas |
| uint8_t | gpoVal[RCL_BLE_CS_MAX_NUM_ANT] |
GPOCTRL word for antenna path 0..3 |
| struct RCL_CMD_BLE_CS_t.timing |
| Data Fields | ||
|---|---|---|
| uint16_t | tFcs |
Config of time of Frequency Change period RCL_CmdBleCs_Tfcs |
| uint16_t | tFm |
Config of time of Frequency Measurement period |
| uint16_t | tPm |
Config of time of Phase Measurement Duration RCL_CmdBleCs_Tpm |
| uint16_t | tIp1 |
Config of time of Interlude Period 1 RCL_CmdBleCs_Tip |
| uint16_t | tIp2 |
Config of time of Interlude Period 2 RCL_CmdBleCs_Tip |
| uint16_t | reserved | |
| uint16_t | tSw |
Config of time of Antenna Switching duration RCL_CmdBleCs_Tsw |
| uint16_t | tSwAdjustA |
Time adjustment of first set of antenna switching within a step |
| uint16_t | tSwAdjustB |
Time adjustment of second set of antenna switching within a step |
| struct RCL_CMD_BLE_CS_t.frontend |
| struct RCL_CMD_BLE_CS_STEP_t.options |
| #define RCL_CMDID_BLE_CS 0x1001U |
| #define RCL_BLE_CS_US_TO_MCE_TIMER | ( | x | ) | ((x)*48) |
| #define RCL_BLE_CS_US_TO_PBE_TIMER | ( | x | ) | ((x)*4) |
| #define RCL_BLE_CS_MCE_TIMER_TO_US | ( | x | ) | ((x)/48) |
| #define RCL_BLE_CS_PBE_TIMER_TO_US | ( | x | ) | ((x)/4) |
| #define RCL_BLE_CS_MCE_TIMER_TO_PBE_TIMER | ( | x | ) | ((x)/12) |
| #define RCL_BLE_CS_MAX_NUM_ANT 4 |
| #define RCL_BLE_CS_MAX_NUM_ANT_PATH 5 |
| #define RCL_BLE_CS_MAX_PAYLOAD_SIZE 4 |
| #define RCL_BLE_CS_NUM_CORR 3 |
| #define RCL_BLE_CS_NUM_STIM 2 |
| #define RCL_BLE_CS_LEN_S2R 512 |
| #define RCL_CmdBleCs_Default | ( | ) |
| #define RCL_CmdBleCs_DefaultRuntime | ( | ) | (RCL_CmdBleCs) RCL_CmdBleCs_Default() |
| typedef enum RCL_CMD_BLE_CS_Phy_e RCL_CmdBleCs_Phy |
| typedef enum RCL_CMD_BLE_CS_Role_e RCL_CmdBleCs_Role |
| typedef enum RCL_CMD_BLE_CS_StepMode_e RCL_CmdBleCs_StepMode |
| typedef enum RCL_CMD_BLE_CS_PacketResult_e RCL_CmdBleCs_PacketResult |
| typedef enum RCL_CMD_BLE_CS_Tfcs_e RCL_CmdBleCs_Tfcs |
| typedef enum RCL_CMD_BLE_CS_Tpm_e RCL_CmdBleCs_Tpm |
| typedef enum RCL_CMD_BLE_CS_Tip_e RCL_CmdBleCs_Tip |
| typedef enum RCL_CMD_BLE_CS_Tsw_e RCL_CmdBleCs_Tsw |
| typedef enum RCL_CMD_BLE_CS_AntennaConfig_e RCL_CmdBleCs_AntennaConfig |
| typedef enum RCL_CMD_BLE_CS_Payload_e RCL_CmdBleCs_Payload |
| enum RCL_CMD_BLE_CS_Phy_e |
Enumerator of packet status options.
Describes the available packet status words
| enum RCL_CMD_BLE_CS_Tpm_e |
| enum RCL_CMD_BLE_CS_Tip_e |
| enum RCL_CMD_BLE_CS_Tsw_e |
Enumerator of antenna configuration.
Describes the available values for configuration of antenna control for PCT measurement.