From 6317a6147d1fba6dc8c65313b1c13d646d082bdd Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Sat, 28 Dec 2019 19:51:07 +0100 Subject: [PATCH 1/2] Use a consistent distance/feedrate for the [auto]load sequence --- Firmware/Marlin_main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c2623a3e0..137c7b5e4 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3856,13 +3856,13 @@ void gcode_M701() #endif //FSENSOR_QUALITY lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT)); - current_position[E_AXIS] += 40; - plan_buffer_line_curposXYZE(400 / 60); //fast sequence + current_position[E_AXIS] += FILAMENTCHANGE_FIRSTFEED - 30; + plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST); //fast sequence st_synchronize(); raise_z_above(MIN_Z_FOR_LOAD, false); current_position[E_AXIS] += 30; - plan_buffer_line_curposXYZE(400 / 60); //fast sequence + plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST); //fast sequence load_filament_final_feed(); //slow sequence st_synchronize(); From d724eb1f9266cd4c8f63163da0e1a2aae547541e Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 30 Mar 2022 12:33:46 +0200 Subject: [PATCH 2/2] Cleanup hardcoded values to constants in M701 --- Firmware/Marlin_main.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 137c7b5e4..a82e1bcfa 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3855,13 +3855,16 @@ void gcode_M701() fsensor_oq_meassure_start(40); #endif //FSENSOR_QUALITY + const int feed_mm_before_raising = 30; + static_assert(feed_mm_before_raising <= FILAMENTCHANGE_FIRSTFEED); + lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT)); - current_position[E_AXIS] += FILAMENTCHANGE_FIRSTFEED - 30; + current_position[E_AXIS] += FILAMENTCHANGE_FIRSTFEED - feed_mm_before_raising; plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST); //fast sequence st_synchronize(); raise_z_above(MIN_Z_FOR_LOAD, false); - current_position[E_AXIS] += 30; + current_position[E_AXIS] += feed_mm_before_raising; plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST); //fast sequence load_filament_final_feed(); //slow sequence