EMU - Energy Management Unit
Description
Energy Management Unit (EMU) Peripheral API.
This module contains functions to control the EMU peripheral of Silicon Labs 32-bit MCUs and SoCs. The EMU handles the different low energy modes in Silicon Labs microcontrollers.
Data Structures |
|
struct | EMU_EM23Init_TypeDef |
EM2 and 3 initialization structure.
|
|
struct | EMU_EM4Init_TypeDef |
EM4 initialization structure.
|
|
Functions |
|
void | EMU_EM23Init (const EMU_EM23Init_TypeDef *em23Init) |
Update the EMU module with Energy Mode 2 and 3 configuration.
|
|
void | EMU_EM23PresleepHook (void) |
Energy mode 2/3 pre-sleep hook function.
|
|
void | EMU_EM23PostsleepHook (void) |
Energy mode 2/3 post-sleep hook function.
|
|
void | EMU_EM4Init (const EMU_EM4Init_TypeDef *em4Init) |
Update the EMU module with Energy Mode 4 configuration.
|
|
void | EMU_EnterEM2 (bool restore) |
Enter energy mode 2 (EM2).
|
|
void | EMU_EnterEM3 (bool restore) |
Enter energy mode 3 (EM3).
|
|
void | EMU_Save (void) |
Save the CMU HF clock select state, oscillator enable, and voltage scaling (if available) before
EMU_EnterEM2()
or
EMU_EnterEM3()
are called with the restore parameter set to false.
|
|
void | EMU_Restore (void) |
Restore CMU HF clock select state, oscillator enable, and voltage scaling (if available) after
EMU_EnterEM2()
or
EMU_EnterEM3()
are called with the restore parameter set to false.
|
|
void | EMU_EM4PresleepHook (void) |
Energy mode 4 pre-sleep hook function.
|
|
void | EMU_EnterEM4 (void) |
Enter energy mode 4 (EM4).
|
|
void | EMU_EnterEM4H (void) |
Enter energy mode 4 hibernate (EM4H).
|
|
void | EMU_EnterEM4S (void) |
Enter energy mode 4 shutoff (EM4S).
|
|
void | EMU_MemPwrDown (uint32_t blocks) |
Power down memory block.
|
|
void | EMU_RamPowerDown (uint32_t start, uint32_t end) |
Power down RAM memory blocks.
|
|
void | EMU_RamPowerUp (void) |
Power up all available RAM memory blocks.
|
|
void | EMU_UpdateOscConfig (void) |
Update EMU module with CMU oscillator selection/enable status.
|
|
void | EMU_EFPEM23PresleepHook (void) |
EFP's Energy mode 2/3 pre-sleep hook function.
|
|
void | EMU_EFPEM23PostsleepHook (void) |
EFP's Energy mode 2/3 post-sleep hook function.
|
|
void | EMU_EFPEM4PresleepHook (void) |
EFP's Energy mode 4 pre-sleep hook function.
|
|
float | EMU_TemperatureGet (void) |
Get temperature in degrees Celcius.
|
|
void | EMU_EnterEM1 (void) |
Enter energy mode 1 (EM1).
|
|
void | EMU_IntClear (uint32_t flags) |
Clear one or more pending EMU interrupts.
|
|
void | EMU_IntDisable (uint32_t flags) |
Disable one or more EMU interrupts.
|
|
void | EMU_IntEnable (uint32_t flags) |
Enable one or more EMU interrupts.
|
|
uint32_t | EMU_IntGet (void) |
Get pending EMU interrupt flags.
|
|
uint32_t | EMU_IntGetEnabled (void) |
Get enabled and pending EMU interrupt flags.
|
|
void | EMU_IntSet (uint32_t flags) |
Set one or more pending EMU interrupts.
|
|
void | EMU_Lock (void) |
Lock EMU registers in order to protect them against unintended modification.
|
|
void | EMU_Unlock (void) |
Unlock the EMU so that writing to locked registers again is possible.
|
|
void | EMU_UnlatchPinRetention (void) |
When EM4 pin retention is set to emuPinRetentionLatch, then pins are retained through EM4 entry and wakeup.
|
|
bool | EMU_TemperatureReady (void) |
Temperature measurement ready status.
|
|
Macros |
|
#define | EMU_EM23INIT_DEFAULT |
Default initialization of EM2 and 3 configuration.
|
|
#define | EMU_EM4INIT_DEFAULT |
Default initialization of EM4 configuration (Series 1 without VSCALE).
|
|
#define | EMU_TEMP_ZERO_C_IN_KELVIN (273.15f) |
Zero degrees Celcius in Kelvin.
|
|
#define | EMU_TEMPCO_CONST (0.273f) |
As we do not know what energy mode a temperature measurement was taken at, we choose a constant for the TEMPCO calculation that is midway between the EM0/EM1 constant and the EM2/EM3/EM4 constant.
|
|
Enumerations |
|
enum |
EMU_BODMode_TypeDef
{
emuBODMode_Active , emuBODMode_Inactive } |
BOD threshold setting selector, active or inactive mode.
|
|
enum |
EMU_EM4State_TypeDef
{
emuEM4Shutoff = 0, emuEM4Hibernate = 1 } |
EM4 modes.
|
|
enum |
EMU_EM4PinRetention_TypeDef
{
emuPinRetentionDisable = EMU_EM4CTRL_EM4IORETMODE_DISABLE, emuPinRetentionEm4Exit = EMU_EM4CTRL_EM4IORETMODE_EM4EXIT, emuPinRetentionLatch = EMU_EM4CTRL_EM4IORETMODE_SWUNLATCH } |
EM4 Pin Retention Type.
|
|
enum | EMU_PowerConfig_TypeDef { emuPowerConfig_DcdcToDvdd } |
Power configurations.
|
|
Function Documentation
◆ EMU_EM23Init()
void EMU_EM23Init | ( | const EMU_EM23Init_TypeDef * |
em23Init
|
) |
Update the EMU module with Energy Mode 2 and 3 configuration.
- Parameters
-