Power Profiles Service¶
- group Power Profiles Service
Manages groups of power rails corresponding to system states.
The Power Profiles service acts as a translation layer between high-level system states (Safe, Nominal) and physical rails.
It:
accepts commands to enter specific power profiles
executes the actual switch toggling for the rails defined in the power profile
reads rail mappings from the system configuration.
- group Types
Enumerations and structures used by the Power Profiles service.
Enums
-
struct power_profile_info_t¶
- #include <power_profiles.h>
Internal container for profile configuration data.
Used to retrieve the specific list of rails associated with a requested profile.
-
struct power_profile_info_t¶
- group Public API
Functions for applying power configurations.
Functions
-
power_profile_status_t power_profiles_enable(rail_controller_t *controller, power_profile_t profile)¶
Enable all power rails associated with a specific profile.
Iterates through the list of rails defined for the given profile and instructs the Rail Controller to turn them ON.
- Parameters:
controller – [in] The rail controller used to update rail state.
profile – [in] The target profile to enable (e.g., POWER_PROFILE_NOMINAL).
- Return values:
POWER_PROFILE_SUCCESS – Operation successful.
POWER_PROFILE_ERROR_INVALID_PROFILE – The provided profile ID does not exist.
-
power_profile_status_t power_profiles_disable(rail_controller_t *controller, power_profile_t profile)¶
Disable all power rails associated with a specific profile.
Iterates through the list of rails defined for the given profile and instructs the Rail Controller to turn them OFF.
Note
This is typically used when transitioning out of a state, or to shut down specific subsystems associated with a mode.
- Parameters:
controller – [in] The rail controller used to update rail state.
profile – [in] The target profile to disable.
- Return values:
POWER_PROFILE_SUCCESS – Operation successful.
POWER_PROFILE_ERROR_INVALID_PROFILE – The provided profile ID does not exist.
-
power_profile_status_t power_profiles_enable(rail_controller_t *controller, power_profile_t profile)¶