From 21d4d510896babdcaa7d1972ff7be056e6d7d6ef Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Fri, 21 Nov 2025 14:34:42 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E9=9B=B7=E9=B8=9F=E8=83=8C?= =?utf8?q?=E5=85=89=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../power_manager/src/actions/display_action.c | 8 +++++--- .../power_manager/src/power_display_service.c | 15 +++++++++------ code/sdk/zhihui/utils/custom_utils.c | 16 +++++++++++++++- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/code/sdk/application/wearable/ln/service/power_manager/src/actions/display_action.c b/code/sdk/application/wearable/ln/service/power_manager/src/actions/display_action.c index db48adb9e..bb829f8ce 100644 --- a/code/sdk/application/wearable/ln/service/power_manager/src/actions/display_action.c +++ b/code/sdk/application/wearable/ln/service/power_manager/src/actions/display_action.c @@ -153,14 +153,16 @@ static uint32_t action_display_lcd_on() POWER_DISPLAY_PRINT_ERR(0, "drv vau resume error ret=%x\r\n", ret); return ERRCODE_FAIL; } -#if defined(CUSTOM_UTILS) && defined(BOARD_LEINIAO) - uapi_lcd_backlight_on(); -#endif + ret = uapi_lcd_init(); if (ret != 0 && ret != EXT_ERR_MIPI_ALREADY_INIT) { POWER_DISPLAY_PRINT_ERR(0, "LCD init error ret=%x\r\n", ret); return ERRCODE_FAIL; } + +#if defined(CUSTOM_UTILS) && defined(BOARD_LEINIAO) + uapi_lcd_backlight_on(); +#endif } #if defined(ENABLE_UIKIT) || defined(ENABLE_LVGL) NotifyScreenOn(); // Instruct the uikit to start the display operation. diff --git a/code/sdk/application/wearable/ln/service/power_manager/src/power_display_service.c b/code/sdk/application/wearable/ln/service/power_manager/src/power_display_service.c index 19b9d2ba7..b6b50376f 100644 --- a/code/sdk/application/wearable/ln/service/power_manager/src/power_display_service.c +++ b/code/sdk/application/wearable/ln/service/power_manager/src/power_display_service.c @@ -94,9 +94,6 @@ static errcode_t power_display_msg_write(uint32_t msg_id, uint8_t *msg, uint16_t static errcode_t power_display_turn_on_screen(void) { -#if defined(CUSTOM_UTILS) && defined(BOARD_LEINIAO) - uapi_lcd_backlight_on(); -#endif #ifndef SUPPORT_OHOSFWK message_type_t mt = TURN_ON_SCREEN_CMD; uint32_t event_info = 0; @@ -107,14 +104,15 @@ static errcode_t power_display_turn_on_screen(void) #else PostGraphicEvent(power_display_turnon_handle_ext, NULL); #endif + +#if defined(CUSTOM_UTILS) && defined(BOARD_LEINIAO) + uapi_lcd_backlight_on(); +#endif return ERRCODE_SUCC; } static errcode_t power_display_turn_off_screen(void) { -#if defined(CUSTOM_UTILS) && defined(BOARD_LEINIAO) - uapi_lcd_backlight_off(); -#endif #ifndef SUPPORT_OHOSFWK message_type_t mt = TURN_OFF_SCREEN_CMD; uint32_t event_info = 0; @@ -125,6 +123,11 @@ static errcode_t power_display_turn_off_screen(void) #else PostGraphicEvent(power_display_turnoff_handle_ext, NULL); #endif + +#if defined(CUSTOM_UTILS) && defined(BOARD_LEINIAO) + uapi_lcd_backlight_off(); +#endif + return ERRCODE_SUCC; } diff --git a/code/sdk/zhihui/utils/custom_utils.c b/code/sdk/zhihui/utils/custom_utils.c index 1435c6945..ada64f275 100644 --- a/code/sdk/zhihui/utils/custom_utils.c +++ b/code/sdk/zhihui/utils/custom_utils.c @@ -4633,10 +4633,17 @@ void uapi_get_lcd_id(uint32_t *id) } } +static uint8_t backlight_status = 0; #define LCD_BACKLIGHT_PWM_PIN S_AGPIO_L16 /* 背光PWM引脚 */ void uapi_lcd_backlight_off(void) { + + if(backlight_status == 0) + return; + + backlight_status = 0; + uapi_pin_set_mode(LCD_BACKLIGHT_PWM_PIN, HAL_PIO_FUNC_GPIO); uapi_gpio_set_dir(LCD_BACKLIGHT_PWM_PIN, GPIO_DIRECTION_OUTPUT); uapi_gpio_set_val(LCD_BACKLIGHT_PWM_PIN, GPIO_LEVEL_LOW); @@ -4646,7 +4653,14 @@ void uapi_lcd_backlight_off(void) void uapi_lcd_backlight_on(void) { - uint8_t brightness = 100; + + if(backlight_status == 1) + return; + + backlight_status = 1; + + + uint8_t brightness = 5; brightness = cm_getScreenBrightness(); printf("brightness:%d\n",brightness); -- 2.17.1