41 #include "fsl_adc16_driver.h"
43 #include "fsl_clock_manager.h"
44 #include "fsl_pmc_hal.h"
50 #include "fsl_debug_console.h"
51 #if (defined PM_RTOS_DEMO_RTC_FUNC_INSTANCE)
60 #define CHECK_RET_VAL(ret, mode) \
61 if (ret != kPowerManagerSuccess) \
63 PRINTF("POWER_SYS_SetMode(%u) returned unexpected status : %u\n\r",mode,ret); \
69 typedef enum demo_power_modes {
77 #if FSL_FEATURE_SMC_HAS_LOW_LEAKAGE_STOP_MODE
80 #if FSL_FEATURE_SMC_HAS_STOP_SUBMODE0 & BOARD_SW_HAS_LLWU_PIN
84 #if FSL_FEATURE_SMC_HAS_STOP_SUBMODE2
88 #if FSL_FEATURE_SMC_HAS_HIGH_SPEED_RUN_MODE
109 power_manager_notify_t lastType;
113 typedef enum wakeUpSource
121 typedef struct lptmrStructure
135 extern power_manager_user_config_t
const vlprConfig;
137 extern power_manager_user_config_t
const vlpwConfig;
139 #if FSL_FEATURE_SMC_HAS_STOP_SUBMODE0 & BOARD_SW_HAS_LLWU_PIN
140 extern power_manager_user_config_t
const vlls0Config;
142 extern power_manager_user_config_t
const vlls1Config;
143 #if FSL_FEATURE_SMC_HAS_STOP_SUBMODE2
144 extern power_manager_user_config_t
const vlls2Config;
146 extern power_manager_user_config_t
const vlls3Config;
147 #if FSL_FEATURE_SMC_HAS_LOW_LEAKAGE_STOP_MODE
148 extern power_manager_user_config_t
const llsConfig;
150 extern power_manager_user_config_t
const vlpsConfig;
151 extern power_manager_user_config_t
const waitConfig;
152 extern power_manager_user_config_t
const stopConfig;
153 extern power_manager_user_config_t
const runConfig;
154 #if FSL_FEATURE_SMC_HAS_HIGH_SPEED_RUN_MODE
155 extern power_manager_user_config_t
const hsrunConfig;
158 extern power_manager_user_config_t
const *
powerConfigs[];
161 extern power_manager_error_code_t
rtos_pm_callback(power_manager_notify_struct_t * notify,
162 power_manager_callback_data_t * dataPtr);
164 extern clock_manager_error_code_t
rtos_cm_callback(clock_notify_struct_t *notify,
168 extern power_manager_error_code_t
adc16_pm_callback(power_manager_notify_struct_t * notify,
169 power_manager_callback_data_t * dataPtr);
171 extern clock_manager_error_code_t
adc16_cm_callback(clock_notify_struct_t * notify,
void* callbackData);
241 #if FSL_FEATURE_LLWU_HAS_INTERNAL_MODULE
245 void llwuDisableWakeUp(
void);
273 #if FSL_FEATURE_SMC_HAS_HIGH_SPEED_RUN_MODE
277 void updateClockManagerToHsRunMode(uint8_t cmConfigMode);
288 void delay(uint32_t delay_time);
Definition: demo_apps/power_manager_hal_demo/main.c:106
clock_manager_error_code_t rtos_cm_callback(clock_notify_struct_t *notify, void *callbackData)
Definition: rtos_lpm_callback.c:77
power_manager_user_config_t const vlpwConfig
Definition: register_callback.c:72
uint8_t selectWakeUpSource(demo_power_modes_t mode)
Get the wakeup source choice from user.
Definition: demo_apps/power_manager_hal_demo/main.c:362
power_manager_user_config_t const * powerConfigs[]
Definition: register_callback.c:168
clock_manager_callback_user_config_t dbg_console_cm_callback_data
power_manager_user_config_t const vlls1Config
Definition: register_callback.c:90
power_manager_callback_user_config_t * pm_callback_tbl[]
Definition: register_callback.c:227
void printWakeUpSourceText(void)
Print on debug console the available wakeup source memu.
Definition: demo_apps/power_manager_hal_demo/main.c:344
Definition: demo_apps/power_manager_hal_demo/main.c:93
void updateClockMode(uint8_t cmConfigMode)
Update clock to compatible with RUN mode.
Definition: task_lpm.c:425
Definition: demo_apps/power_manager_hal_demo/main.c:77
demo_power_modes_t
Definition: demo_apps/power_manager_hal_demo/main.c:70
Definition: task_lpm.h:118
power_manager_user_config_t const vlls3Config
Definition: register_callback.c:108
void cmdAlarm(wakeUpSource_t wus, uint8_t offsetSec)
set alarm command.
Definition: task_lpm.c:90
lptmr_state_t lptmrState
Definition: task_lpm.h:125
void updateClockManagerToVlprMode(uint8_t cmConfigMode)
update clock manager to vlpr mode.
Definition: demo_apps/power_manager_hal_demo/main.c:524
Definition: demo_apps/power_manager_hal_demo/main.c:88
clock_manager_callback_user_config_t * cm_callback_tbl[]
Definition: register_callback.c:207
power_manager_user_config_t const runConfig
Definition: register_callback.c:157
Definition: demo_apps/power_manager_hal_demo/main.c:92
Definition: demo_apps/power_manager_hal_demo/main.c:71
Definition: demo_apps/power_manager_hal_demo/main.c:99
Definition: task_lpm.h:116
#define MODULE_IRQ_HANDLER(module)
Definition: lpm_rtos.h:78
Definition: demo_apps/power_manager_hal_demo/main.c:76
lptmrStructure_t cmCallbackData
Definition: register_callback.c:56
void updateClockManagerToRunMode(uint8_t cmConfigMode)
update clock manager to run mode.
Definition: demo_apps/power_manager_hal_demo/main.c:514
power_manager_callback_user_config_t const rtos_pm_callback_data
power_manager_user_config_t const vlprConfig
Definition: register_callback.c:63
lptmr_user_config_t lptmrUserConfig
Definition: task_lpm.h:124
Definition: demo_apps/power_manager_hal_demo/main.c:73
void MODULE_IRQ_HANDLER() LLWU(void)
Definition: task_lpm.c:147
power_manager_error_code_t adc16_pm_callback(power_manager_notify_struct_t *notify, power_manager_callback_data_t *dataPtr)
Definition: adc16_lpm_callback.c:41
Definition: task_lpm.h:121
power_manager_user_config_t const waitConfig
Definition: register_callback.c:141
size_t const cm_callback_tbl_size
Definition: register_callback.c:233
clock_manager_error_code_t dbg_console_cm_callback(clock_notify_struct_t *notify, void *callbackData)
Definition: debug_console_lpm_callback.c:41
power_manager_user_config_t const vlpsConfig
Definition: register_callback.c:133
power_manager_error_code_t rtos_pm_callback(power_manager_notify_struct_t *notify, power_manager_callback_data_t *dataPtr)
Definition: rtos_lpm_callback.c:138
void displayPowerMode(void)
display current power mode.
Definition: demo_apps/power_manager_hal_demo/main.c:490
Definition: demo_apps/power_manager_hal_demo/main.c:74
Definition: demo_apps/power_manager_hal_demo/main.c:72
wakeUpSource_t
Definition: task_lpm.h:113
clock_manager_callback_user_config_t rtos_cm_callback_data
Definition: demo_apps/power_manager_hal_demo/main.c:94
size_t const pm_callback_tbl_size
Definition: register_callback.c:235
power_manager_user_config_t const stopConfig
Definition: register_callback.c:149
size_t const powerConfigsSize
Definition: register_callback.c:234
void gpioEnableWakeUp(void)
set gpio switch as wakeup source.
Definition: demo_apps/power_manager_hal_demo/main.c:452
wakeUpSource_t getWakeupSource(uint8_t val, demo_power_modes_t mode)
get wake up source from given character.
Definition: task_lpm.c:107
Definition: task_lpm.h:115
uint8_t setWakeUpTimeOut(wakeUpSource_t wus)
set timeout for timer module.
Definition: task_lpm.c:178
void gpioDisableWakeUp(void)
disable gpio switch.
Definition: demo_apps/power_manager_hal_demo/main.c:440
Definition: demo_apps/power_manager_hal_demo/main.c:84
Definition: demo_apps/power_manager_hal_demo/main.c:75
clock_manager_callback_user_config_t adc16_cm_callback_data
void task_lpm(task_param_t param)
Definition: task_lpm.c:454
void BOARD_SW_LLWU_IRQ_HANDLER(void)
IRQ handler for switch/button.
Definition: demo_apps/power_manager_hal_demo/main.c:256
clock_manager_error_code_t adc16_cm_callback(clock_notify_struct_t *notify, void *callbackData)
Definition: task_lpm.h:93
Definition: task_lpm.h:117
void delay(uint32_t delay_time)
Definition: task_lpm.c:445
power_manager_callback_user_config_t const adc16_pm_callback_data
void setWakeUpSource(uint8_t source, char *textMode)
Definition: demo_apps/power_manager_hal_demo/main.c:464
uint32_t instance
Definition: task_lpm.h:123