From 7feeffdf06170244ff0586d09b745eb25a7e542a Mon Sep 17 00:00:00 2001
From: Scott Lahteine <thinkyhead@users.noreply.github.com>
Date: Fri, 4 Nov 2022 20:00:56 -0500
Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20leds.update=20needed=20for=20res?=
 =?UTF-8?q?et=5Ftimeout?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Followup to #23590
---
 Marlin/src/feature/leds/leds.h | 14 ++++++++------
 buildroot/tests/rambo          |  2 +-
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/Marlin/src/feature/leds/leds.h b/Marlin/src/feature/leds/leds.h
index 8649dd014fbf..572fd0dfac4e 100644
--- a/Marlin/src/feature/leds/leds.h
+++ b/Marlin/src/feature/leds/leds.h
@@ -107,6 +107,13 @@ typedef struct LEDColor {
 
 class LEDLights {
 public:
+  #if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS, CASE_LIGHT_IS_COLOR_LED)
+    static LEDColor color; // last non-off color
+    static bool lights_on; // the last set color was "on"
+  #else
+    static constexpr bool lights_on = true;
+  #endif
+
   LEDLights() {} // ctor
 
   static void setup(); // init()
@@ -142,15 +149,10 @@ class LEDLights {
     static LEDColor get_color() { return lights_on ? color : LEDColorOff(); }
   #endif
 
-  #if ANY(LED_CONTROL_MENU, PRINTER_EVENT_LEDS, CASE_LIGHT_IS_COLOR_LED)
-    static LEDColor color; // last non-off color
-    static bool lights_on; // the last set color was "on"
-  #endif
-
   #if ENABLED(LED_CONTROL_MENU)
     static void toggle();  // swap "off" with color
   #endif
-  #if EITHER(LED_CONTROL_MENU, CASE_LIGHT_USE_RGB_LED)
+  #if EITHER(LED_CONTROL_MENU, CASE_LIGHT_USE_RGB_LED) || LED_POWEROFF_TIMEOUT > 0
     static void update() { set_color(color); }
   #endif
 
diff --git a/buildroot/tests/rambo b/buildroot/tests/rambo
index de6cdc71297b..9a017c971fbb 100755
--- a/buildroot/tests/rambo
+++ b/buildroot/tests/rambo
@@ -32,7 +32,7 @@ opt_enable USE_ZMAX_PLUG REPRAP_DISCOUNT_SMART_CONTROLLER LCD_PROGRESS_BAR LCD_P
            SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE \
            BACKLASH_COMPENSATION BACKLASH_GCODE BAUD_RATE_GCODE BEZIER_CURVE_SUPPORT \
            FWRETRACT ARC_P_CIRCLES CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \
-           PSU_CONTROL PS_OFF_CONFIRM PS_OFF_SOUND POWER_OFF_WAIT_FOR_COOLDOWN \
+           PSU_CONTROL LED_POWEROFF_TIMEOUT PS_OFF_CONFIRM PS_OFF_SOUND POWER_OFF_WAIT_FOR_COOLDOWN \
            POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE POWER_LOSS_RECOVER_ZHOME POWER_LOSS_ZHOME_POS \
            SLOW_PWM_HEATERS THERMAL_PROTECTION_CHAMBER LIN_ADVANCE ADVANCE_K_EXTRA \
            HOST_ACTION_COMMANDS HOST_PROMPT_SUPPORT PINS_DEBUGGING MAX7219_DEBUG M114_DETAIL