diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index cdea9962..ac83b81a 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3131,7 +3131,7 @@ void gcode_M600(bool automatic, float x_position, float y_position, float z_shif if (lcd_change_fil_state == 0) lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually."));////MSG_CHECK_IDLER c=20 r=4 lcd_update_enable(true); - } + #endif #ifdef SNMM_V2 @@ -9129,8 +9129,7 @@ void M600_load_filament_movements() { lcd_loading_filament(); } -void M600_load_filament() -{ +void M600_load_filament() { lcd_wait_interact(); //load_filament_time = millis(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 0b9de32e..a30d1520 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5596,49 +5596,6 @@ static void extr_unload_4() { extr_unload(); } -//unload filament for single material printer (used in M702 gcode) -void unload_filament() { - custom_message = true; - custom_message_type = 2; - lcd_setstatuspgm(_T(MSG_UNLOADING_FILAMENT)); - - // extr_unload2(); - - current_position[E_AXIS] -= 45; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 5200 / 60, active_extruder); - st_synchronize(); - current_position[E_AXIS] -= 15; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1000 / 60, active_extruder); - st_synchronize(); - current_position[E_AXIS] -= 20; - plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1000 / 60, active_extruder); - st_synchronize(); - - lcd_display_message_fullscreen_P(_T(MSG_PULL_OUT_FILAMENT)); - - //disable extruder steppers so filament can be removed - disable_e0(); - disable_e1(); - disable_e2(); - delay(100); - - Sound_MakeSound(e_SOUND_CLASS_Prompt, e_SOUND_TYPE_StandardPrompt); - uint8_t counterBeep = 0; - while (!lcd_clicked() && (counterBeep < 50)) { - delay_keep_alive(100); - counterBeep++; - } - st_synchronize(); - while (lcd_clicked()) delay_keep_alive(100); - - lcd_update_enable(true); - - lcd_setstatuspgm(_T(WELCOME_MSG)); - custom_message = false; - custom_message_type = 0; - -} - static void fil_load_menu() { MENU_BEGIN(); @@ -5686,6 +5643,49 @@ static void change_extr_menu(){ #endif +//unload filament for single material printer (used in M702 gcode) +void unload_filament() { + custom_message = true; + custom_message_type = 2; + lcd_setstatuspgm(_T(MSG_UNLOADING_FILAMENT)); + + // extr_unload2(); + + current_position[E_AXIS] -= 45; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 5200 / 60, active_extruder); + st_synchronize(); + current_position[E_AXIS] -= 15; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1000 / 60, active_extruder); + st_synchronize(); + current_position[E_AXIS] -= 20; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 1000 / 60, active_extruder); + st_synchronize(); + + lcd_display_message_fullscreen_P(_T(MSG_PULL_OUT_FILAMENT)); + + //disable extruder steppers so filament can be removed + disable_e0(); + disable_e1(); + disable_e2(); + delay(100); + + Sound_MakeSound(e_SOUND_CLASS_Prompt, e_SOUND_TYPE_StandardPrompt); + uint8_t counterBeep = 0; + while (!lcd_clicked() && (counterBeep < 50)) { + delay_keep_alive(100); + counterBeep++; + } + st_synchronize(); + while (lcd_clicked()) delay_keep_alive(100); + + lcd_update_enable(true); + + lcd_setstatuspgm(_T(WELCOME_MSG)); + custom_message = false; + custom_message_type = 0; + +} + static void lcd_farm_no() { char step = 0;