Browse Source

Wait before turning off PRINTER_EVENT_LEDS at print end (#10248)

pull/1/head
Scott Lahteine 6 years ago
committed by GitHub
parent
commit
9e4c037cef
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      Marlin/src/gcode/gcode.h
  2. 12
      Marlin/src/gcode/lcd/M0_M1.cpp
  3. 15
      Marlin/src/gcode/queue.cpp

4
Marlin/src/gcode/gcode.h

@ -324,6 +324,10 @@ public:
#define KEEPALIVE_STATE(n) NOOP
#endif
#if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) && HAS_RESUME_CONTINUE
static bool lights_off_after_print;
#endif
static void dwell(millis_t time);
private:

12
Marlin/src/gcode/lcd/M0_M1.cpp

@ -33,6 +33,11 @@
#include "../../sd/cardreader.h"
#if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT)
bool GcodeSuite::lights_off_after_print;
#include "../../feature/leds/leds.h"
#endif
/**
* M0: Unconditional stop - Wait for user button press on LCD
* M1: Conditional stop - Wait for user button press on LCD
@ -91,6 +96,13 @@ void GcodeSuite::M0_M1() {
#endif
}
#if ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT)
if (lights_off_after_print) {
leds.set_off();
lights_off_after_print = false;
}
#endif
wait_for_user = false;
KEEPALIVE_STATE(IN_HANDLER);
}

15
Marlin/src/gcode/queue.cpp

@ -449,12 +449,19 @@ inline void get_serial_commands() {
LCD_MESSAGEPGM(MSG_INFO_COMPLETED_PRINTS);
leds.set_green();
#if HAS_RESUME_CONTINUE
enqueue_and_echo_commands_P(PSTR("M0")); // end of the queue!
gcode.lights_off_after_print = true;
enqueue_and_echo_commands_P(PSTR("M0 S"
#if ENABLED(NEWPANEL)
"1800"
#else
"60"
#endif
));
#else
safe_delay(1000);
safe_delay(2000);
leds.set_off();
#endif
leds.set_off();
#endif
#endif // PRINTER_EVENT_LEDS
card.checkautostart(true);
}
}

Loading…
Cancel
Save