Files
hc32f460_boot/pthreads/pt_pm.h
T
2026-04-23 13:49:53 +08:00

34 lines
570 B
C

#ifndef PT_PM_H
#define PT_PM_H
#include "pt_task.h"
typedef enum {
PM_SLEEP_MODE_NONE,
PM_SLEEP_MODE_IDLE,
PM_SLEEP_MODE_LIGHT,
PM_SLEEP_MODE_DEEP,
PM_SLEEP_MODE_STANDBY,
PM_SLEEP_MODE_POWER_DOWN,
PM_SLEEP_MODE_MAX
} pm_mode_t;
typedef struct {
void (*sleep)(pm_mode_t mode);
void (*wakeup)(void);
} pm_adapter_t;
extern void pt_pm_adapter_init(pm_adapter_t *adapter);
extern void pt_pm_init(void);
extern void pt_pm_request(pm_mode_t mode);
extern void pt_pm_release(pm_mode_t mode);
extern int pt_task_pm(void);
#endif