From 71180ac28471ba7d05fcbf8be23956d05644fc08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 6 May 2023 14:53:36 +0000 Subject: [PATCH] Cleanup M600 init Instead of removing FILAMENTCHANGE_FINALRETRACT just set it to 0 No change in memory --- Firmware/Marlin_main.cpp | 79 ++++++------------- .../variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h | 1 + .../variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h | 1 + .../1_75mm_MK25S-RAMBo10a-E3Dv6full.h | 1 + .../1_75mm_MK25S-RAMBo13a-E3Dv6full.h | 1 + .../variants/1_75mm_MK3-EINSy10a-E3Dv6full.h | 1 + .../variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h | 1 + .../obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h | 1 + .../obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 1 + 9 files changed, 33 insertions(+), 54 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 0a3a9519b..d4d5a6eed 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3456,7 +3456,7 @@ static void mmu_M600_load_filament(bool automatic, float nozzle_temp) { st_synchronize(); } -static void gcode_M600(bool automatic, float x_position, float y_position, float z_shift, float e_shift, float e_shift_late) { +static void gcode_M600(const bool automatic, const float x_position, const float y_position, const float z_shift, const float e_shift, const float e_shift_late) { st_synchronize(); float lastpos[4]; @@ -7582,69 +7582,40 @@ Sigma_Exit: M600 [ X | Y | Z | E | L | AUTO ] - - `X` - X position, default 211 - - `Y` - Y position, default 0 + - `X` - X position, default FILAMENTCHANGE_XPOS + - `Y` - Y position, default FILAMENTCHANGE_YPOS - `Z` - relative lift Z, default MIN_Z_FOR_SWAP. - - `E` - initial retract, default -2 - - `L` - later retract distance for removal, default 0 + - `E` - initial retract, default FILAMENTCHANGE_FIRSTRETRACT + - `L` - later retract distance for removal, default FILAMENTCHANGE_FINALRETRACT - `AUTO` - Automatically (only with MMU) */ case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal] - { - st_synchronize(); + { + st_synchronize(); - float x_position = current_position[X_AXIS]; - float y_position = current_position[Y_AXIS]; - float z_shift = MIN_Z_FOR_SWAP; - float e_shift_init = 0; - float e_shift_late = 0; - bool automatic = false; - - //Retract extruder - if(code_seen('E')) - { - e_shift_init = code_value(); - } - else - { - #ifdef FILAMENTCHANGE_FIRSTRETRACT - e_shift_init = FILAMENTCHANGE_FIRSTRETRACT ; - #endif - } + float x_position = FILAMENTCHANGE_XPOS; + float y_position = FILAMENTCHANGE_YPOS; + float z_shift = MIN_Z_FOR_SWAP; + float e_shift_init = FILAMENTCHANGE_FIRSTRETRACT; + float e_shift_late = FILAMENTCHANGE_FINALRETRACT; + bool automatic = false; - if (code_seen('L')) e_shift_late = code_value(); + //Retract extruder + if (code_seen('E')) e_shift_init = code_value(); + if (code_seen('L')) e_shift_late = code_value(); - // Z lift. For safety only allow positive values - if (code_seen('Z')) z_shift = fabs(code_value()); + // Z lift. For safety only allow positive values + if (code_seen('Z')) z_shift = fabs(code_value()); - //Move XY to side - if(code_seen('X')) - { - x_position = code_value(); - } - else - { - #ifdef FILAMENTCHANGE_XPOS - x_position = FILAMENTCHANGE_XPOS; - #endif - } - if(code_seen('Y')) - { - y_position = code_value(); - } - else - { - #ifdef FILAMENTCHANGE_YPOS - y_position = FILAMENTCHANGE_YPOS ; - #endif - } + //Move XY to side + if (code_seen('X')) x_position = code_value(); + if (code_seen('Y')) y_position = code_value(); - if (MMU2::mmu2.Enabled() && code_seen_P(PSTR("AUTO"))) - automatic = true; + if (MMU2::mmu2.Enabled() && code_seen_P(PSTR("AUTO"))) + automatic = true; - gcode_M600(automatic, x_position, y_position, z_shift, e_shift_init, e_shift_late); - - } + gcode_M600(automatic, x_position, y_position, z_shift, e_shift_init, e_shift_late); + } break; #endif //FILAMENTCHANGEENABLE diff --git a/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h index 5d3c63e5c..a4721d978 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h @@ -219,6 +219,7 @@ #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 25 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index 31c343107..470a02c06 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -220,6 +220,7 @@ #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 25 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h index 6024ef5b2..ae7237305 100644 --- a/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h @@ -219,6 +219,7 @@ #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 25 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h index 59531ff5e..6e266cc1f 100644 --- a/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h @@ -220,6 +220,7 @@ #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 25 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index 151636797..21adab2d1 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -358,6 +358,7 @@ #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 25 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h index 3c3634bd0..ee7550acd 100644 --- a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h @@ -362,6 +362,7 @@ #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 25 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h index bdb1de69d..6aace7ed1 100644 --- a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h @@ -149,6 +149,7 @@ CHANGE FILAMENT SETTINGS #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 50 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701) diff --git a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h index f66a56f88..b69a405ee 100644 --- a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -148,6 +148,7 @@ CHANGE FILAMENT SETTINGS #define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_FIRSTRETRACT -2 +#define FILAMENTCHANGE_FINALRETRACT 0 #define FILAMENTCHANGE_FIRSTFEED 70 //E distance in mm for fast filament loading sequence used used in filament change (M600) #define FILAMENTCHANGE_FINALFEED 50 //E distance in mm for slow filament loading sequence used used in filament change (M600) and filament load (M701)