|
|
@ -50,32 +50,20 @@ |
|
|
|
* M1: Conditional stop - Wait for user button press on LCD |
|
|
|
*/ |
|
|
|
void GcodeSuite::M0_M1() { |
|
|
|
const char * const args = parser.string_arg; |
|
|
|
|
|
|
|
millis_t ms = 0; |
|
|
|
bool hasP = false, hasS = false; |
|
|
|
if (parser.seenval('P')) { |
|
|
|
ms = parser.value_millis(); // milliseconds to wait
|
|
|
|
hasP = ms > 0; |
|
|
|
} |
|
|
|
if (parser.seenval('S')) { |
|
|
|
ms = parser.value_millis_from_seconds(); // seconds to wait
|
|
|
|
hasS = ms > 0; |
|
|
|
} |
|
|
|
|
|
|
|
const bool has_message = !hasP && !hasS && args && *args; |
|
|
|
if (parser.seenval('P')) ms = parser.value_millis(); // Milliseconds to wait
|
|
|
|
if (parser.seenval('S')) ms = parser.value_millis_from_seconds(); // Seconds to wait
|
|
|
|
|
|
|
|
planner.synchronize(); |
|
|
|
|
|
|
|
#if HAS_LEDS_OFF_FLAG |
|
|
|
if (parser.seen('Q')) |
|
|
|
printerEventLEDs.onPrintCompleted(); // Change LED color for Print Completed
|
|
|
|
if (parser.seen('Q')) printerEventLEDs.onPrintCompleted(); // Change LED color for Print Completed
|
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAS_LCD_MENU |
|
|
|
|
|
|
|
if (has_message) |
|
|
|
ui.set_status(args, true); |
|
|
|
if (parser.string_arg) |
|
|
|
ui.set_status(parser.string_arg, true); |
|
|
|
else { |
|
|
|
LCD_MESSAGEPGM(MSG_USERWAIT); |
|
|
|
#if ENABLED(LCD_PROGRESS_BAR) && PROGRESS_MSG_EXPIRE > 0 |
|
|
@ -85,16 +73,16 @@ void GcodeSuite::M0_M1() { |
|
|
|
|
|
|
|
#elif ENABLED(EXTENSIBLE_UI) |
|
|
|
|
|
|
|
if (has_message) |
|
|
|
ExtUI::onUserConfirmRequired(args); // Can this take an SRAM string??
|
|
|
|
if (parser.string_arg) |
|
|
|
ExtUI::onUserConfirmRequired(parser.string_arg); // Can this take an SRAM string??
|
|
|
|
else |
|
|
|
ExtUI::onUserConfirmRequired_P(GET_TEXT(MSG_USERWAIT)); |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
if (has_message) { |
|
|
|
if (parser.string_arg) { |
|
|
|
SERIAL_ECHO_START(); |
|
|
|
SERIAL_ECHOLN(args); |
|
|
|
SERIAL_ECHOLN(parser.string_arg); |
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|