#include "pm_cmd_process.h" #include "ate_at_process.h" #include "common_pm.h" #include "pm_control.h" static struct power_manager_class_ops *g_pm_api; result_t pm_get_model_status(uint8_t *para, uint32_t para_len) { result_t result = {0}; for (uint8_t i = 0; i < POWER_MODEL_MAX_ID; i++) { uint32_t status = g_pm_api->get_model_power_status(i); printf("model_id:%d, status:%d\n", i, status); } return result; } result_t pm_set_model_status(uint8_t *para, uint32_t para_len) { result_t result = {0}; int32_t argc = 0; uint8_t *argv[AT_MAX_PARAM_CNT]; convert_at_param(para, para_len, &argc, argv); if (argc < 2) { result.code = -1; free_argv(argv, argc); return result; } if (atoi(argv[0]) == 10) { int val = atoi(argv[1]); if (val) { uapi_pm_control(PM_DISPLAY_POWER_UP_AND_RUN); } else { uapi_pm_control(PM_DISPLAY_POWER_OFF); } free_argv(argv, argc); return result; } const power_model_id_t model_id = (power_model_id_t)atoi(argv[0]); const power_status_t status = (power_status_t)atoi(argv[1]); result.code = g_pm_api->set_model_power_status(model_id, status); free_argv(argv, argc); return result; } void pm_cmd_process_init(void) { g_pm_api = tjd_driver_common_pm_get_ops(); }