Global configuration structure. More...
#include <PowerCC26XX.h>
Data Fields | |
Power_PolicyInitFxn | policyInitFxn |
The Power Policy's initialization function. More... | |
Power_PolicyFxn | policyFxn |
The Power Policy function. More... | |
bool(* | calibrateFxn )(unsigned int arg) |
The function to be used for activating RC Oscillator (RCOSC) calibration. More... | |
uint32_t | maxStandbyDuration |
Time in system ticks that specifies the maximum duration the device may spend in standby. More... | |
uint16_t | vddrRechargeMargin |
Margin in SCLK_LF periods subtracted from previous longest VDDR recharge period. More... | |
bool | enableMaxStandbyDuration |
Boolean that enables limiting the duration spent in standby. More... | |
bool | enablePolicy |
Boolean specifying if the Power Policy function is enabled. More... | |
bool | calibrateRCOSC_LF |
Boolean specifying whether the low frequency RC oscillator (RCOSC_LF) should be calibrated. More... | |
bool | calibrateRCOSC_HF |
Boolean specifying whether the high frequency RC oscillator (RCOSC_HF) should be calibrated. More... | |
Global configuration structure.
Power_PolicyInitFxn PowerCC26XX_Config::policyInitFxn |
The Power Policy's initialization function.
If the policy does not have an initialization function, 'NULL' should be specified.
Power_PolicyFxn PowerCC26XX_Config::policyFxn |
The Power Policy function.
When enabled, this function is invoked in the idle loop, to opportunistically select and activate sleep states.
Two reference policies are provided:
PowerCC26XX_doWFI() - a simple policy that invokes CPU wait for interrupt (WFI)
PowerCC26XX_standbyPolicy() - an agressive policy that considers constraints, time until next scheduled work, and sleep state latencies, and optionally puts the device into the STANDBY state, the IDLE state, or as a minimum, WFI.
Custom policies can be written, and specified via this function pointer.
In addition to this static selection, the Power Policy can be dynamically changed at runtime, via the Power_setPolicy() API.
bool(* PowerCC26XX_Config::calibrateFxn) (unsigned int arg) |
The function to be used for activating RC Oscillator (RCOSC) calibration.
Calibration is normally enabled, via specification of the function PowerCC26XX_calibrate(). This enables high accuracy operation, and faster high frequency crystal oscillator (XOSC_HF) startups.
To disable RCOSC calibration, the function PowerCC26XX_noCalibrate() should be specified.
uint32_t PowerCC26XX_Config::maxStandbyDuration |
Time in system ticks that specifies the maximum duration the device may spend in standby.
When the power driver tries to put the device into standby and determines the next wakeup should usually be further into the future than maxStandbyDuration system ticks, the power driver will schedule a wakeup maxStandbyDuration into the future. When the device wakes up after being in standby for maxStandbyDuration ticks, the power driver will repeat this process and go back into standby if the state of the system allows it.
Inserting such periodic wakeups can be used to automatically calibrate the RCOSC with a maximum period between calibrations or to force the recalculation of the initial VDDR recharge period. This assumes that the constraint to prohibit standby is not set and that periods of inactivity are long enough for the power driver to put the device into standby.
The value 0 is invalid. When PowerCC26XX_Config.enableMaxStandbyDuration is set to false, any value (including 0) is ignored and the feature is disabled. This feature should not be used to disallow entering standby; the PowerCC26XX_DISALLOW_STANDBY constraint should be used for this purpose.
uint16_t PowerCC26XX_Config::vddrRechargeMargin |
Margin in SCLK_LF periods subtracted from previous longest VDDR recharge period.
As the device comes out of standby, it updated its previous initial VDDR recharge period to be closer to the longest recharge period experienced during the time spent in standby before waking up.
vddrRechargeMargin is subtracted from the longest VDDR recharge period in SysCtrlAdjustRechargeAfterPowerDown to ensure there is some margin between the new initial and converged VDDR recharge period. The converged recharge period at a certain temperature is board and device dependent.
The default value of 0 disables this feature.
bool PowerCC26XX_Config::enableMaxStandbyDuration |
Boolean that enables limiting the duration spent in standby.
If false, the power driver will put the device into standby as appropriate without duration restrictions.
If true, the the power driver will force a wakeup every PowerCC26XX_Config.maxStandbyDuration system ticks before reevaluating the state of the system.
This is set to false by default.
bool PowerCC26XX_Config::enablePolicy |
Boolean specifying if the Power Policy function is enabled.
If 'true', the policy function will be invoked once for each pass of the idle loop.
If 'false', the policy will not be invoked.
In addition to this static setting, the power policy can be dynamically enabled and disabled at runtime, via the Power_enablePolicy() and Power_disablePolicy() functions, respectively.
bool PowerCC26XX_Config::calibrateRCOSC_LF |
Boolean specifying whether the low frequency RC oscillator (RCOSC_LF) should be calibrated.
If RCOSC calibration is enabled (above, via specification of an appropriate calibrateFxn), this Boolean specifies whether RCOSC_LF should be calibrated.
bool PowerCC26XX_Config::calibrateRCOSC_HF |
Boolean specifying whether the high frequency RC oscillator (RCOSC_HF) should be calibrated.
If RCOSC calibration is enabled (above, via specification of an appropriate calibrateFxn), this Boolean specifies whether RCOSC_HF should be calibrated.