/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2025. All rights reserved. * * Description: TjdUiScreenManage.cpp * * Author: luziquan@ss-tjd.com * * Create: 2025-04-07 *--------------------------------------------------------------------------*/ #include "TjdUiScreenManage.h" #include "sys_config.h" namespace TJD { #define ENABLE_PRINT_INFO 0 #if ENABLE_PRINT_INFO #define static_print_info(...) sys_ui_log_i(__VA_ARGS__) //一般信息打印宏控制 #define static_print_warn(...) sys_ui_log_w(__VA_ARGS__) //警告信息打印一般常开 #define static_print_error(...) sys_ui_log_e(__VA_ARGS__) //错误信息打印一般常开 #define static_print_debug(...) sys_ui_log_d(__VA_ARGS__) #else #define static_print_info(...) #define static_print_warn(...) #define static_print_error(...) #define static_print_debug(...) #endif void TjdUiScreenManage::SetScreenOnSystime(uint32_t time_ms) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); errcode_t ret = display_api->set_screen_auto_off_timeout(time_ms); if (ret != ERRCODE_SUCC) { static_print_error("set screen on systime failed %d", ret); } } //设置屏幕亮屏超时时长,单位ms。总时长等于:屏幕默认熄屏时长+屏幕超时时长。 void TjdUiScreenManage::SetScreenKeepOnTimeout(uint32_t time_ms) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); errcode_t ret = display_api->set_screen_set_keepon_timeout(0); if (ret != ERRCODE_SUCC) { static_print_error("set screen keep on timeout failed %d", ret); } if (display_api->get_screen_state() != SCREEN_ON) { display_api->turn_on_screen(); } ret = display_api->set_screen_set_keepon_timeout(time_ms); if (ret != ERRCODE_SUCC) { static_print_error("set screen keep on timeout failed %d", ret); } } void TjdUiScreenManage::ResetScreenKeepOnTimeout(void) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); errcode_t ret = display_api->set_screen_set_keepon_timeout(0); if (ret != ERRCODE_SUCC) { static_print_error("reset screen keep on timeout failed %d", ret); } } void TjdUiScreenManage::SetScreenAlwayOn(void) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); display_api->set_auto_timeout_function(0); errcode_t ret = display_api->set_screen_set_keepon_timeout(-1); if (ret != ERRCODE_SUCC) { static_print_error("set screen always on failed %d", ret); } } void TjdUiScreenManage::CloseScreen(void) { const power_display_svr_api_t *display_api = power_display_svr_get_api(); errcode_t ret = display_api->set_screen_set_keepon_timeout(0); if (ret != ERRCODE_SUCC) { static_print_error("close screen failed %d", ret); } // return display_api->turn_off_screen(); } void TjdUiScreenManage::DisableBackHomeInterval(void) { static_print_debug("set disable go slice"); set_back_to_home_interval(0xffffffff); } void TjdUiScreenManage::ResetBackHomeInterval(void) { static_print_debug("set go slice time:%d", time_s); set_back_to_home_interval(TJDUI_DEFAULT_GO_MAIN_SLICE_AFTER_SCREEN_OFF_S); } }; // namespace TJD