| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #include "luat_base.h"
- #include "luat_pm.h"
- #include "app_interface.h"
- #define LUAT_LOG_TAG "pm"
- #include "luat_log.h"
- int luat_pm_request(int mode) {
- // if (mode != LUAT_PM_SLEEP_MODE_LIGHT || mode == LUAT_PM_SLEEP_MODE_DEEP) {
- // LLOGW("only pm.LIGHT/pm.DEEP supported");
- // return -1;
- // }
- // uint8_t i;
- // for(i = UART_ID1; i< UART_MAX; i++)
- // {
- // Uart_Sleep(i, 0);
- // }
- if (mode != LUAT_PM_SLEEP_MODE_IDLE)
- {
- PM_SetDriverRunFlag(PM_DRV_DBG, 0);
- }
- else
- {
- PM_SetDriverRunFlag(PM_DRV_DBG, 1);
- }
- return 0;
- }
- int luat_pm_release(int mode) {
- return 0;
- }
- int luat_pm_dtimer_start(int id, size_t timeout) {
- if (id != 0)
- return -1;
- RTC_SetAlarm(timeout / 1000, NULL, NULL); // 无需回调, 或者改成回调里重启, 也不太对的样
- return 0;
- }
- int luat_pm_dtimer_stop(int id) {
- if (id != 0)
- return -1;
- RTC_SetAlarm(0, NULL, NULL); // 设置为0就是关闭
- return 0;
- }
- int luat_pm_dtimer_check(int id) {
- return -1;
- }
- // void luat_pm_cb(int event, int arg, void* args);
- int luat_pm_last_state(int *lastState, int *rtcOrPad) {
- return 0;
- }
- int luat_pm_force(int mode) {
- return luat_pm_request(mode);
- }
- int luat_pm_check(void) {
- return 0;
- }
- int luat_pm_dtimer_list(size_t* count, size_t* list) {
- *count = 0;
- return 0;
- }
- int luat_pm_dtimer_wakeup_id(int* id) {
- return -1;
- }
|