diff --git a/extmod/modtrezorui/display-stmhal.h b/extmod/modtrezorui/display-stmhal.h index 32c77a41..7b288eed 100644 --- a/extmod/modtrezorui/display-stmhal.h +++ b/extmod/modtrezorui/display-stmhal.h @@ -203,9 +203,9 @@ void display_update(void) { int display_backlight(int val) { - if (val >= 0 && val <= 255) { + if (BACKLIGHT != val && val >= 0 && val <= 255) { BACKLIGHT = val; + __HAL_TIM_SetCompare(&TIM1_Handle, TIM_CHANNEL_1, LED_PWM_TIM_PERIOD * BACKLIGHT / 255); } - __HAL_TIM_SetCompare(&TIM1_Handle, TIM_CHANNEL_1, LED_PWM_TIM_PERIOD * BACKLIGHT / 255); return BACKLIGHT; } diff --git a/extmod/modtrezorui/display-unix.h b/extmod/modtrezorui/display-unix.h index 46f3bdab..1b5dcc42 100644 --- a/extmod/modtrezorui/display-unix.h +++ b/extmod/modtrezorui/display-unix.h @@ -128,9 +128,9 @@ int display_orientation(int degrees) int display_backlight(int val) { - if (val >= 0 && val <= 255) { + if (BACKLIGHT != val && val >= 0 && val <= 255) { BACKLIGHT = val; + SDL_SetRenderDrawColor(RENDERER, BACKLIGHT, BACKLIGHT, BACKLIGHT, 255); } - SDL_SetRenderDrawColor(RENDERER, BACKLIGHT, BACKLIGHT, BACKLIGHT, 255); return BACKLIGHT; }