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/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   2402
 
#define BLE_CS_MAX_CHANNEL   78
 
#define BLE_CS_MID_CHANNEL   40
 
#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_S2R_MEMORY_OFFSET   0x0C00
 
#define BLE_CS_TXFIFO_BASE_ADDR   128
 
#define BLE_CS_TXFIFO_LEN   96
 
#define BLE_CS_RXFIFO_BASE_ADDR   224
 
#define BLE_CS_RXFIFO_LEN   160
 
#define BLE_CS_FIRST_BATCH_SIZE   2
 
#define BLE_CS_TONE_QUALITY_HIGH_THR   20
 
#define BLE_CS_TONE_QUALITY_NA   255
 
#define BLE_CS_RPL_HIGH_GAIN_THR   (-55)
 
#define BLE_CS_RPL_LOW_GAIN_THR   (-35)
 
#define BLE_CS_RPL_DELTA_DB   (-6)
 
#define BLE_CS_RPL_HIGH_GAIN   (-45)
 
#define BLE_CS_RPL_LOW_GAIN   (-21)
 
#define BLE_CS_HIGH_GAIN_DB   (RCL_CmdBleCs_RxGain_High * RCL_BLE_CS_STEP_RX_GAIN_DB)
 
#define BLE_CS_LOW_GAIN_DB   (RCL_CmdBleCs_RxGain_Low * RCL_BLE_CS_STEP_RX_GAIN_DB)
 
#define BLE_CS_TONE_EXTENSION_INITIATOR_TX   0b01
 
#define BLE_CS_TONE_EXTENSION_REFLECTOR_TX   0b10
 
#define BLE_CS_COMBINE_IQ(i, q)   ((((int32_t) i) & 0xFFFF) | ((((int32_t) q) & 0xFFFF) << 16))
 
#define DECODE_ANTENNA(x, y)   (((x) >> ((y)*2)) & 0x03)
 
#define ENCODE_ANTENNA(x, y)   (((x) << ((y)*4)))
 
#define INT16_MSB(x)   (((x) >> 8) & 0xFF)
 
#define INT16_LSB(x)   ((x) & 0xFF)
 
#define INT32_H(x)   (((x) >> 16) & 0xFFFF)
 
#define INT32_L(x)   ((x) & 0xFFFF)
 
#define T1US   48
 
#define T3US   144
 
#define TRD   240
 
#define TGD   480
 
#define TPLT   960
 
#define TPYL   0
 
#define A1   0
 
#define A2   1
 
#define A3   2
 
#define A4   3
 
#define DCDEBUG   1
 
#define PI_div2   (1 << (16-2))
 
#define NBITS   (14)
 
#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 int16_t RCL_Handler_BLE_CS_convertFreqOffset (int16_t foffMeasured, bool ceil)
 
static int16_t RCL_Handler_BLE_CS_convertRtt (RCL_CmdBleCs *pCmd, uint8_t mode, int8_t channel, uint8_t payloadLen, bool secondToneExtensionSlot, int32_t toAD, 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, const uint8_t rplScaler)
 
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 {
uint32_t startTime
 
bool firstBuffer
 
uint32_t hftrackctl
 
   } ble_cs
 
bleCsHandlerState
 
RCL_CmdBleCs_Step_Internal step
 
RCL_CmdBleCs_StepResult_Internal result
 
uint32_t tStepLut [RCL_CmdBleCs_StepMode_Length]
 
uint16_t tAdjALut [RCL_CmdBleCs_StepMode_Length]
 
uint16_t tAdjBLut [RCL_CmdBleCs_StepMode_Length]
 
uint16_t tAntALut [RCL_CmdBleCs_StepMode_Length]
 
uint16_t tAntBLut [RCL_CmdBleCs_StepMode_Length]
 
uint16_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

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

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
uint32_t startTime
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   2402

§ BLE_CS_MAX_CHANNEL

§ BLE_CS_MID_CHANNEL

#define BLE_CS_MID_CHANNEL   40

§ BLE_CS_NUM_CHANNELS

#define BLE_CS_NUM_CHANNELS   90

§ BLE_CS_NUM_INVALID_CHANNELS

#define BLE_CS_NUM_INVALID_CHANNELS   7

§ BLE_CS_SILENT_CHANNEL

#define BLE_CS_SILENT_CHANNEL   100

§ BLE_CS_NUM_PERMUTATION

#define BLE_CS_NUM_PERMUTATION   24

§ BLE_CS_S2R_OVERSAMPLE_RATE

#define BLE_CS_S2R_OVERSAMPLE_RATE   4

§ BLE_CS_S2R_MEMORY_OFFSET

#define BLE_CS_S2R_MEMORY_OFFSET   0x0C00

§ BLE_CS_TXFIFO_BASE_ADDR

#define BLE_CS_TXFIFO_BASE_ADDR   128

§ BLE_CS_TXFIFO_LEN

#define BLE_CS_TXFIFO_LEN   96

§ BLE_CS_RXFIFO_BASE_ADDR

#define BLE_CS_RXFIFO_BASE_ADDR   224

§ BLE_CS_RXFIFO_LEN

#define BLE_CS_RXFIFO_LEN   160

§ BLE_CS_FIRST_BATCH_SIZE

#define BLE_CS_FIRST_BATCH_SIZE   2

§ BLE_CS_TONE_QUALITY_HIGH_THR

#define BLE_CS_TONE_QUALITY_HIGH_THR   20

§ BLE_CS_TONE_QUALITY_NA

#define BLE_CS_TONE_QUALITY_NA   255

§ BLE_CS_RPL_HIGH_GAIN_THR

#define BLE_CS_RPL_HIGH_GAIN_THR   (-55)

§ BLE_CS_RPL_LOW_GAIN_THR

#define BLE_CS_RPL_LOW_GAIN_THR   (-35)

§ BLE_CS_RPL_DELTA_DB

#define BLE_CS_RPL_DELTA_DB   (-6)

§ BLE_CS_RPL_HIGH_GAIN

#define BLE_CS_RPL_HIGH_GAIN   (-45)

§ BLE_CS_RPL_LOW_GAIN

#define BLE_CS_RPL_LOW_GAIN   (-21)

§ BLE_CS_HIGH_GAIN_DB

§ BLE_CS_LOW_GAIN_DB

§ BLE_CS_TONE_EXTENSION_INITIATOR_TX

#define BLE_CS_TONE_EXTENSION_INITIATOR_TX   0b01

§ BLE_CS_TONE_EXTENSION_REFLECTOR_TX

#define BLE_CS_TONE_EXTENSION_REFLECTOR_TX   0b10

§ 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,
 
)    (((x) >> ((y)*2)) & 0x03)

§ ENCODE_ANTENNA

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

§ INT16_MSB

#define INT16_MSB (   x)    (((x) >> 8) & 0xFF)

§ INT16_LSB

#define INT16_LSB (   x)    ((x) & 0xFF)

§ INT32_H

#define INT32_H (   x)    (((x) >> 16) & 0xFFFF)

§ INT32_L

#define INT32_L (   x)    ((x) & 0xFFFF)

§ T1US

#define T1US   48

§ T3US

#define T3US   144

§ TRD

#define TRD   240

§ TGD

#define TGD   480

§ TPLT

#define TPLT   960

§ TPYL

#define TPYL   0

§ A1

#define A1   0

§ A2

#define A2   1

§ A3

#define A3   2

§ A4

#define A4   3

§ DCDEBUG

#define DCDEBUG   1

§ PI_div2

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

§ NBITS

#define NBITS   (14)

§ 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

Referenced by RCL_Handler_BLE_CS().

§ RCL_Handler_BLE_CS_preprocessCommand()

§ 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_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,
uint8_t  mode,
int8_t  channel,
uint8_t  payloadLen,
bool  secondToneExtensionSlot,
int32_t  toAD,
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,
const uint8_t  rplScaler 
)
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

§ result

§ tStepLut

§ tAdjALut

§ tAdjBLut

§ tAntALut

§ tAntBLut

§ 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:117
#define A2
Definition: ble_cs.c:118
#define A4
Definition: ble_cs.c:120
#define A3
Definition: ble_cs.c:119

§ 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,
-58,-58,-58,-62,-62,-62,-62,-66,-66,-66
}

Referenced by RCL_Handler_BLE_CS_preprocessStep().

§ payloadLut

§ RCL_bleCsPctCompTable

const RCL_CmdBleCs_PctCompTable RCL_bleCsPctCompTable