35using State = ove_pm_state_t;
36using WakeType = ove_pm_wake_type_t;
37using Domain = ove_pm_domain_t;
38using Event = ove_pm_event_t;
39using WakeSrc = ove_pm_wake_src;
40using Cfg = ove_pm_cfg;
41using Stats = ove_pm_stats;
50[[nodiscard]]
inline int init(
const Cfg &cfg) {
51 return ove_pm_init(&cfg);
68[[nodiscard]]
inline int set_state(State state) {
69 return ove_pm_set_state(state);
76inline State get_state() {
77 return ove_pm_get_state();
86inline void activity() {
97[[nodiscard]]
inline int wake_register(
const WakeSrc &src) {
98 return ove_pm_wake_register(&src);
106[[nodiscard]]
inline int wake_unregister(
const WakeSrc &src) {
107 return ove_pm_wake_unregister(&src);
117[[nodiscard]]
inline int domain_request(Domain domain) {
118 return ove_pm_domain_request(domain);
126[[nodiscard]]
inline int domain_release(Domain domain) {
127 return ove_pm_domain_release(domain);
135[[nodiscard]]
inline int domain_get_refcount(Domain domain) {
136 return ove_pm_domain_get_refcount(domain);
147[[nodiscard]]
inline int set_policy(ove_pm_policy_fn policy,
148 void *user_data =
nullptr) {
149 return ove_pm_set_policy(policy, user_data);
160[[nodiscard]]
inline int notify_register(ove_pm_notify_fn cb,
161 void *user_data =
nullptr) {
162 return ove_pm_notify_register(cb, user_data);
171[[nodiscard]]
inline int notify_unregister(ove_pm_notify_fn cb,
172 void *user_data =
nullptr) {
173 return ove_pm_notify_unregister(cb, user_data);
183[[nodiscard]]
inline int get_stats(Stats &stats) {
184 return ove_pm_get_stats(&stats);
190inline void reset_stats() {
191 ove_pm_reset_stats();
201[[nodiscard]]
inline int set_budget(uint32_t target_pct_x100) {
202 return ove_pm_set_budget(target_pct_x100);
210[[nodiscard]]
inline int get_budget_status(uint32_t &actual_pct_x100) {
211 return ove_pm_get_budget_status(&actual_pct_x100);
222inline void idle_process() {
223 ove_pm_idle_process();
int init()
Initialises the board hardware (clocks, pin-mux, etc.).
Definition board.hpp:35
void deinit()
Deinitialises the NVS subsystem and frees associated resources.
Definition nvs.hpp:43
Top-level namespace for all oveRTOS C++ abstractions.
Definition app.hpp:19
Common type definitions and concepts for the C++ wrapper layer.