Appiko
Data Structures | Enumerations | Functions
S2LP_Radio.h File Reference

Configuration and management of S2-LP RF Analog and Digital part. More...

#include "S2LP_Regs.h"
#include "S2LP_Types.h"

Go to the source code of this file.

Data Structures

struct  SRadioInit
 S2LP Radio Init structure definition. More...
 
struct  SAfcInit
 S2LP AFC Init structure definition. More...
 
struct  SSymClkRecInit
 S2LP Clock Recovery Init structure definition. More...
 

Enumerations

enum  ModulationSelect {
  MOD_NO_MOD = 0x70, MOD_2FSK = 0x00, MOD_4FSK = 0x10, MOD_2GFSK_BT05 = 0xA0,
  MOD_2GFSK_BT1 = 0x20, MOD_4GFSK_BT05 = 0xB0, MOD_4GFSK_BT1 = 0x30, MOD_ASK_OOK = 0x50,
  MOD_POLAR = 0x60
}
 S2LP Modulation enumeration. More...
 
enum  SAfcMode
 S2LP AFC mode enumeration.
 
enum  SIsiEqu
 S2LP ISI Equalization type enumeration.
 
enum  SClkRecMode
 S2LP Clock Recovery mode enumeration.
 

Functions

uint8_t S2LPRadioInit (SRadioInit *pxSRadioInitStruct)
 Initializes the S2LP analog and digital radio part according to the specified parameters in the pxSRadioInitStruct. More...
 
void S2LPRadioGetInfo (SRadioInit *pxSRadioInitStruct)
 Returns the S2LP analog and digital radio structure according to the registers value. More...
 
void S2LPRadioSetSynthWord (uint32_t lSynthWord)
 Sets the SYNTH registers. More...
 
uint32_t S2LPRadioGetSynthWord (void)
 Returns the synth word. More...
 
void S2LPRadioSetChannel (uint8_t cChannel)
 Sets the channel number. More...
 
uint8_t S2LPRadioGetChannel (void)
 Returns the actual channel number. More...
 
void S2LPRadioSetRefDiv (SFunctionalState xNewState)
 Set the reference divider value. More...
 
SFunctionalState S2LPRadioGetRefDiv (void)
 To know if the reference deivider is enabled or disabled. More...
 
void S2LPRadioSetDigDiv (SFunctionalState xNewState)
 Set the digital divider . More...
 
SFunctionalState S2LPRadioGetDigDiv (void)
 Get the digital divider . More...
 
void S2LPRadioSetChannelSpace (uint32_t lChannelSpace)
 Set the channel space factor in channel space register. The channel spacing step is computed as F_Xo/32768. More...
 
uint32_t S2LPRadioGetChannelSpace (void)
 Return the channel space register. More...
 
uint8_t S2LPRadioSetFrequencyBase (uint32_t lFBase)
 Set the Synth word and the Band Select register according to desired base carrier frequency. In this API the Xtal configuration is read out from the corresponding register. The user shall fix it before call this API. More...
 
uint32_t S2LPRadioGetFrequencyBase (void)
 Return the base carrier frequency. More...
 
void S2LPRadioSetDatarate (uint32_t lDatarate)
 Set the datarate. More...
 
uint32_t S2LPRadioGetDatarate (void)
 Return the datarate. More...
 
void S2LPRadioSetFrequencyDev (uint32_t lFDev)
 Set the frequency deviation. More...
 
uint32_t S2LPRadioGetFrequencyDev (void)
 Return the frequency deviation. More...
 
void S2LPRadioSetChannelBW (uint32_t lBandwidth)
 Set the channel filter bandwidth. More...
 
uint32_t S2LPRadioGetChannelBW (void)
 Return the channel filter bandwidth. More...
 
void S2LPRadioSetModulation (ModulationSelect xModulation)
 Set the modulation type. More...
 
ModulationSelect S2LPRadioGetModulation (void)
 Return the modulation type used. More...
 
void S2LPRadioSetXtalFrequency (uint32_t lXtalFrequency)
 Set the XTAL frequency. More...
 
uint32_t S2LPRadioGetXtalFrequency (void)
 Return the XTAL frequency. More...
 
void S2LPRadioSetIsiEqualizationMode (SIsiEqu xSIsiMode)
 Set the ISI equalizer. More...
 
SIsiEqu S2LPRadioGetIsiEqualizationMode (void)
 Returnthe ISI equalization. More...
 
void S2LPRadioCalibrationVco (SFunctionalState xAmplitudeCalibration, SFunctionalState xFrequencyCalibration)
 Enable the calibration of the VCO frequency and amplitude. More...
 
void S2LPRadioSetTxCalibVcoAmpWord (uint8_t value)
 Set calibration word of the aplitude in TX. More...
 
void S2LPRadioSetRxCalibVcoAmpWord (uint8_t value)
 Set calibration word of the aplitude in RX. More...
 
void S2LPRadioSetTxCalibVcoFreqWord (uint8_t value)
 Set calibration word of the frequency in TX. More...
 
void S2LPRadioSetRxCalibVcoFreqWord (uint8_t value)
 Set calibration word of the frequency in RX. More...
 
void S2LPRadioSetMaxPALevel (SFunctionalState xNewState)
 Set the MAX_DBM bit. This will allow to transmit at the maximum power. More...
 
void S2LPRadioSetPALeveldBm (uint8_t cIndex, int32_t wPowerdBm)
 Sets a specific PA_LEVEL register, with a value given in dBm. More...
 
int32_t S2LPRadioGetPALeveldBm (uint8_t cIndex)
 Returns a specific PA_LEVEL register, returning a value in dBm. More...
 
uint8_t S2LPRadioGetPALevelMaxIndex (void)
 Returns the actual PA_LEVEL_MAX_INDEX. More...
 
void S2LPRadioSetPALevelMaxIndex (uint8_t cIndex)
 Sets a specific PA_LEVEL_MAX_INDEX. More...
 
void S2LPRadioSetManualRampingMode (SFunctionalState xNewState)
 Set the manual ramping mode. More...
 
void S2LPRadioSetAutoRampingMode (SFunctionalState xNewState)
 Set the autoramping mode. If enabled: More...
 
void S2LPRadioAfcInit (SAfcInit *xSAfcInit)
 Initialize the AFC block according to the passed parameters. More...
 
void S2LPRadioGetAfcInfo (SAfcInit *xSAfcInit)
 Return the AFC struct that corresponds to the AFC block parameters set on the chip. More...
 
void S2LPRadioSymClkRecoverInit (SSymClkRecInit *xSSymClkRecInit)
 Clock recovery configuration. More...
 
void S2LPRadioGetSymClkRecoverInfo (SSymClkRecInit *xSSymClkRecInit)
 Return the clock recovery configuration. More...
 

Detailed Description

Author
LowPower RF BU - AMG
Version
1.2.1
Date
16-April-2018

In order to configure the Radio main parameters, the user can fit SRadioInit structure the and call the S2LPRadioInit() function passing its pointer as an argument.

Example:

SRadioInit radioInit = {
433400000, // base frequency
MOD_2FSK, // modulation select
38400, // datarate
20000, // frequency deviation
100000 // channel filter bandwidth
};
...
S2LPRadioInit(&radioInit);

Another important parameter for the radio configuration is the transmission power. The user is allowed to configure it using the function S2LPRadioSetPALeveldBm() which sets the PA LEVEL specified by the first argument to the power expressed in dBm by the second parameter.

Example:

Note
The effective power that is set can be a little different from the passed argument in dBm because the function performs an approximation.

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

THIS SOURCE CODE IS PROTECTED BY A LICENSE. FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.

© COPYRIGHT 2016 STMicroelectronics

Definition in file S2LP_Radio.h.