|
@ -4431,41 +4431,49 @@ inline void gcode_G92() { |
|
|
|
|
|
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EMERGENCY_PARSER) |
|
|
|
|
|
wait_for_user = true; |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
KEEPALIVE_STATE(PAUSED_FOR_USER); |
|
|
|
|
|
|
|
|
stepper.synchronize(); |
|
|
stepper.synchronize(); |
|
|
refresh_cmd_timeout(); |
|
|
refresh_cmd_timeout(); |
|
|
|
|
|
|
|
|
#if ENABLED(ULTIPANEL) |
|
|
#if ENABLED(ULTIPANEL) |
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EMERGENCY_PARSER) |
|
|
|
|
|
#define M1_WAIT_CONDITION (!lcd_clicked() && wait_for_user) |
|
|
|
|
|
#else |
|
|
|
|
|
#define M1_WAIT_CONDITION !lcd_clicked() |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
if (codenum > 0) { |
|
|
if (codenum > 0) { |
|
|
codenum += previous_cmd_ms; // wait until this time for a click
|
|
|
codenum += previous_cmd_ms; // wait until this time for a click
|
|
|
KEEPALIVE_STATE(PAUSED_FOR_USER); |
|
|
while (PENDING(millis(), codenum) && M1_WAIT_CONDITION) idle(); |
|
|
while (PENDING(millis(), codenum) && !lcd_clicked()) idle(); |
|
|
|
|
|
lcd_ignore_click(false); |
|
|
lcd_ignore_click(false); |
|
|
} |
|
|
} |
|
|
else if (lcd_detected()) { |
|
|
else if (lcd_detected()) { |
|
|
KEEPALIVE_STATE(PAUSED_FOR_USER); |
|
|
while (M1_WAIT_CONDITION) idle(); |
|
|
while (!lcd_clicked()) idle(); |
|
|
|
|
|
} |
|
|
} |
|
|
else return; |
|
|
else goto ExitM1; |
|
|
|
|
|
|
|
|
if (IS_SD_PRINTING) |
|
|
IS_SD_PRINTING ? LCD_MESSAGEPGM(MSG_RESUMING) : LCD_MESSAGEPGM(WELCOME_MSG); |
|
|
LCD_MESSAGEPGM(MSG_RESUMING); |
|
|
|
|
|
else |
|
|
|
|
|
LCD_MESSAGEPGM(WELCOME_MSG); |
|
|
|
|
|
|
|
|
|
|
|
#else |
|
|
#else |
|
|
|
|
|
|
|
|
KEEPALIVE_STATE(PAUSED_FOR_USER); |
|
|
|
|
|
wait_for_user = true; |
|
|
|
|
|
|
|
|
|
|
|
if (codenum > 0) { |
|
|
if (codenum > 0) { |
|
|
codenum += previous_cmd_ms; // wait until this time for an M108
|
|
|
codenum += previous_cmd_ms; // wait until this time for an M108
|
|
|
while (PENDING(millis(), codenum) && wait_for_user) idle(); |
|
|
while (PENDING(millis(), codenum) && wait_for_user) idle(); |
|
|
} |
|
|
} |
|
|
else while (wait_for_user) idle(); |
|
|
else while (wait_for_user) idle(); |
|
|
|
|
|
|
|
|
wait_for_user = false; |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
ExitM1: |
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EMERGENCY_PARSER) |
|
|
|
|
|
wait_for_user = false; |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
KEEPALIVE_STATE(IN_HANDLER); |
|
|
KEEPALIVE_STATE(IN_HANDLER); |
|
|