Ver código fonte

Fix mini12864 v2.1 + PSU control + NeoPixel backlight (#21021)

ellensp 4 anos atrás
pai
commit
6dcb77f7b5
Nenhuma conta vinculada ao e-mail do autor do commit

+ 7
- 5
Marlin/src/feature/leds/leds.cpp Ver arquivo

@@ -147,11 +147,13 @@ void LEDLights::set_color(const LEDColor &incol
147 147
   millis_t LEDLights::led_off_time; // = 0
148 148
 
149 149
   void LEDLights::update_timeout(const bool power_on) {
150
-    const millis_t ms = millis();
151
-    if (power_on)
152
-      reset_timeout(ms);
153
-    else if (ELAPSED(ms, led_off_time))
154
-      set_off();
150
+    if (lights_on) {
151
+      const millis_t ms = millis();
152
+      if (power_on)
153
+        reset_timeout(ms);
154
+      else if (ELAPSED(ms, led_off_time))
155
+        set_off();
156
+    }
155 157
   }
156 158
 
157 159
 #endif

+ 1
- 1
Marlin/src/feature/leds/leds.h Ver arquivo

@@ -203,7 +203,7 @@ public:
203 203
     public:
204 204
       static inline void reset_timeout(const millis_t &ms) {
205 205
         led_off_time = ms + LED_BACKLIGHT_TIMEOUT;
206
-        if (!lights_on) set_default();
206
+        if (!lights_on) update();
207 207
       }
208 208
       static void update_timeout(const bool power_on);
209 209
   #endif

+ 1
- 1
Marlin/src/lcd/marlinui.cpp Ver arquivo

@@ -994,7 +994,7 @@ void MarlinUI::update() {
994 994
         refresh(LCDVIEW_REDRAW_NOW);
995 995
 
996 996
         #ifdef LED_BACKLIGHT_TIMEOUT
997
-          leds.reset_timeout(ms);
997
+          if (!powersupply_on) leds.reset_timeout(ms);
998 998
         #endif
999 999
       }
1000 1000
 

+ 11
- 2
Marlin/src/lcd/menu/menu_led.cpp Ver arquivo

@@ -121,11 +121,20 @@ void menu_led() {
121 121
   BACK_ITEM(MSG_MAIN);
122 122
 
123 123
   #if ENABLED(LED_CONTROL_MENU)
124
-    editable.state = leds.lights_on;
125
-    EDIT_ITEM(bool, MSG_LEDS, &editable.state, leds.toggle);
124
+    #if ENABLED(PSU_CONTROL)
125
+      extern bool powersupply_on;
126
+    #else
127
+      constexpr bool powersupply_on = true;
128
+    #endif
129
+    if (powersupply_on) {
130
+      editable.state = leds.lights_on;
131
+      EDIT_ITEM(bool, MSG_LEDS, &editable.state, leds.toggle);
132
+    }
133
+
126 134
     #if ENABLED(LED_COLOR_PRESETS)
127 135
       ACTION_ITEM(MSG_SET_LEDS_DEFAULT, leds.set_default);
128 136
     #endif
137
+
129 138
     #if ENABLED(NEOPIXEL2_SEPARATE)
130 139
       editable.state = leds2.lights_on;
131 140
       EDIT_ITEM(bool, MSG_LEDS2, &editable.state, leds2.toggle);

Carregando…
Cancelar
Salvar