Radio Control Layer (RCL)
|
#include <stdint.h>
#include <stdlib.h>
#include <ti/drivers/rcl/LRF.h>
#include <ti/drivers/rcl/RCL_Scheduler.h>
#include <ti/drivers/rcl/RCL_Command.h>
#include <ti/log/Log.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/devices/DeviceFamily.h>
Functions | |
static uint32_t | LRF_findPllMBase (uint32_t frequency) |
static uint32_t | countLeadingZeros (uint16_t value) |
static uint32_t | LRF_findCalM (uint32_t frequency, uint32_t prediv) |
static uint32_t | LRF_findFoff (int32_t frequencyOffset, uint32_t invSynthFreq) |
static void | LRF_programShape (const LRF_TxShape *txShape, uint32_t deviation, uint32_t invSynthFreq) |
static uint32_t | LRF_findLog2Bde1 (uint32_t demmisc3) |
static uint32_t | LRF_programPQ (uint32_t pllMBase) |
static void | LRF_programCMixN (int32_t rxIntFrequency, uint32_t invSynthFreq) |
static void | LRF_applyTrim (const LRF_TrimDef *trimDef, const LRF_SwConfig *swConfig) |
static void | LRF_updateTrim (const LRF_TrimDef *trimDef, const LRF_SwConfig *swConfig) |
static void | LRF_setTrimCommon (const LRF_TrimDef *trimDef, const LRF_SwConfig *swConfig) |
static void | LRF_setTemperatureTrim (const LRF_TrimDef *trimDef) |
static void | LRF_temperatureCompensateTrim (const LRF_TrimDef *trimDef) |
static uint32_t | LRF_findExtTrim1TrimAdjustment (uint32_t temperatureDiff, uint32_t tempThreshFactor, uint32_t maxAdjustment) |
static int32_t | LRF_findExtTrim0TrimAdjustment (int32_t temperature, int32_t tempCompFactor, int32_t offset) |
static uint32_t | LRF_scaleFreqWithHFXTOffset (uint32_t frequency) |
static void | LRF_writeFifoPtr (uint32_t value, uintptr_t regAddr) |
static void | LRF_writeFifoPtrs (uint32_t value, uintptr_t regAddr0, uintptr_t regAddr1) |
LRF_SetupResult | LRF_setupRadio (const LRF_Config *lrfConfig, uint16_t phyFeatures, LRF_RadioState lrfState) |
bool | LRF_imagesNeedUpdate (const LRF_Config *lrfConfig) |
void | LRF_enable (void) |
void | LRF_disable (void) |
void | LRF_waitForTopsmReady (void) |
uint32_t | LRF_prepareRxFifo (void) |
uint32_t | LRF_prepareTxFifo (void) |
uint32_t | LRF_peekRxFifo (int32_t offset) |
uint32_t | LRF_peekTxFifo (int32_t offset) |
uint8_t * | LRF_getTxFifoWrAddr (int32_t offset) |
void | LRF_skipTxFifoWords (uint32_t wordLength) |
void | LRF_discardRxFifoWords (uint32_t wordLength) |
void | LRF_readRxFifoWords (uint32_t *data32, uint32_t wordLength) |
void | LRF_writeTxFifoWords (const uint32_t *data32, uint32_t wordLength) |
void | LRF_setRxFifoEffSz (uint32_t maxSz) |
void | LRF_programFrequency (uint32_t frequency, bool tx) |
uint32_t | LRF_enableSynthRefsys (void) |
void | LRF_disableSynthRefsys (void) |
void | LRF_rclEnableRadioClocks (void) |
void | LRF_rclDisableRadioClocks (void) |
int8_t | LRF_readRssi (void) |
void | LRF_setRawTxPower (uint32_t value, uint32_t temperatureCoefficient) |
LRF_TxPowerTable_Entry | LRF_getRawTxPower (void) |
void | LRF_programTemperatureCompensatedTxPower (void) |
Programs current TX power setting in radio with temperature compensation. More... | |
LRF_TxPowerResult | LRF_programTxPower (LRF_TxPowerTable_Index powerLevel) |
Finds settings corresponding to the highest tx power lower than the specified value in the tx power table and programs it in the radio. More... | |
Variables | |
uint32_t | swParamList [sizeof(LRF_SwParam)/sizeof(uint32_t)] |
const size_t | swParamListSz = sizeof(LRF_SwParam) |
struct { | |
const LRF_TOPsmImage * | pbeLoaded |
const LRF_TOPsmImage * | mceLoaded |
const LRF_TOPsmImage * | rfeLoaded |
uint16_t | phyFeatures |
LRF_TxPowerTable_Entry | currentTxPower |
LRF_TxPowerTable_Entry | rawTxPower |
} | lrfPhyState = {0} |
static bool | rxFifoDeallocated = true |
LRF_DoubleWord | fXtalInv |
#define LRF_REFSYS_ENABLE_TIME RCL_SCHEDULER_SYSTIM_US(30) |
Referenced by LRF_enableSynthRefsys().
#define LRF_EXTTRIM1_TEMPERATURE_SCALE_EXP 4U |
Referenced by LRF_findExtTrim1TrimAdjustment(), and LRF_temperatureCompensateTrim().
#define LRF_DIVLDO_LOW_TEMP_ADJ_FACTOR 10U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_DIVLDO_HIGH_TEMP_ADJ_FACTOR 10U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_TDCLDO_LOW_TEMP_ADJ_FACTOR 10U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_TDCLDO_HIGH_TEMP_ADJ_FACTOR 10U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_RTRIM_LOW_TEMP_ADJ_FACTOR 1U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_RTRIM_HIGH_TEMP_ADJ_FACTOR 1U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_DEFAULT_RTRIM_MAX 12U |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_EXTTRIM0_TEMPERATURE_SCALE_EXP 7 |
Referenced by LRF_findExtTrim0TrimAdjustment().
#define LRF_TEMPERATURE_MIN (-40) |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_TEMPERATURE_MAX 125 |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_TEMPERATURE_NOM 25 |
Referenced by LRF_findExtTrim0TrimAdjustment().
#define RFE_SPARE0_LOW_GAIN_BM 0x000F |
Referenced by LRF_temperatureCompensateTrim().
#define RFE_SPARE0_LOW_GAIN 0 |
Referenced by LRF_temperatureCompensateTrim().
#define RFE_SPARE0_HIGH_GAIN_BM 0x00F0 |
Referenced by LRF_temperatureCompensateTrim().
#define RFE_SPARE0_HIGH_GAIN 4 |
Referenced by LRF_temperatureCompensateTrim().
#define RFE_SPARE1_AGC_VALUE_BM 0x000FF |
Referenced by LRF_temperatureCompensateTrim().
#define RFE_SPARE1_AGC_VALUE 0 |
Referenced by LRF_temperatureCompensateTrim().
#define LRF_ONE_THIRD_MANTISSA 21845U /* (round(1/3 * 2^16)) */ |
Referenced by LRF_findExtTrim1TrimAdjustment().
#define LRF_ONE_THIRD_NEG_EXP 16 |
Referenced by LRF_findExtTrim1TrimAdjustment().
#define FXTALINVL 0x00001E52U |
#define FXTALINVH 0x02CBD3F0U |
#define NUM_TX_FILTER_TAPS 24 |
Referenced by LRF_programShape().
#define P_FACTOR 9 |
Referenced by LRF_programPQ().
#define P_SHIFT 4 |
Referenced by LRF_programPQ().
#define Q_MAGN_SHIFT 6 |
Referenced by LRF_programPQ().
#define FRAC_NUM_BITS 28 |
#define FRAC_EXTRA_BITS (32 - FRAC_NUM_BITS) |
Referenced by LRF_programPQ().
#define RFE_PA0_IB_MIN_USED 1 |
Referenced by LRF_programTemperatureCompensatedTxPower().
|
static |
References LRF_DoubleWord::word.
Referenced by LRF_programFrequency().
|
static |
Referenced by LRF_programPQ(), and LRF_programShape().
|
static |
References LRF_DoubleWord::word.
Referenced by LRF_programFrequency().
|
static |
Referenced by LRF_programFrequency().
|
static |
References LRF_TxShape::coeff, countLeadingZeros(), and NUM_TX_FILTER_TAPS.
Referenced by LRF_programFrequency().
|
static |
Referenced by LRF_programCMixN(), and LRF_programPQ().
|
static |
References countLeadingZeros(), FRAC_EXTRA_BITS, LRF_findLog2Bde1(), P_FACTOR, P_SHIFT, and Q_MAGN_SHIFT.
Referenced by LRF_programFrequency().
|
static |
References LRF_findLog2Bde1().
Referenced by LRF_programFrequency().
|
static |
References LRF_setTrimCommon(), LRF_temperatureCompensateTrim(), LRF_TRIM_DCOLDO0_FIRSTTRIM_VALUE_STATE_B_DCOLDO_WORKAROUND_CC27XX, LRF_TRIM_DCOLDO0_SECONDTRIM_CODED_BITS_MASK_STATE_B_DCOLDO_WORKAROUND_CC27XX, LRF_TRIM_DCOLDO0_SECONDTRIM_INC_STATE_B_DCOLDO_WORKAROUND_CC27XX, LRF_TRIM_DCOLDO0_SECONDTRIM_MAX_STATE_B_DCOLDO_WORKAROUND_CC27XX, LRF_TRIM_VERSION_CORRECT_AMOUNT_OF_PA_TRIMS_CC27XX, LRF_TRIM_VERSION_STATE_C_TRIM_WORKAROUND_CC27XX, LRF_TrimDef::revision, LRF_TrimDef::trim0, LRF_TrimDef::trim1, LRF_TrimDef::trim2, and LRF_TrimDef::trim4.
Referenced by LRF_setupRadio().
|
static |
References LRF_setTemperatureTrim(), and LRF_setTrimCommon().
Referenced by LRF_setupRadio().
|
static |
References LRF_SwConfig::bwIndex, LRF_SwConfig::bwIndexDither, LRF_TRIM_MIN_VERSION_FULL_FEATURES, LRF_TrimDef::revision, LRF_TrimDef::trim4, and LRF_TrimDef::trimVariant.
Referenced by LRF_applyTrim(), and LRF_updateTrim().
|
static |
References LRF_temperatureCompensateTrim().
Referenced by LRF_setupRadio(), and LRF_updateTrim().
|
static |
References LRF_Trim_tempLdoRtrim::divLdoMaxOffset, LRF_Trim_tempLdoRtrim::divLdoMinOffset, LRF_Trim1::fields, LRF_Trim2::fields, LRF_Trim3::fields, hal_get_temperature(), LRF_DEFAULT_RTRIM_MAX, LRF_DIVLDO_HIGH_TEMP_ADJ_FACTOR, LRF_DIVLDO_LOW_TEMP_ADJ_FACTOR, LRF_EXTTRIM1_TEMPERATURE_SCALE_EXP, LRF_findExtTrim0TrimAdjustment(), LRF_findExtTrim1TrimAdjustment(), LRF_RTRIM_HIGH_TEMP_ADJ_FACTOR, LRF_RTRIM_LOW_TEMP_ADJ_FACTOR, LRF_TDCLDO_HIGH_TEMP_ADJ_FACTOR, LRF_TDCLDO_LOW_TEMP_ADJ_FACTOR, LRF_TEMPERATURE_MAX, LRF_TEMPERATURE_MIN, LRF_TRIM_CORRECTION_RSSIOFFSET_ISSUE_CC23X0R5, LRF_TRIM_LIMIT_RSSIOFFSET_ISSUE_CC23X0R5, LRF_TRIM_MIN_VERSION_FULL_FEATURES, LRF_TRIM_RTRIM_VALUE_STATE_B_RTRIM_WORKAROUND_CC27XX, LRF_TRIM_VERSION_RSSIOFFSET_ISSUE_CC23X0R5, LRF_TRIM_VERSION_STATE_C_TRIM_WORKAROUND_CC27XX, LRF_TrimDef::revision, RFE_SPARE0_HIGH_GAIN, RFE_SPARE0_HIGH_GAIN_BM, RFE_SPARE0_LOW_GAIN, RFE_SPARE0_LOW_GAIN_BM, RFE_SPARE1_AGC_VALUE, RFE_SPARE1_AGC_VALUE_BM, LRF_Trim_tempLdoRtrim::rtrimMaxOffset, LRF_Trim_tempLdoRtrim::rtrimMinOffset, LRF_Trim_tempLdoRtrim::tdcLdoMaxOffset, LRF_Trim_tempLdoRtrim::tdcLdoMinOffset, LRF_TrimDef::trim1, LRF_TrimDef::trim2, LRF_TrimDef::trim3, LRF_TrimDef::trim4, LRF_Trim_tempLdoRtrim::tThrh, and LRF_Trim_tempLdoRtrim::tThrl.
Referenced by LRF_applyTrim(), and LRF_setTemperatureTrim().
|
static |
References LRF_EXTTRIM1_TEMPERATURE_SCALE_EXP, LRF_ONE_THIRD_MANTISSA, and LRF_ONE_THIRD_NEG_EXP.
Referenced by LRF_temperatureCompensateTrim().
|
static |
References LRF_EXTTRIM0_TEMPERATURE_SCALE_EXP, and LRF_TEMPERATURE_NOM.
Referenced by LRF_temperatureCompensateTrim().
|
static |
References hal_get_hfxt_ratio(), and hal_get_hfxt_ratio_default().
Referenced by LRF_programFrequency().
|
static |
Referenced by LRF_readRxFifoWords(), LRF_setRxFifoEffSz(), LRF_skipTxFifoWords(), and LRF_writeTxFifoWords().
|
static |
Referenced by LRF_discardRxFifoWords().
LRF_SetupResult LRF_setupRadio | ( | const LRF_Config * | lrfConfig, |
uint16_t | phyFeatures, | ||
LRF_RadioState | lrfState | ||
) |
References LRF_applySettings(), LRF_ApplySettings_IncludeBase, LRF_ApplySettings_NoBase, LRF_applyTrim(), LRF_initSettingsState(), LRF_loadImage(), LRF_RSSI_INVALID, LRF_setTemperatureTrim(), LRF_SETTINGS_BUFFER_UNLIMITED, LRF_updateTrim(), lrfPhyState, LRF_Config::mceImage, LRF_Config::pbeImage, RadioState_Configured, RadioState_ImagesLoaded, LRF_Config::regConfigList, LRF_Config::rfeImage, SetupResult_ErrorSwConfig, SetupResult_Ok, LRF_SwParam::swConfig, swParamList, and LRF_SwParam::trimDef.
Referenced by RCL_Lite_configSetPhyFeatures(), RCL_Lite_setPhyFeatures(), and rclCommandHwi().
bool LRF_imagesNeedUpdate | ( | const LRF_Config * | lrfConfig | ) |
References lrfPhyState, LRF_Config::mceImage, LRF_Config::pbeImage, and LRF_Config::rfeImage.
Referenced by LRF_resetSettingsState(), and rclSchedulerHwi().
void LRF_enable | ( | void | ) |
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_BLE_CS(), RCL_Handler_Generic_Fs(), RCL_Handler_Generic_FsOff(), RCL_Handler_Generic_PbeOperation(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Generic_TxTest(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_TxTest(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
void LRF_disable | ( | void | ) |
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_BLE_CS(), RCL_Handler_Generic_Fs(), RCL_Handler_Generic_FsOff(), RCL_Handler_Generic_PbeOperation(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Generic_TxTest(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_TxTest(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
void LRF_waitForTopsmReady | ( | void | ) |
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_BLE_CS(), RCL_Handler_Generic_Fs(), RCL_Handler_Generic_FsOff(), RCL_Handler_Generic_PbeOperation(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Generic_TxTest(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_TxTest(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
uint32_t LRF_prepareRxFifo | ( | void | ) |
References rxFifoDeallocated.
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Generic_Rx(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
uint32_t LRF_prepareTxFifo | ( | void | ) |
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
uint32_t LRF_peekRxFifo | ( | int32_t | offset | ) |
uint32_t LRF_peekTxFifo | ( | int32_t | offset | ) |
Referenced by LRF_resetSettingsState().
uint8_t* LRF_getTxFifoWrAddr | ( | int32_t | offset | ) |
References TXF_UNWRAPPED_BASE_ADDR.
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_getAuxPtrFromTxBuffer(), RCL_Handler_BLE5_scan_init(), and RCL_Handler_BLE5_updateTxBuffers().
void LRF_skipTxFifoWords | ( | uint32_t | wordLength | ) |
References LRF_writeFifoPtr().
Referenced by LRF_resetSettingsState(), and RCL_Handler_BLE5_updateTxBuffers().
void LRF_discardRxFifoWords | ( | uint32_t | wordLength | ) |
References LRF_writeFifoPtrs(), and rxFifoDeallocated.
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_genericRx(), RCL_Handler_Generic_Rx(), and RCL_Handler_Nesb_Prx().
void LRF_readRxFifoWords | ( | uint32_t * | data32, |
uint32_t | wordLength | ||
) |
References LRF_writeFifoPtr(), RXF_UNWRAPPED_BASE_ADDR, and rxFifoDeallocated.
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Generic_Rx(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
void LRF_writeTxFifoWords | ( | const uint32_t * | data32, |
uint32_t | wordLength | ||
) |
void LRF_setRxFifoEffSz | ( | uint32_t | maxSz | ) |
References LRF_writeFifoPtr(), and rxFifoDeallocated.
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_updateRxCurBufferAndFifo(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_updateRxCurBufferAndFifo(), RCL_Handler_Ieee_updateRxCurBufferAndFifo(), and RCL_Handler_Nesb_Prx().
void LRF_programFrequency | ( | uint32_t | frequency, |
bool | tx | ||
) |
References LRF_findCalM(), LRF_findFoff(), LRF_findPllMBase(), LRF_programCMixN(), LRF_programPQ(), LRF_programShape(), LRF_scaleFreqWithHFXTOffset(), LRF_SwConfig::modFrequencyDeviation, LRF_SwConfig::rxFrequencyOffset, LRF_SwConfig::rxIntFrequency, LRF_SwParam::swConfig, swParamList, LRF_SwConfig::txFrequencyOffset, and LRF_SwConfig::txShape.
Referenced by LRF_resetSettingsState(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_Generic_Fs(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Generic_TxTest(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_TxTest(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
uint32_t LRF_enableSynthRefsys | ( | void | ) |
References LRF_REFSYS_ENABLE_TIME, and RCL_Scheduler_getCurrentTime().
Referenced by LRF_resetSettingsState(), RCL_Handler_ADC_Noise_getNoise(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_BLE_CS(), RCL_Handler_Generic_Fs(), RCL_Handler_Generic_Rx(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Generic_TxTest(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_TxTest(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
void LRF_disableSynthRefsys | ( | void | ) |
Referenced by LRF_resetSettingsState(), RCL_Handler_ADC_Noise_getNoise(), RCL_Handler_Adc_Noise_powerDown(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericRx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_BLE_CS(), RCL_Handler_Generic_setSynthPowerState(), RCL_Handler_Ieee_RxTx(), and RCL_Handler_Ieee_TxTest().
void LRF_rclEnableRadioClocks | ( | void | ) |
References LRF_setRclClockEnable().
Referenced by LRF_resetSettingsState(), RCL_Lite_configSetPhyFeatures(), and RCL_open().
void LRF_rclDisableRadioClocks | ( | void | ) |
References LRF_clearRclClockEnable().
Referenced by LRF_resetSettingsState(), and RCL_close().
int8_t LRF_readRssi | ( | void | ) |
Referenced by LRF_resetSettingsState(), RCL_Handler_Ieee_RxTx(), RCL_Lite_readRssi(), and RCL_readRssi().
void LRF_setRawTxPower | ( | uint32_t | value, |
uint32_t | temperatureCoefficient | ||
) |
References LRF_TxPower_Use_Raw, and lrfPhyState.
Referenced by LRF_resetSettingsState(), and RCL_Command_setRawTxPower().
LRF_TxPowerTable_Entry LRF_getRawTxPower | ( | void | ) |
References LRF_TxPower_Use_Raw, LRF_TxPowerEntry_INVALID_VALUE, and lrfPhyState.
Referenced by LRF_resetSettingsState(), and LRF_TxPowerTable_findValue().
void LRF_programTemperatureCompensatedTxPower | ( | void | ) |
Programs current TX power setting in radio with temperature compensation.
References hal_get_temperature(), LRF_TXPOWER_REFERENCE_TEMPERATURE, LRF_TXPOWER_TEMPERATURE_SCALING, lrfPhyState, LRF_TxPowerTable_Value::rawValue, RFE_PA0_IB_MIN_USED, LRF_TxPowerTable_Entry::tempCoeff, and LRF_TxPowerTable_Entry::value.
Referenced by LRF_getTxFifoWritable(), and LRF_programTxPower().
LRF_TxPowerResult LRF_programTxPower | ( | LRF_TxPowerTable_Index | powerLevel | ) |
Finds settings corresponding to the highest tx power lower than the specified value in the tx power table and programs it in the radio.
powerLevel | maximum allowed power level in dBm, or special value (LRF_TxPower_Use_Min, LRF_TxPower_Use_Max, LRF_TxPower_Use_Raw, or LRF_TxPower_None) |
References LRF_programTemperatureCompensatedTxPower(), LRF_TxPower_None, LRF_TxPowerTable_findValue(), LRF_TxPowerTable_INVALID_VALUE, lrfPhyState, LRF_TxPowerTable_Value::rawValue, LRF_TxPowerTable_Index::rawValue, swParamList, TxPowerResult_Error, TxPowerResult_Ok, LRF_SwParam::txPowerTable, and LRF_TxPowerTable_Entry::value.
Referenced by LRF_getTxFifoWritable(), RCL_Handler_BLE5_adv(), RCL_Handler_BLE5_aux_adv(), RCL_Handler_BLE5_conn(), RCL_Handler_BLE5_dtmTx(), RCL_Handler_BLE5_genericTx(), RCL_Handler_BLE5_scan_init(), RCL_Handler_Ble5_txTest(), RCL_Handler_Generic_Tx(), RCL_Handler_Generic_TxRepeat(), RCL_Handler_Generic_TxTest(), RCL_Handler_Ieee_RxTx(), RCL_Handler_Ieee_TxTest(), RCL_Handler_Nesb_Prx(), and RCL_Handler_Nesb_Ptx().
uint32_t swParamList[sizeof(LRF_SwParam)/sizeof(uint32_t)] |
Referenced by LRF_applySettings(), LRF_clearHwInterrupt(), LRF_programFrequency(), LRF_programTxPower(), and LRF_setupRadio().
const size_t swParamListSz = sizeof(LRF_SwParam) |
Referenced by LRF_applySettings(), and LRF_clearHwInterrupt().
struct { ... } lrfPhyState |
|
static |
Referenced by LRF_discardRxFifoWords(), LRF_prepareRxFifo(), LRF_readRxFifoWords(), and LRF_setRxFifoEffSz().
LRF_DoubleWord fXtalInv |