ellensp
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
20 additions and
9 deletions
-
Marlin/src/feature/leds/leds.cpp
-
Marlin/src/feature/leds/leds.h
-
Marlin/src/lcd/marlinui.cpp
-
Marlin/src/lcd/menu/menu_led.cpp
|
|
@ -147,12 +147,14 @@ void LEDLights::set_color(const LEDColor &incol |
|
|
|
millis_t LEDLights::led_off_time; // = 0
|
|
|
|
|
|
|
|
void LEDLights::update_timeout(const bool power_on) { |
|
|
|
if (lights_on) { |
|
|
|
const millis_t ms = millis(); |
|
|
|
if (power_on) |
|
|
|
reset_timeout(ms); |
|
|
|
else if (ELAPSED(ms, led_off_time)) |
|
|
|
set_off(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
@ -203,7 +203,7 @@ public: |
|
|
|
public: |
|
|
|
static inline void reset_timeout(const millis_t &ms) { |
|
|
|
led_off_time = ms + LED_BACKLIGHT_TIMEOUT; |
|
|
|
if (!lights_on) set_default(); |
|
|
|
if (!lights_on) update(); |
|
|
|
} |
|
|
|
static void update_timeout(const bool power_on); |
|
|
|
#endif |
|
|
|
|
|
@ -994,7 +994,7 @@ void MarlinUI::update() { |
|
|
|
refresh(LCDVIEW_REDRAW_NOW); |
|
|
|
|
|
|
|
#ifdef LED_BACKLIGHT_TIMEOUT |
|
|
|
leds.reset_timeout(ms); |
|
|
|
if (!powersupply_on) leds.reset_timeout(ms); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -121,11 +121,20 @@ void menu_led() { |
|
|
|
BACK_ITEM(MSG_MAIN); |
|
|
|
|
|
|
|
#if ENABLED(LED_CONTROL_MENU) |
|
|
|
#if ENABLED(PSU_CONTROL) |
|
|
|
extern bool powersupply_on; |
|
|
|
#else |
|
|
|
constexpr bool powersupply_on = true; |
|
|
|
#endif |
|
|
|
if (powersupply_on) { |
|
|
|
editable.state = leds.lights_on; |
|
|
|
EDIT_ITEM(bool, MSG_LEDS, &editable.state, leds.toggle); |
|
|
|
} |
|
|
|
|
|
|
|
#if ENABLED(LED_COLOR_PRESETS) |
|
|
|
ACTION_ITEM(MSG_SET_LEDS_DEFAULT, leds.set_default); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(NEOPIXEL2_SEPARATE) |
|
|
|
editable.state = leds2.lights_on; |
|
|
|
EDIT_ITEM(bool, MSG_LEDS2, &editable.state, leds2.toggle); |
|
|
|