Appiko
S2LP_General.c
Go to the documentation of this file.
1 
23 /* Includes ------------------------------------------------------------------*/
24 #include "S2LP_General.h"
25 #include "MCU_Interface.h"
26 
27 
65 #define IS_MODE_EXT(MODE) (MODE == MODE_EXT_XO || \
66  MODE == MODE_EXT_XIN)
67 
105 {
106  uint8_t tmp;
107  s_assert_param(IS_MODE_EXT(xExtMode));
108 
109  S2LPSpiReadRegisters(XO_RCO_CONF0_ADDR, 1, &tmp);
110  if(xExtMode == MODE_EXT_XO) {
111  tmp &= ~EXT_REF_REGMASK;
112  }
113  else {
114  tmp |= EXT_REF_REGMASK;
115  }
116  g_xStatus = S2LPSpiWriteRegisters(XO_RCO_CONF0_ADDR, 1, &tmp);
117 
118 }
119 
120 
128 {
129  uint8_t tmp;
130  g_xStatus = S2LPSpiReadRegisters(XO_RCO_CONF0_ADDR, 1, &tmp);
131  return (ModeExtRef)(tmp & EXT_REF_REGMASK);
132 }
133 
134 
141 {
142  uint8_t tmp;
143  g_xStatus = S2LPSpiReadRegisters(DEVICE_INFO1_ADDR, 1, &tmp);
144  return tmp;
145 }
146 
153 {
154  uint8_t tmp;
155  S2LPSpiReadRegisters(DEVICE_INFO0_ADDR, 1, &tmp);
156  return tmp;
157 }
158 
159 
167 {
168  uint8_t tmp;
169  s_assert_param(IS_SFUNCTIONAL_STATE(xNewState));
170 
171  S2LPSpiReadRegisters(PM_CONF4_ADDR, 1, &tmp);
172 
173  if(xNewState == S_ENABLE) {
174  tmp |= EXT_SMPS_REGMASK;
175  } else {
176  tmp &= ~EXT_SMPS_REGMASK;
177  }
178  g_xStatus = S2LPSpiWriteRegisters(PM_CONF4_ADDR, 1, &tmp);
179 }
180 
196 /******************* (C) COPYRIGHT 2016 STMicroelectronics *****END OF FILE****/
ModeExtRef
S2LP version type enumeration.
Definition: S2LP_General.h:62
Configuration and management of S2-LP General functionalities.
SFunctionalState
S2LP Functional state. Used to enable or disable a specific option.
Definition: S2LP_Types.h:67
void S2LPRadioSetExternalSmpsMode(SFunctionalState xNewState)
Disable or enable the internal SMPS.
Definition: S2LP_General.c:166
#define PM_CONF4_ADDR
PM_CONF4 register.
Definition: S2LP_Regs.h:1380
ModeExtRef S2LPGeneralGetExtRef(void)
Return External Reference.
Definition: S2LP_General.c:127
void S2LPGeneralSetExtRef(ModeExtRef xExtMode)
Set External Reference.
Definition: S2LP_General.c:104
#define DEVICE_INFO1_ADDR
DEVICE_INFO1 register.
Definition: S2LP_Regs.h:1786
uint8_t S2LPGeneralGetVersion(void)
Return S2LP version.
Definition: S2LP_General.c:152
volatile S2LPStatus g_xStatus
S2LP Status global variable. This global variable of S2LPStatus type is updated on every SPI transact...
Definition: S2LP_Types.c:82
uint8_t S2LPGeneralGetDevicePN(void)
Return device part number.
Definition: S2LP_General.c:140
#define XO_RCO_CONF0_ADDR
XO_RCO_CONF0 register.
Definition: S2LP_Regs.h:1325
Header file for low level S2LP SPI driver.
#define DEVICE_INFO0_ADDR
DEVICE_INFO0 register.
Definition: S2LP_Regs.h:1799