From e60cb2a79e5c284875bd55f5924298ac0e2c0b6b Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 17 Jan 2018 21:54:34 +0100 Subject: [PATCH] unload filament sequence same as in M600 --- Firmware/Configuration.h | 2 +- Firmware/Marlin_main.cpp | 29 ++++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 258b8c923b..6872603bc0 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -9,7 +9,7 @@ // Firmware version #define FW_VERSION "3.1.1-RC5" -#define FW_COMMIT_NR 149 +#define FW_COMMIT_NR 150 #define FW_DEV_VERSION FW_VERSION_RC #define FW_VERSION_FULL FW_VERSION "-" STR(FW_COMMIT_NR) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 2f5c6f76da..0628e0feb0 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6092,11 +6092,34 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp 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], 160 / 60, active_extruder); + 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], 5000 / 60, active_extruder); - st_synchronize(); + 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(MSG_PULL_OUT_FILAMENT); + + //disable extruder steppers so filament can be removed + disable_e0(); + disable_e1(); + disable_e2(); + delay(100); + + + WRITE(BEEPER, HIGH); + uint8_t counterBeep = 0; + while (!lcd_clicked() && (counterBeep < 50)) { + if (counterBeep > 5) WRITE(BEEPER, LOW); + delay_keep_alive(100); + counterBeep++; + } + WRITE(BEEPER, LOW); + st_synchronize(); + while (lcd_clicked()) delay_keep_alive(100); + + lcd_update_enable(true); + lcd_setstatuspgm(WELCOME_MSG); custom_message = false; custom_message_type = 0;