Handle print completed LED event in M0
This commit is contained in:
parent
633b716a3a
commit
bafe8d920a
3 changed files with 13 additions and 18 deletions
|
@ -412,23 +412,13 @@ void startOrResumeJob() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLED(PRINTER_EVENT_LEDS)
|
|
||||||
#include "feature/leds/printer_event_leds.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
inline void finishSDPrinting() {
|
inline void finishSDPrinting() {
|
||||||
bool did_state = true;
|
bool did_state = true;
|
||||||
switch (card.sdprinting_done_state) {
|
switch (card.sdprinting_done_state) {
|
||||||
|
|
||||||
#if ENABLED(PRINTER_EVENT_LEDS)
|
|
||||||
case 1:
|
|
||||||
printerEventLEDs.onPrintCompleted(); // Change LED color for Print Completed
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if HAS_RESUME_CONTINUE // Display "Click to Continue..."
|
#if HAS_RESUME_CONTINUE // Display "Click to Continue..."
|
||||||
case 2:
|
case 1:
|
||||||
did_state = queue.enqueue_P(PSTR("M0 S"
|
did_state = queue.enqueue_P(PSTR("M0Q1S"
|
||||||
#if HAS_LCD_MENU
|
#if HAS_LCD_MENU
|
||||||
"1800" // ...for 30 minutes with LCD
|
"1800" // ...for 30 minutes with LCD
|
||||||
#else
|
#else
|
||||||
|
@ -438,13 +428,13 @@ void startOrResumeJob() {
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case 3: print_job_timer.stop(); break;
|
case 2: print_job_timer.stop(); break;
|
||||||
|
|
||||||
case 4:
|
case 3:
|
||||||
did_state = print_job_timer.duration() < 60 || queue.enqueue_P(PSTR("M31"));
|
did_state = print_job_timer.duration() < 60 || queue.enqueue_P(PSTR("M31"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 4:
|
||||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||||
recovery.purge();
|
recovery.purge();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -67,11 +67,16 @@ void GcodeSuite::M0_M1() {
|
||||||
|
|
||||||
planner.synchronize();
|
planner.synchronize();
|
||||||
|
|
||||||
|
#if HAS_LEDS_OFF_FLAG
|
||||||
|
if (parser.seen('Q'))
|
||||||
|
printerEventLEDs.onPrintCompleted(); // Change LED color for Print Completed
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_LCD_MENU
|
#if HAS_LCD_MENU
|
||||||
|
|
||||||
if (has_message)
|
if (has_message)
|
||||||
ui.set_status(args, true);
|
ui.set_status(args, true);
|
||||||
else if (!parser.seenval('Q')) {
|
else {
|
||||||
LCD_MESSAGEPGM(MSG_USERWAIT);
|
LCD_MESSAGEPGM(MSG_USERWAIT);
|
||||||
#if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0
|
#if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0
|
||||||
ui.reset_progress_bar_timeout();
|
ui.reset_progress_bar_timeout();
|
||||||
|
@ -98,7 +103,7 @@ void GcodeSuite::M0_M1() {
|
||||||
wait_for_user = true;
|
wait_for_user = true;
|
||||||
|
|
||||||
#if ENABLED(HOST_PROMPT_SUPPORT)
|
#if ENABLED(HOST_PROMPT_SUPPORT)
|
||||||
host_prompt_do(PROMPT_USER_CONTINUE, PSTR("M0/1 Break Called"), CONTINUE_STR);
|
host_prompt_do(PROMPT_USER_CONTINUE, parser.codenum ? PSTR("M1 Stop") : PSTR("M0 Stop"), CONTINUE_STR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (ms > 0) ms += millis(); // wait until this time for a click
|
if (ms > 0) ms += millis(); // wait until this time for a click
|
||||||
|
|
|
@ -241,7 +241,7 @@ public:
|
||||||
// Seen a parameter with a value
|
// Seen a parameter with a value
|
||||||
static inline bool seenval(const char c) { return seen(c) && has_value(); }
|
static inline bool seenval(const char c) { return seen(c) && has_value(); }
|
||||||
|
|
||||||
// Float removes 'E' to prevent scientific notation interpretation
|
// The value as a string
|
||||||
static inline char* value_string() { return value_ptr; }
|
static inline char* value_string() { return value_ptr; }
|
||||||
|
|
||||||
// Float removes 'E' to prevent scientific notation interpretation
|
// Float removes 'E' to prevent scientific notation interpretation
|
||||||
|
|
Reference in a new issue