diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index dbf5c676..c94ef559 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3162,8 +3162,11 @@ void gcode_M701() { printf_P(PSTR("gcode_M701 begin\n")); - if (mmu_enabled) - extr_adj(mmu_extruder);//loads current extruder + if (mmu_enabled) + { + extr_adj(tmp_extruder);//loads current extruder + mmu_extruder = tmp_extruder; + } else { enable_z(); @@ -6744,7 +6747,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE)) case 701: //M701: load filament { if (mmu_enabled && code_seen('E')) - mmu_extruder = code_value(); + tmp_extruder = code_value(); gcode_M701(); } break; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index d07c9077..66372a00 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -530,9 +530,9 @@ void lcdui_print_extruder(void) { int chars = 0; if (mmu_extruder == tmp_extruder) - chars = lcd_printf_P(_N(" T%u"), mmu_extruder); + chars = lcd_printf_P(_N(" T%u"), mmu_extruder+1); else - chars = lcd_printf_P(_N(" %u>%u"), mmu_extruder, tmp_extruder); + chars = lcd_printf_P(_N(" %u>%u"), mmu_extruder+1, tmp_extruder+1); lcd_space(5 - chars); }