diff --git a/Marlin/src/gcode/lcd/M0_M1.cpp b/Marlin/src/gcode/lcd/M0_M1.cpp index 0fc87cf722..9ed7b2af42 100644 --- a/Marlin/src/gcode/lcd/M0_M1.cpp +++ b/Marlin/src/gcode/lcd/M0_M1.cpp @@ -71,7 +71,7 @@ void GcodeSuite::M0_M1() { if (has_message) ui.set_status(args, true); - else { + else if (!parser.seenval('Q')) { LCD_MESSAGEPGM(MSG_USERWAIT); #if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0 ui.reset_progress_bar_timeout(); @@ -101,12 +101,8 @@ void GcodeSuite::M0_M1() { host_prompt_do(PROMPT_USER_CONTINUE, PSTR("M0/1 Break Called"), CONTINUE_STR); #endif - if (ms > 0) { - ms += millis(); // wait until this time for a click - while (PENDING(millis(), ms) && wait_for_user) idle(); - } - else - while (wait_for_user) idle(); + if (ms > 0) ms += millis(); // wait until this time for a click + while (wait_for_user && (ms > 0 || PENDING(millis(), ms))) idle(); #if HAS_LEDS_OFF_FLAG printerEventLEDs.onResumeAfterWait(); diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index 324e6bcb50..5d317b6ca5 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -163,8 +163,7 @@ bool GCodeQueue::enqueue_one(const char* cmd) { if (*cmd == 0 || *cmd == '\n' || *cmd == '\r') return true; if (_enqueue(cmd)) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPAIR(MSG_ENQUEUEING, cmd, "\""); + SERIAL_ECHO_MSG(MSG_ENQUEUEING, cmd, "\""); return true; } return false; @@ -517,7 +516,7 @@ void GCodeQueue::get_serial_commands() { #if ENABLED(PRINTER_EVENT_LEDS) printerEventLEDs.onPrintCompleted(); #if HAS_RESUME_CONTINUE - inject_P(PSTR("M0 S" + inject_P(PSTR("M0 Q S" #if HAS_LCD_MENU "1800" #else