Radio Control Layer (RCL)
ble_cs.c File Reference
#include <stdint.h>
#include <stdlib.h>
#include <string.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/RCL_Hal.h>
#include <ti/drivers/rcl/commands/ble_cs.h>
#include <ti/devices/DeviceFamily.h>
+ Include dependency graph for ble_cs.c:

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   2402U
 
#define BLE_CS_MAX_CHANNEL   78U
 
#define BLE_CS_MID_CHANNEL   40U
 
#define BLE_CS_NUM_CHANNELS   79U
 
#define BLE_CS_NUM_INVALID_CHANNELS   7U
 
#define BLE_CS_SILENT_CHANNEL   100U
 
#define BLE_CS_NUM_PERMUTATION   24U
 
#define BLE_CS_S2R_OVERSAMPLE_RATE   4U
 
#define BLE_CS_S2R_MEMORY_OFFSET   0x0C00U
 
#define BLE_CS_TXFIFO_BASE_ADDR   128U
 
#define BLE_CS_TXFIFO_LEN   96U
 
#define BLE_CS_RXFIFO_BASE_ADDR   224U
 
#define BLE_CS_RXFIFO_LEN   160U
 
#define BLE_CS_FIRST_BATCH_SIZE   2U
 
#define BLE_CS_TONE_QUALITY_HIGH_THR   20U
 
#define BLE_CS_TONE_QUALITY_NA   255U
 
#define BLE_CS_TONE_EXTENSION_INITIATOR_TX   0b01U
 
#define BLE_CS_TONE_EXTENSION_REFLECTOR_TX   0b10U
 
#define BLE_CS_RX_GAIN_AUTO_DEFAULT   0x0EC9
 
#define BLE_CS_RX_GAIN_DB_TO_OVERRIDE(x)   (((x) / 3U) << 8U)
 
#define BLE_CS_FOFF_COMP_TO_OVERRIDE(x)   ((x) * 4U)
 
#define BLE_CS_FOFF_NUM_OVERRIDE   ((1 << 15U) | 1U)
 
#define BLE_CS_COMBINE_IQ(i, q)   ((((int32_t) i) & 0xFFFF) | ((((int32_t) q) & 0xFFFF) << 16))
 
#define DECODE_ANTENNA(x, y)   (uint8_t) (((x) >> ((y)*2U)) & 0x03U)
 
#define ENCODE_ANTENNA(x, y)   (((x) << ((y)*4U)))
 
#define INT16_MSB(x)   (uint8_t) (((uint16_t) (x) >> 8U) & 0xFFU)
 
#define INT16_LSB(x)   (uint8_t) ((uint16_t) (x) & 0xFFU)
 
#define INT32_H(x)   (uint16_t) (((uint32_t) (x) >> 16U) & 0xFFFFU)
 
#define INT32_L(x)   (uint16_t) ((uint32_t) (x) & 0xFFFFU)
 
#define T1US   RCL_BLE_CS_US_TO_MCE_TIMER(1U)
 
#define T3US   RCL_BLE_CS_US_TO_MCE_TIMER(3U)
 
#define TRD   RCL_BLE_CS_US_TO_MCE_TIMER(5U)
 
#define TGD   RCL_BLE_CS_US_TO_MCE_TIMER(10U)
 
#define TPLT   RCL_BLE_CS_US_TO_MCE_TIMER(20U)
 
#define TFM   RCL_BLE_CS_US_TO_MCE_TIMER(80U)
 
#define TPYL   0U
 
#define A1   (0)
 
#define A2   (1)
 
#define A3   (2)
 
#define A4   (3)
 
#define PI_div2   (int16_t) (1 << (16-2))
 
#define NBITS   (14U)
 
#define K14   (9949)
 
#define DCFILTER   1
 

Functions

 __attribute__ ((weak)) const
 
static bool RCL_Handler_BLE_CS_transferFinishedBuffers (List_List *pSrc, List_List *pDst, bool forceBufferToFinishState)
 
static void RCL_Handler_BLE_CS_configureTxRxFifo (RCL_CmdBleCs *pCmd)
 
static RCL_Events RCL_Handler_BLE_CS_preFillTxBuffer (RCL_CmdBleCs *pCmd)
 
static void RCL_Handler_BLE_CS_fetchAndforwardNextStep (RCL_CmdBleCs *pCmd)
 
static void RCL_Handler_BLE_CS_retrieveAndStoreNextResult (RCL_CmdBleCs *pCmd, bool forceBufferToFinishState)
 
static RCL_Events RCL_Handler_BLE_CS_readWriteBuffer (RCL_CmdBleCs *pCmd, bool forceBufferToFinishState)
 
static void RCL_Handler_BLE_CS_configureS2R (RCL_CmdBleCs *pCmd)
 
RCL_Events 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 void RCL_Handler_BLE_CS_preprocessStep (RCL_CmdBleCs *pCmd, RCL_CmdBleCs_Step *pStep, RCL_CmdBleCs_Step_Internal *pStepI)
 
static RCL_CmdBleCs_StepResult_Internal * RCL_Handler_BLE_CS_fetchNextStepResult (RCL_CmdBleCs *pCmd)
 
static void RCL_Handler_BLE_CS_updateCache (RCL_CmdBleCs *pCmd)
 
static int16_t RCL_Handler_BLE_CS_convertFreqOffset (int16_t foffMeasured, bool ceil)
 
static int16_t RCL_Handler_BLE_CS_convertRtt (RCL_CmdBleCs *pCmd, RCL_CmdBleCs_StepMode mode, uint8_t channel, uint8_t payloadLen, bool secondToneExtensionSlot, uint32_t rtt, uint16_t corrBefore, uint16_t corrPeak, uint16_t corrAfter)
 
void RCL_Handler_BLE_CS_rotateVector (int16_t *pct_i, int16_t *pct_q, int16_t theta)
 
static uint32_t RCL_Handler_BLE_CS_convertPct (const RCL_CmdBleCs_IQSample *pPct, const uint8_t channelIdx, bool inlinePhase)
 
static uint8_t RCL_Handler_BLE_CS_calcQ3 (uint16_t qMin, uint16_t qMax, uint16_t qAvg)
 
static uint8_t RCL_Handler_BLE_CS_convertPctQuality (uint16_t qMin, uint16_t qMax, uint16_t qAvg, bool toneExtensionSlot, bool toneExpected, bool toneQualityOverride)
 
static uint16_t RCL_Handler_BLE_CS_estimateStepResultLength (RCL_CmdBleCs *pCmd, RCL_CmdBleCs_StepResult_Internal *src)
 
static uint16_t RCL_Handler_BLE_CS_convertStepResult (RCL_CmdBleCs *pCmd, uint8_t *dst, RCL_CmdBleCs_StepResult_Internal *src)
 
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)
 
static bool RCL_Handler_BLE_CS_filterDC (uint16_t max, uint16_t min, uint16_t thr)
 
RCL_Events RCL_Handler_BLE_CS_Precal (RCL_Command *cmd, LRF_Events lrfEvents, RCL_Events rclEventsIn)
 
void RCL_Handler_BLE_CS_PrecalDefaultCallback (RCL_CmdBleCs_PrecalTable *table, uint8_t channel, RCL_CmdBleCs_IQSample *pHigh, RCL_CmdBleCs_IQSample *pLow)
 

Variables

struct {
   struct {
RCL_CommandStatus endStatus
 
   } common
 
   struct {
bool rxGainCacheValid
 
uint16_t rxGainCache
 
bool foffCacheValid
 
int16_t foffCache
 
bool firstBuffer
 
uint32_t hftrackctl
 
   } ble_cs
 
bleCsHandlerState
 
RCL_CmdBleCs_Step_Internal step
 
RCL_CmdBleCs_StepResult_Internal stepResult
 
uint32_t tStepLut [RCL_CmdBleCs_StepMode_Length]
 
int16_t tPllRx [RCL_CmdBleCs_StepMode_Length]
 
int16_t tAdjALut [RCL_CmdBleCs_StepMode_Length]
 
int16_t tAdjBLut [RCL_CmdBleCs_StepMode_Length]
 
int16_t tAntBLut [RCL_CmdBleCs_StepMode_Length]
 
int16_t tAntALut [RCL_CmdBleCs_StepMode_Length]
 
int16_t tRttAdjustLut [RCL_CmdBleCs_StepMode_Length]
 
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 uint16_t payloadLut [RCL_CmdBleCs_Payload_Length]
 
const RCL_CmdBleCs_PctCompTable RCL_bleCsPctCompTable
 

Data Structure Documentation

§ RCL_AntennaPath_t

union RCL_AntennaPath_t
Data Fields
struct RCL_AntennaPath_t a
uint8_t apn

§ RCL_AntennaConfig_t

struct RCL_AntennaConfig_t
+ Collaboration diagram for 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

RCL_AntennaPath_t ap[2]

§ RCL_PctConfig_t

union RCL_PctConfig_t
Data Fields
struct RCL_PctConfig_t __unnamed__
uint16_t val

§ RCL_MagnConfig_t

union RCL_MagnConfig_t
Data Fields
struct RCL_MagnConfig_t __unnamed__
uint16_t val

§ RCL_Tadjust_t

struct RCL_Tadjust_t
Data Fields
int16_t mode0[2]
int16_t mode1[2]
int16_t mode2[2]
int16_t mode3[2]

§ RCL_PhyConfig_t

struct RCL_PhyConfig_t
+ Collaboration diagram for RCL_PhyConfig_t:
Data Fields
uint16_t baud
uint16_t symmap
uint16_t demmisc2
uint16_t demmisc3
uint16_t rssioffset
uint16_t tPostProcessDiv1

Duration set aside for post processing

uint16_t tPostProcessDiv4

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

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

Correction of step duration when packet reception is used as anchor point

uint16_t tTr

Duration of trailer bits

uint16_t tCorr

Time between signal on antenna and correlation event

uint16_t tDem

Time between signal on antenna and demodulation completed

uint16_t tFidc

Time between signal on antenna and FIDC

uint16_t tTxModDelay

Time between modulator and signal on antenna (mostly shaper delay)

uint16_t tTimestampDelay1

Sum of delays between signal on antenna vs capture on timer by HW for mode-1

uint16_t tTimestampDelay3

Sum of delays between signal on antenna vs capture on timer by HW for mode-3

RCL_PctConfig_t pctConfig[RCL_CmdBleCs_Tpm_Length]
RCL_MagnConfig_t magnConfig[RCL_CmdBleCs_Tpm_Length]
RCL_Tadjust_t tAdj[RCL_CmdBleCs_Role_Length]
RCL_Tadjust_t tRtt
RCL_Tadjust_t tAnt[RCL_CmdBleCs_Role_Length]

§ .common

struct .common
Data Fields
RCL_CommandStatus endStatus

§ .ble_cs

struct .ble_cs
Data Fields
bool rxGainCacheValid
uint16_t rxGainCache
bool foffCacheValid
int16_t foffCache
bool firstBuffer
uint32_t hftrackctl

§ RCL_AntennaPath_t.a

struct RCL_AntennaPath_t.a
Data Fields
uint8_t a0: 2
uint8_t a1: 2
uint8_t a2: 2
uint8_t a3: 2

§ RCL_PctConfig_t.__unnamed__

struct RCL_PctConfig_t.__unnamed__
Data Fields
uint8_t period: 2

Configures the accumulation period of DEMFIDC module

uint8_t numIteration: 2

Configures how many times to run the accumulator period

uint8_t fracWaitAdj: 4
uint8_t fracWait

§ RCL_MagnConfig_t.__unnamed__

struct RCL_MagnConfig_t.__unnamed__
Data Fields
uint8_t magnIteration
uint8_t reserved

Macro Definition Documentation

§ BLE_CS_BASE_FREQ_MHZ

#define BLE_CS_BASE_FREQ_MHZ   2402U

§ BLE_CS_MAX_CHANNEL

#define BLE_CS_MAX_CHANNEL   78U

§ BLE_CS_MID_CHANNEL

#define BLE_CS_MID_CHANNEL   40U

§ BLE_CS_NUM_CHANNELS

#define BLE_CS_NUM_CHANNELS   79U

§ BLE_CS_NUM_INVALID_CHANNELS

#define BLE_CS_NUM_INVALID_CHANNELS   7U

§ BLE_CS_SILENT_CHANNEL

#define BLE_CS_SILENT_CHANNEL   100U

§ BLE_CS_NUM_PERMUTATION

#define BLE_CS_NUM_PERMUTATION   24U

§ BLE_CS_S2R_OVERSAMPLE_RATE

#define BLE_CS_S2R_OVERSAMPLE_RATE   4U

§ BLE_CS_S2R_MEMORY_OFFSET

#define BLE_CS_S2R_MEMORY_OFFSET   0x0C00U

§ BLE_CS_TXFIFO_BASE_ADDR

#define BLE_CS_TXFIFO_BASE_ADDR   128U

§ BLE_CS_TXFIFO_LEN

#define BLE_CS_TXFIFO_LEN   96U

§ BLE_CS_RXFIFO_BASE_ADDR

#define BLE_CS_RXFIFO_BASE_ADDR   224U

§ BLE_CS_RXFIFO_LEN

#define BLE_CS_RXFIFO_LEN   160U

§ BLE_CS_FIRST_BATCH_SIZE

#define BLE_CS_FIRST_BATCH_SIZE   2U

§ BLE_CS_TONE_QUALITY_HIGH_THR

#define BLE_CS_TONE_QUALITY_HIGH_THR   20U

§ BLE_CS_TONE_QUALITY_NA

#define BLE_CS_TONE_QUALITY_NA   255U

§ BLE_CS_TONE_EXTENSION_INITIATOR_TX

#define BLE_CS_TONE_EXTENSION_INITIATOR_TX   0b01U

§ BLE_CS_TONE_EXTENSION_REFLECTOR_TX

#define BLE_CS_TONE_EXTENSION_REFLECTOR_TX   0b10U

§ BLE_CS_RX_GAIN_AUTO_DEFAULT

#define BLE_CS_RX_GAIN_AUTO_DEFAULT   0x0EC9

§ BLE_CS_RX_GAIN_DB_TO_OVERRIDE

#define BLE_CS_RX_GAIN_DB_TO_OVERRIDE (   x)    (((x) / 3U) << 8U)

§ BLE_CS_FOFF_COMP_TO_OVERRIDE

#define BLE_CS_FOFF_COMP_TO_OVERRIDE (   x)    ((x) * 4U)

§ BLE_CS_FOFF_NUM_OVERRIDE

#define BLE_CS_FOFF_NUM_OVERRIDE   ((1 << 15U) | 1U)

§ BLE_CS_COMBINE_IQ

#define BLE_CS_COMBINE_IQ (   i,
 
)    ((((int32_t) i) & 0xFFFF) | ((((int32_t) q) & 0xFFFF) << 16))

§ DECODE_ANTENNA

#define DECODE_ANTENNA (   x,
 
)    (uint8_t) (((x) >> ((y)*2U)) & 0x03U)

§ ENCODE_ANTENNA

#define ENCODE_ANTENNA (   x,
 
)    (((x) << ((y)*4U)))

§ INT16_MSB

#define INT16_MSB (   x)    (uint8_t) (((uint16_t) (x) >> 8U) & 0xFFU)

§ INT16_LSB

#define INT16_LSB (   x)    (uint8_t) ((uint16_t) (x) & 0xFFU)

§ INT32_H

#define INT32_H (   x)    (uint16_t) (((uint32_t) (x) >> 16U) & 0xFFFFU)

§ INT32_L

#define INT32_L (   x)    (uint16_t) ((uint32_t) (x) & 0xFFFFU)

§ T1US

#define T1US   RCL_BLE_CS_US_TO_MCE_TIMER(1U)

§ T3US

§ TRD

§ TGD

§ TPLT

§ TFM

§ TPYL

#define TPYL   0U

§ A1

#define A1   (0)

§ A2

#define A2   (1)

§ A3

#define A3   (2)

§ A4

#define A4   (3)

§ PI_div2

#define PI_div2   (int16_t) (1 << (16-2))

§ NBITS

#define NBITS   (14U)

§ K14

#define K14   (9949)

§ DCFILTER

#define DCFILTER   1

Function Documentation

§ __attribute__()

§ RCL_Handler_BLE_CS_transferFinishedBuffers()

static bool RCL_Handler_BLE_CS_transferFinishedBuffers ( List_List *  pSrc,
List_List *  pDst,
bool  forceBufferToFinishState 
)
static

§ RCL_Handler_BLE_CS_configureTxRxFifo()

static void RCL_Handler_BLE_CS_configureTxRxFifo ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_preFillTxBuffer()

static RCL_Events RCL_Handler_BLE_CS_preFillTxBuffer ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_fetchAndforwardNextStep()

§ RCL_Handler_BLE_CS_retrieveAndStoreNextResult()

§ RCL_Handler_BLE_CS_readWriteBuffer()

static RCL_Events RCL_Handler_BLE_CS_readWriteBuffer ( RCL_CmdBleCs *  pCmd,
bool  forceBufferToFinishState 
)
static

§ RCL_Handler_BLE_CS_configureS2R()

static void RCL_Handler_BLE_CS_configureS2R ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_readS2RSamples()

§ RCL_Handler_BLE_CS_readStatistics()

static void RCL_Handler_BLE_CS_readStatistics ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_preprocessCommand()

static void RCL_Handler_BLE_CS_preprocessCommand ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_preprocessStep()

§ RCL_Handler_BLE_CS_fetchNextStepResult()

static RCL_CmdBleCs_StepResult_Internal* RCL_Handler_BLE_CS_fetchNextStepResult ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_updateCache()

static void RCL_Handler_BLE_CS_updateCache ( RCL_CmdBleCs *  pCmd)
static

§ RCL_Handler_BLE_CS_convertFreqOffset()

static int16_t RCL_Handler_BLE_CS_convertFreqOffset ( int16_t  foffMeasured,
bool  ceil 
)
static

§ RCL_Handler_BLE_CS_convertRtt()

static int16_t RCL_Handler_BLE_CS_convertRtt ( RCL_CmdBleCs *  pCmd,
RCL_CmdBleCs_StepMode  mode,
uint8_t  channel,
uint8_t  payloadLen,
bool  secondToneExtensionSlot,
uint32_t  rtt,
uint16_t  corrBefore,
uint16_t  corrPeak,
uint16_t  corrAfter 
)
static

§ RCL_Handler_BLE_CS_rotateVector()

void RCL_Handler_BLE_CS_rotateVector ( int16_t *  pct_i,
int16_t *  pct_q,
int16_t  theta 
)

References K14, NBITS, and PI_div2.

Referenced by RCL_Handler_BLE_CS_convertPct().

§ RCL_Handler_BLE_CS_convertPct()

static uint32_t RCL_Handler_BLE_CS_convertPct ( const RCL_CmdBleCs_IQSample *  pPct,
const uint8_t  channelIdx,
bool  inlinePhase 
)
static

§ RCL_Handler_BLE_CS_calcQ3()

static uint8_t RCL_Handler_BLE_CS_calcQ3 ( uint16_t  qMin,
uint16_t  qMax,
uint16_t  qAvg 
)
static

§ RCL_Handler_BLE_CS_convertPctQuality()

static uint8_t RCL_Handler_BLE_CS_convertPctQuality ( uint16_t  qMin,
uint16_t  qMax,
uint16_t  qAvg,
bool  toneExtensionSlot,
bool  toneExpected,
bool  toneQualityOverride 
)
static

§ RCL_Handler_BLE_CS_estimateStepResultLength()

static uint16_t RCL_Handler_BLE_CS_estimateStepResultLength ( RCL_CmdBleCs *  pCmd,
RCL_CmdBleCs_StepResult_Internal *  src 
)
static

§ RCL_Handler_BLE_CS_convertStepResult()

§ RCL_Handler_BLE_CS_findPbeErrorEndStatus()

§ RCL_Handler_BLE_CS()

§ RCL_Handler_BLE_CS_filterDC()

static bool RCL_Handler_BLE_CS_filterDC ( uint16_t  max,
uint16_t  min,
uint16_t  thr 
)
static

§ RCL_Handler_BLE_CS_Precal()

§ RCL_Handler_BLE_CS_PrecalDefaultCallback()

void RCL_Handler_BLE_CS_PrecalDefaultCallback ( RCL_CmdBleCs_PrecalTable *  table,
uint8_t  channel,
RCL_CmdBleCs_IQSample *  pHigh,
RCL_CmdBleCs_IQSample *  pLow 
)

References BLE_CS_MAX_CHANNEL.

Variable Documentation

§ bleCsHandlerState

§ step

RCL_CmdBleCs_Step_Internal step

§ stepResult

RCL_CmdBleCs_StepResult_Internal stepResult

§ tStepLut

§ tPllRx

§ tAdjALut

§ tAdjBLut

§ tAntBLut

§ tAntALut

§ tRttAdjustLut

§ antennaPermutation

const RCL_AntennaPath_t antennaPermutation[BLE_CS_NUM_PERMUTATION]
Initial value:
= {
{{A1,A2,A3,A4}}, {{A2,A1,A3,A4}}, {{A1,A3,A2,A4}}, {{A3,A1,A2,A4}}, {{A3,A2,A1,A4}}, {{A2,A3,A1,A4}},
{{A1,A2,A4,A3}}, {{A2,A1,A4,A3}}, {{A1,A4,A2,A3}}, {{A4,A1,A2,A3}}, {{A4,A2,A1,A3}}, {{A2,A4,A1,A3}},
{{A1,A4,A3,A2}}, {{A4,A1,A3,A2}}, {{A1,A3,A4,A2}}, {{A3,A1,A4,A2}}, {{A3,A4,A1,A2}}, {{A4,A3,A1,A2}},
{{A4,A2,A3,A1}}, {{A2,A4,A3,A1}}, {{A4,A3,A2,A1}}, {{A3,A4,A2,A1}}, {{A3,A2,A4,A1}}, {{A2,A3,A4,A1}}
}
#define A1
Definition: ble_cs.c:115
#define A2
Definition: ble_cs.c:116
#define A4
Definition: ble_cs.c:118
#define A3
Definition: ble_cs.c:117

§ antennaConfig

Initial value:
= {
{.numPath=1, .numPerm=1, .ap={{{0,0,0,0}}, {{0,0,0,0}}}},
{.numPath=2, .numPerm=2, .ap={{{0,1,0,0}}, {{0,0,0,0}}}},
{.numPath=3, .numPerm=6, .ap={{{0,1,2,0}}, {{0,0,0,0}}}},
{.numPath=4, .numPerm=24, .ap={{{0,1,2,3}}, {{0,0,0,0}}}},
{.numPath=2, .numPerm=2, .ap={{{0,0,0,0}}, {{0,1,0,0}}}},
{.numPath=3, .numPerm=6, .ap={{{0,0,0,0}}, {{0,1,2,0}}}},
{.numPath=4, .numPerm=24, .ap={{{0,0,0,0}}, {{0,1,2,3}}}},
{.numPath=4, .numPerm=24, .ap={{{0,0,1,1}}, {{0,1,0,1}}}}
}

§ phyConfigLut

§ foffErrorLut

const int8_t foffErrorLut[BLE_CS_NUM_CHANNELS]
Initial value:
= {
38, 34, 34, 34, 30, 30, 30, 26,
26, 26, 26, 22, 22, 22, 18, 18, 18, 14,
14, 14, 10, 10, 10, 10, 6, 6, 6, 2,
2, 2, -2, -2, -2, -2, -6, -6, -6,-10,
-10,-10,-14,-14,-14,-14,-18,-18,-18,-22,
-22,-22,-26,-26,-26,-26,-30,-30,-30,-34,
-34,-34,-34,-38,-38,-38,-42,-42,-42,-46,
-46,-46,-46,-50,-50,-50,-54,-54,-54,-54
}

Referenced by RCL_Handler_BLE_CS_preprocessStep().

§ payloadLut

§ RCL_bleCsPctCompTable

const RCL_CmdBleCs_PctCompTable RCL_bleCsPctCompTable