67 #define IS_RSSI_MODE(MODE) (MODE<=3) 68 #define IS_RSSI_DBM(VAL) ((VAL>=-146) && (VAL<=-2)) 69 #define IS_RSSI_FLT(VAL) (VAL<=15) 70 #define IS_PQI_LVL_CHECK(VAL) (VAL<=15) 71 #define S2LPRadioRegToRssidBm(VAL) (VAL - 146) 72 #define S2LPRadioRssidBmToReg(VAL) (uint8_t)(VAL+146) 113 return S2LPRadioRegToRssidBm((int32_t)tmp);
123 uint8_t tmpBuffer[2];
129 return S2LPRadioRegToRssidBm((int32_t)tmpBuffer[1]);
142 s_assert_param(IS_RSSI_DBM(wRssiThrehsold));
144 tmp = S2LPRadioRssidBmToReg(wRssiThrehsold);
157 uint8_t tmpBuffer[2];
159 s_assert_param(IS_RSSI_MODE(xSRssiInit->
xRssiMode));
161 s_assert_param(IS_RSSI_FLT(xSRssiInit->
cRssiFlt));
167 tmpBuffer[0] &= ~(RSSI_FLT_REGMASK | CS_MODE_REGMASK);
168 tmpBuffer[0] |= (xSRssiInit->
cRssiFlt<<4);
169 tmpBuffer[0] |= (xSRssiInit->
xRssiMode<<2);
185 uint8_t tmpBuffer[2];
190 xSRssiInit->
cRssiFlt = (tmpBuffer[0]&RSSI_FLT_REGMASK)>>4;
205 s_assert_param(IS_SFUNCTIONAL_STATE(xCsBlank));
209 if(xCsBlank == S_ENABLE) {
210 tmp |= CS_BLANKING_REGMASK;
212 tmp &= ~CS_BLANKING_REGMASK;
228 s_assert_param(IS_SFUNCTIONAL_STATE(xAntennaSwitch));
232 if(xAntennaSwitch == S_ENABLE) {
233 tmp |= AS_ENABLE_REGMASK;
235 tmp &= ~AS_ENABLE_REGMASK;
250 s_assert_param(IS_PQI_LVL_CHECK(cPqiLevel));
252 S2LPSpiReadRegisters(
QI_ADDR, 1, &tmp);
253 tmp &= ~PQI_TH_REGMASK;
254 tmp |= (((uint8_t)cPqiLevel)<<1);
255 S2LPSpiWriteRegisters(
QI_ADDR, 1, &tmp);
270 tmp = (tmp&CS_REGMASK)>>7;
void S2LPRadioSetRssiThreshdBm(int32_t wRssiThrehsold)
Set the RSSI threshold in dBm.
void S2LPRadioAntennaSwitching(SFunctionalState xAntennaSwitch)
Enable or Disable the antenna switching.
SFlagStatus S2LPQiGetCs(void)
Return the CS (carrier sense) indication.
SFunctionalState
S2LP Functional state. Used to enable or disable a specific option.
void S2LPRadioSetPqiCheck(uint8_t cPqiLevel)
Set the PQI check.
#define RSSI_FLT_ADDR
RSSI_FLT register.
#define RSSI_LEVEL_ADDR
RSSI_LEVEL register.
SFlagStatus
S2LP Flag status. Used to control the state of a flag.
Configuration and management of S2LP QI.
int32_t S2LPRadioGetRssidBmRun(void)
Returns the RSSI value from a current RX mode.
void S2LPRadioGetRssiInfo(SRssiInit *xSRssiInit)
Return the RSSI measurements information to be filled with the information.
void S2LPRadioRssiInit(SRssiInit *xSRssiInit)
Initialize the RSSI measurement.
#define QI_ADDR
QI register.
volatile S2LPStatus g_xStatus
S2LP Status global variable. This global variable of S2LPStatus type is updated on every SPI transact...
SRssiMode
S2LP RSSI mode enumeration.
void S2LPRadioCsBlanking(SFunctionalState xCsBlank)
Enable or disables the CS blanking.
#define ANT_SELECT_CONF_ADDR
ANT_SELECT_CONF register.
#define RSSI_TH_ADDR
RSSI_TH register.
Header file for low level S2LP SPI driver.
#define LINK_QUALIF1_ADDR
LINK_QUALIF1 register.
int32_t S2LPRadioGetRssidBm(void)
Returns the RSSI value.
#define RSSI_LEVEL_RUN_ADDR
RSSI_LEVEL_RUN register.