diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 30a4258ed..276d1c7b2 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5808,10 +5808,10 @@ Sigma_Exit: case 200: // M200 D set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters). { - tmp_extruder = active_extruder; + uint8_t extruder = active_extruder; if(code_seen('T')) { - tmp_extruder = code_value(); - if(tmp_extruder >= EXTRUDERS) { + extruder = code_value(); + if(extruder >= EXTRUDERS) { SERIAL_ECHO_START; SERIAL_ECHO(_i("M200 Invalid extruder "));////MSG_M200_INVALID_EXTRUDER c=0 r=0 break; @@ -5825,7 +5825,7 @@ Sigma_Exit: // for all extruders volumetric_enabled = false; } else { - filament_size[tmp_extruder] = (float)code_value(); + filament_size[extruder] = (float)code_value(); // make sure all extruders have some sane value for the filament size filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]); #if EXTRUDERS > 1 diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp index a48ca36a8..963f3da3e 100644 --- a/Firmware/mmu.cpp +++ b/Firmware/mmu.cpp @@ -28,12 +28,13 @@ bool mmu_enabled = false; bool mmu_ready = false; -int8_t mmu_state = 0; +static int8_t mmu_state = 0; uint8_t mmu_cmd = 0; uint8_t mmu_extruder = 0; +//! This variable probably has no meaning and is planed to be removed uint8_t tmp_extruder = 0; int8_t mmu_finda = -1; @@ -363,29 +364,27 @@ void mmu_load_to_nozzle() void mmu_M600_load_filament(bool automatic) { //load filament for mmu v2 - bool yes = false; + uint8_t filament = mmu_extruder; if (!automatic) { - yes = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Do you want to switch extruder?"), false); - if(yes) tmp_extruder = choose_extruder_menu(); - else tmp_extruder = mmu_extruder; - + bool yes = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Do you want to switch extruder?"), false); + if(yes) filament = choose_extruder_menu(); } else { - tmp_extruder = (tmp_extruder+1)%5; + filament = (filament+1)%5; } lcd_update_enable(false); lcd_clear(); lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_LOADING_FILAMENT)); lcd_print(" "); - lcd_print(tmp_extruder + 1); - snmm_filaments_used |= (1 << tmp_extruder); //for stop print + lcd_print(filament + 1); + snmm_filaments_used |= (1 << filament); //for stop print -// printf_P(PSTR("T code: %d \n"), tmp_extruder); -// mmu_printf_P(PSTR("T%d\n"), tmp_extruder); - mmu_command(MMU_CMD_T0 + tmp_extruder); +// printf_P(PSTR("T code: %d \n"), filament); +// mmu_printf_P(PSTR("T%d\n"), filament); + mmu_command(MMU_CMD_T0 + filament); manage_response(false, true); - mmu_extruder = tmp_extruder; //filament change is finished + mmu_extruder = filament; //filament change is finished mmu_load_to_nozzle(); diff --git a/Firmware/mmu.h b/Firmware/mmu.h index 763c15ea8..63835ca85 100644 --- a/Firmware/mmu.h +++ b/Firmware/mmu.h @@ -5,8 +5,6 @@ extern bool mmu_enabled; -extern int8_t mmu_state; - extern uint8_t mmu_extruder; extern uint8_t tmp_extruder;