Radio Control Layer (RCL)
|
#include <stdint.h>
#include <stdlib.h>
#include <ti/log/Log.h>
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/drivers/rcl/RCL_Buffer.h>
#include <ti/drivers/rcl/RCL_Scheduler.h>
#include <ti/drivers/rcl/hal/hal.h>
#include <ti/drivers/rcl/commands/ble_cs.h>
#include <ti/devices/DeviceFamily.h>
Data Structures | |
union | RCL_AntennaPath_t |
struct | RCL_AntennaConfig_t |
union | RCL_PctConfig_t |
union | RCL_MagnConfig_t |
struct | RCL_Tadjust_t |
struct | RCL_PhyConfig_t |
struct | .common |
struct | .ble_cs |
struct | RCL_AntennaPath_t.a |
struct | RCL_PctConfig_t.__unnamed__ |
struct | RCL_MagnConfig_t.__unnamed__ |
Macros | |
#define | BLE_CS_BASE_FREQ_MHZ 2400 |
#define | BLE_CS_MIN_CHANNEL 2 |
#define | BLE_CS_MAX_CHANNEL 80 |
#define | BLE_CS_NUM_CHANNELS 90 |
#define | BLE_CS_NUM_INVALID_CHANNELS 7 |
#define | BLE_CS_SILENT_CHANNEL 100 |
#define | BLE_CS_NUM_PERMUTATION 24 |
#define | BLE_CS_S2R_OVERSAMPLE_RATE 4 |
#define | BLE_CS_FIRST_BATCH_SIZE 1 |
#define | DECODE_ANTENNA(x, y) (((x) >> ((y)*2)) & 0x03) |
#define | ENCODE_ANTENNA(x, y) (((x) << ((y)*4))) |
#define | TRD 240 |
#define | TGD 480 |
#define | TPLT 960 |
#define | TPYL 0 |
#define | T9 432 |
#define | T8 384 |
#define | BLE_CS_S2R_SAMPLE_INCREMENT 32 |
#define | BLE_CS_S2R_SAMPLE_SIZE 4 |
Functions | |
static void | RCL_Handler_BLE_CS_configureTxRxFIFO (RCL_CmdBleCs *pCmd) |
static void | RCL_Handler_BLE_CS_fillTxBuffer (RCL_CmdBleCs *pCmd) |
static void | RCL_Handler_BLE_CS_readRxBuffer (RCL_CmdBleCs *pCmd) |
static void | RCL_Handler_BLE_CS_configureS2R (RCL_CmdBleCs *pCmd) |
static void | RCL_Handler_BLE_CS_readS2RSamples (RCL_CmdBleCs *pCmd) |
static void | RCL_Handler_BLE_CS_readStatistics (RCL_CmdBleCs *pCmd) |
static void | RCL_Handler_BLE_CS_preprocessCommand (RCL_CmdBleCs *pCmd) |
static RCL_CmdBleCs_Step * | RCL_Handler_BLE_CS_fetchNextStep (RCL_CmdBleCs *pCmd) |
static RCL_CmdBleCs_Step * | RCL_Handler_BLE_CS_preprocessStep (RCL_CmdBleCs *pCmd, RCL_CmdBleCs_Step *pStep) |
static RCL_CmdBleCs_StepResult * | RCL_Handler_BLE_CS_fetchNextStepResult (RCL_CmdBleCs *pCmd) |
static RCL_CommandStatus | RCL_Handler_BLE_CS_findPbeErrorEndStatus (uint16_t pbeEndStatus) |
RCL_Events | RCL_Handler_BLE_CS (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn) |
Variables | |
struct { | |
struct { | |
RCL_CommandStatus | endStatus |
} | common |
struct { | |
uint32_t | startTime |
} | ble_cs |
} | bleCsHandlerState |
uint32_t | tStepLut [RCL_CmdBleCs_StepMode_Length+1] |
uint16_t | tAdjALut [RCL_CmdBleCs_StepMode_Length] |
uint16_t | tAdjBLut [RCL_CmdBleCs_StepMode_Length] |
uint16_t | tAntennaAdjLut [RCL_CmdBleCs_StepMode_Length] |
uint16_t | tInfiniteRxAdj |
const RCL_AntennaPath_t | antennaPermutation [BLE_CS_NUM_PERMUTATION] |
const RCL_AntennaConfig_t | antennaConfig [RCL_CmdBleCs_AntennaConfig_Length] |
const RCL_PhyConfig_t | phyConfigLut [RCL_CmdBleCs_Phy_Length] |
const int8_t | foffErrorLut [BLE_CS_NUM_CHANNELS] |
const uint8_t | channelFilter [BLE_CS_NUM_INVALID_CHANNELS] |
const uint16_t | payloadLut [RCL_CmdBleCs_Payload_Length] |
union RCL_AntennaPath_t |
Data Fields | ||
---|---|---|
struct RCL_AntennaPath_t | a | |
uint8_t | apn |
struct RCL_AntennaConfig_t |
Data Fields | ||
---|---|---|
uint8_t | numPath: 3 |
Total number of antenna path |
uint8_t | numPerm: 5 |
Total number of permutation possible with this configuration |
uint8_t | increment |
How to index the permutation table |
RCL_AntennaPath_t | ap[2] |
union RCL_PctConfig_t |
Data Fields | ||
---|---|---|
struct RCL_PctConfig_t | __unnamed__ | |
uint16_t | val |
union RCL_MagnConfig_t |
Data Fields | ||
---|---|---|
struct RCL_MagnConfig_t | __unnamed__ | |
uint16_t | val |
struct RCL_Tadjust_t |
struct RCL_PhyConfig_t |
Data Fields | ||
---|---|---|
uint16_t | baud | |
uint16_t | symmap | |
uint16_t | demmisc3 | |
uint16_t | tPostProcessDiv1 |
Duration set aside for post processing |
uint16_t | tPostProcessDiv12 |
Duration set aside for post processing |
uint16_t | tRxTimeoutI0 |
Initiator must terminate packet reception before end of step |
uint16_t | tRxTimeoutI3 |
Initiator must terminate packet reception before end of step |
int16_t | tPilotAdjust |
Pilot tone need to be adjusted with shaper delay |
uint16_t | tStartup |
Duration set aside for starting up the topSMs and start to emit a tone on the antenna |
uint16_t | tPacket |
Duration of packet [preamble + AA + Trailer] |
uint16_t | tRxTimeoutRn |
Reception timeout on reflector side |
uint16_t | tInfiniteRx | |
uint16_t | tTr | |
uint16_t | tCorr | |
uint16_t | tDem | |
uint16_t | tFidc | |
uint16_t | tTxModDelay | |
uint16_t | tAntennaAdj | |
RCL_PctConfig_t | pctConfig[RCL_CmdBleCs_Tpm_Length] | |
RCL_MagnConfig_t | magnConfig[RCL_CmdBleCs_Tpm_Length] | |
RCL_Tadjust_t | tAdj[RCL_CmdBleCs_Role_Length] |
struct .common |
Data Fields | ||
---|---|---|
RCL_CommandStatus | endStatus |
struct RCL_PctConfig_t.__unnamed__ |
#define BLE_CS_BASE_FREQ_MHZ 2400 |
#define BLE_CS_MIN_CHANNEL 2 |
#define BLE_CS_MAX_CHANNEL 80 |
#define BLE_CS_NUM_CHANNELS 90 |
#define BLE_CS_NUM_INVALID_CHANNELS 7 |
#define BLE_CS_SILENT_CHANNEL 100 |
#define BLE_CS_NUM_PERMUTATION 24 |
#define BLE_CS_S2R_OVERSAMPLE_RATE 4 |
#define BLE_CS_FIRST_BATCH_SIZE 1 |
#define DECODE_ANTENNA | ( | x, | |
y | |||
) | (((x) >> ((y)*2)) & 0x03) |
#define ENCODE_ANTENNA | ( | x, | |
y | |||
) | (((x) << ((y)*4))) |
#define TRD 240 |
#define TGD 480 |
#define TPLT 960 |
#define TPYL 0 |
#define T9 432 |
#define T8 384 |
#define BLE_CS_S2R_SAMPLE_INCREMENT 32 |
#define BLE_CS_S2R_SAMPLE_SIZE 4 |
|
static |
Referenced by RCL_Handler_BLE_CS().
|
static |
References BLE_CS_FIRST_BATCH_SIZE, RCL_Handler_BLE_CS_fetchNextStep(), and RCL_Handler_BLE_CS_preprocessStep().
Referenced by RCL_Handler_BLE_CS().
|
static |
References RCL_CmdBleCs_PacketResult_Ok, and RCL_Handler_BLE_CS_fetchNextStepResult().
Referenced by RCL_Handler_BLE_CS().
|
static |
References LRF_CLK_ENA_RCL, and LRF_setClockEnable().
Referenced by RCL_Handler_BLE_CS().
|
static |
References BLE_CS_S2R_OVERSAMPLE_RATE, BLE_CS_S2R_SAMPLE_INCREMENT, and S2R_RAM_BASE_ADDR.
Referenced by RCL_Handler_BLE_CS().
|
static |
Referenced by RCL_Handler_BLE_CS().
|
static |
References antennaConfig, RCL_PhyConfig_t::baud, RCL_PhyConfig_t::demmisc3, LRF_CLK_ENA_RCL, LRF_setClockEnable(), RCL_PhyConfig_t::magnConfig, RCL_Tadjust_t::mode0, RCL_Tadjust_t::mode1, RCL_Tadjust_t::mode2, RCL_Tadjust_t::mode3, RCL_AntennaConfig_t::numPath, RCL_PhyConfig_t::pctConfig, phyConfigLut, RCL_BLE_CS_US_TO_MCE_TIMER, RCL_CmdBleCs_Role_Initiator, RCL_CmdBleCs_StepMode_0, RCL_CmdBleCs_StepMode_1, RCL_CmdBleCs_StepMode_2, RCL_CmdBleCs_StepMode_3, RCL_CmdBleCs_StepMode_Length, RCL_CmdBleCs_Tpm_10us, RCL_CmdBleCs_Tpm_20us, RCL_CmdBleCs_Tpm_40us, RCL_PhyConfig_t::symmap, RCL_PhyConfig_t::tAdj, tAdjALut, tAdjBLut, RCL_PhyConfig_t::tAntennaAdj, tAntennaAdjLut, RCL_PhyConfig_t::tCorr, RCL_PhyConfig_t::tDem, RCL_PhyConfig_t::tFidc, TGD, RCL_PhyConfig_t::tInfiniteRx, tInfiniteRxAdj, RCL_PhyConfig_t::tPacket, RCL_PhyConfig_t::tPilotAdjust, TPLT, RCL_PhyConfig_t::tPostProcessDiv1, RCL_PhyConfig_t::tPostProcessDiv12, TPYL, TRD, RCL_PhyConfig_t::tRxTimeoutI0, RCL_PhyConfig_t::tRxTimeoutI3, RCL_PhyConfig_t::tRxTimeoutRn, RCL_PhyConfig_t::tStartup, tStepLut, RCL_PhyConfig_t::tTr, RCL_PhyConfig_t::tTxModDelay, RCL_PctConfig_t::val, and RCL_MagnConfig_t::val.
Referenced by RCL_Handler_BLE_CS().
|
static |
Referenced by RCL_Handler_BLE_CS_fillTxBuffer().
|
static |
References antennaConfig, antennaPermutation, RCL_AntennaConfig_t::ap, RCL_AntennaPath_t::apn, BLE_CS_MAX_CHANNEL, BLE_CS_SILENT_CHANNEL, channelFilter, DECODE_ANTENNA, ENCODE_ANTENNA, foffErrorLut, RCL_AntennaConfig_t::increment, RCL_AntennaConfig_t::numPath, RCL_AntennaConfig_t::numPerm, payloadLut, RCL_BLE_CS_MCE_TIMER_TO_PBE_TIMER, RCL_CmdBleCs_Role_Reflector, RCL_CmdBleCs_StepMode_0, RCL_CmdBleCs_StepMode_1, RCL_CmdBleCs_StepMode_3, RCL_CmdBleCs_StepMode_Length, tAdjALut, tAdjBLut, tAntennaAdjLut, tInfiniteRxAdj, and tStepLut.
Referenced by RCL_Handler_BLE_CS_fillTxBuffer().
|
static |
Referenced by RCL_Handler_BLE_CS_readRxBuffer().
|
static |
RCL_Events RCL_Handler_BLE_CS | ( | RCL_Command * | cmd, |
LRF_Events | lrfEvents, | ||
RCL_Events | rclEventsIn | ||
) |
References bleCsHandlerState, LRF_disable(), LRF_disableSynthRefsys(), LRF_enable(), LRF_enableSynthRefsys(), LRF_EventOpDone, LRF_EventOpError, LRF_EventRxfifo, LRF_EventTxCtrlAck, LRF_EventTxfifo, LRF_waitForTopsmReady(), RCL_CommandStatus_Active, RCL_CommandStatus_Finished, RCL_Handler_BLE_CS_configureS2R(), RCL_Handler_BLE_CS_configureTxRxFIFO(), RCL_Handler_BLE_CS_fillTxBuffer(), RCL_Handler_BLE_CS_findPbeErrorEndStatus(), RCL_Handler_BLE_CS_preprocessCommand(), RCL_Handler_BLE_CS_readRxBuffer(), RCL_Handler_BLE_CS_readS2RSamples(), RCL_Handler_BLE_CS_readStatistics(), and RCL_Scheduler_setStartStopTimeEarliestStart().
struct { ... } bleCsHandlerState |
Referenced by RCL_Handler_BLE_CS().
uint32_t tStepLut[RCL_CmdBleCs_StepMode_Length+1] |
Referenced by RCL_Handler_BLE_CS_preprocessCommand(), and RCL_Handler_BLE_CS_preprocessStep().
uint16_t tAdjALut[RCL_CmdBleCs_StepMode_Length] |
Referenced by RCL_Handler_BLE_CS_preprocessCommand(), and RCL_Handler_BLE_CS_preprocessStep().
uint16_t tAdjBLut[RCL_CmdBleCs_StepMode_Length] |
Referenced by RCL_Handler_BLE_CS_preprocessCommand(), and RCL_Handler_BLE_CS_preprocessStep().
uint16_t tAntennaAdjLut[RCL_CmdBleCs_StepMode_Length] |
Referenced by RCL_Handler_BLE_CS_preprocessCommand(), and RCL_Handler_BLE_CS_preprocessStep().
uint16_t tInfiniteRxAdj |
Referenced by RCL_Handler_BLE_CS_preprocessCommand(), and RCL_Handler_BLE_CS_preprocessStep().
const RCL_AntennaPath_t antennaPermutation[BLE_CS_NUM_PERMUTATION] |
Referenced by RCL_Handler_BLE_CS_preprocessStep().
const RCL_AntennaConfig_t antennaConfig[RCL_CmdBleCs_AntennaConfig_Length] |
Referenced by RCL_Handler_BLE_CS_preprocessCommand(), and RCL_Handler_BLE_CS_preprocessStep().
const RCL_PhyConfig_t phyConfigLut[RCL_CmdBleCs_Phy_Length] |
Referenced by RCL_Handler_BLE_CS_preprocessCommand().
const int8_t foffErrorLut[BLE_CS_NUM_CHANNELS] |
Referenced by RCL_Handler_BLE_CS_preprocessStep().
const uint8_t channelFilter[BLE_CS_NUM_INVALID_CHANNELS] |
Referenced by RCL_Handler_BLE_CS_preprocessStep().
const uint16_t payloadLut[RCL_CmdBleCs_Payload_Length] |
Referenced by RCL_Handler_BLE_CS_preprocessStep().