diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index cb59b7e98..7a63bf8c7 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -1020,16 +1020,16 @@ void mmu_eject_filament(uint8_t filament, bool recover) current_position[E_AXIS] -= 80; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder); st_synchronize(); - } + mmu_command(MMU_CMD_E0 + filament); + manage_response(false, false); + if (recover) + { + lcd_show_fullscreen_message_and_wait_P(_i("Please remove filament and then press the knob.")); + mmu_command(MMU_CMD_R0); + manage_response(false, false); + } - mmu_command(MMU_CMD_E0 + filament); - manage_response(false, false); - if (recover) - { - lcd_show_fullscreen_message_and_wait_P(_i("Please remove filament and then press the knob.")); - mmu_command(MMU_CMD_R0); - manage_response(false, false); - } + } } else { diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 21487b0ba..9ef683435 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3244,6 +3244,7 @@ const char* lcd_display_message_fullscreen_P(const char *msg) */ void lcd_show_fullscreen_message_and_wait_P(const char *msg) { + LcdUpdateDisabler lcdUpdateDisabler; const char *msg_next = lcd_display_message_fullscreen_P(msg); bool multi_screen = msg_next != NULL; lcd_set_custom_characters_nextpage();