diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d1e9bdac..2339799c 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -660,8 +660,7 @@ void crashdet_detected() lcd_setstatuspgm(MSG_CRASH_DETECTED); if (yesno) { - enquecommand_P(PSTR("G28 X")); - enquecommand_P(PSTR("G28 Y")); + enquecommand_P(PSTR("G28 X Y")); enquecommand_P(PSTR("CRASH_RECOVER")); } else diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d7ed82c4..66eeca8e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -603,7 +603,7 @@ void lcd_commands() lcdDrawUpdate = 3; lcd_commands_step = 4; } - if (lcd_commands_step == 1 && !blocks_queued() && (current_position[Z_AXIS] == pause_lastpos[Z_AXIS])) { //recover feedmultiply + if (lcd_commands_step == 1 && !blocks_queued() && cmd_buffer_empty()) { //recover feedmultiply; cmd_buffer_empty() ensures that card.sdprinting is synchronized with buffered commands and thus print cant be paused until resume is finished sprintf_P(cmd1, PSTR("M220 S%d"), saved_feedmultiply); enquecommand(cmd1);