From 1fbed532008d88c16f3ed94aa8d15dd7d65134a3 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 12 Jan 2018 20:01:22 +0100 Subject: [PATCH] initial --- Firmware/Configuration_prusa.h | 2 ++ Firmware/Marlin_main.cpp | 36 ++++++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 488ce8c9..da34a377 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -546,6 +546,8 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define HEATBED_V2 +#define M600_TIMEOUT 10 //600 //seconds + //#define SUPPORT_VERBOSITY #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index a606bbf5..63f75ebe 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -5454,6 +5454,8 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp feedmultiplyBckp=feedmultiply; int8_t TooLowZ = 0; + float HotendTempBckp = degTargetHotend(active_extruder); + int fanSpeedBckp = fanSpeed; target[X_AXIS]=current_position[X_AXIS]; target[Y_AXIS]=current_position[Y_AXIS]; target[Z_AXIS]=current_position[Z_AXIS]; @@ -5525,7 +5527,8 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp uint8_t cnt = 0; int counterBeep = 0; lcd_display_message_fullscreen_P(MSG_PRESS_TO_UNLOAD); - while (!lcd_clicked()) { + unsigned long waiting_start_time = millis(); + while (!lcd_clicked() && (millis() < waiting_start_time + M600_TIMEOUT * 1000)){ cnt++; manage_heater(); @@ -6007,7 +6010,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp // extr_unload2(); - current_position[E_AXIS] -= 45; + /*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; @@ -6015,7 +6018,36 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp 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();*/ + + /*current_position[E_AXIS] -= 62; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 5000 / 60, active_extruder); + 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); + */ + current_position[E_AXIS] -= 35; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 5000 / 60, active_extruder); + current_position[E_AXIS] -= 10; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 300 / 60, active_extruder); + current_position[E_AXIS] += 20; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 200 / 60, active_extruder); + current_position[E_AXIS] -= 20; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 200 / 60, active_extruder); + current_position[E_AXIS] += 20; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 200 / 60, active_extruder); + current_position[E_AXIS] -= 20; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 200 / 60, active_extruder); + current_position[E_AXIS] += 20; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 200 / 60, active_extruder); + current_position[E_AXIS] -= 60; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 200 / 60, active_extruder); + st_synchronize(); + disable_e0(); + disable_e1(); + disable_e2(); + + lcd_setstatuspgm(WELCOME_MSG); custom_message = false; custom_message_type = 0;