From 9e3b300b2e5bbbd5c9b8cb90110b10ee9539abff Mon Sep 17 00:00:00 2001 From: "D.R.racer" Date: Wed, 19 Nov 2025 12:39:32 +0100 Subject: [PATCH] Slow unload move at the start of pulling --- src/config/config.h | 1 + src/logic/unload_to_finda.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/config/config.h b/src/config/config.h index 7fd8d26..348ff0a 100644 --- a/src/config/config.h +++ b/src/config/config.h @@ -104,6 +104,7 @@ static constexpr U_mm pulleyHelperMove = 10.0_mm; ///< Helper move for Load/Unlo static constexpr U_mm cutLength = 8.0_mm; static constexpr U_mm fsensorToNozzle = 30.0_mm; ///< ~20mm from MK4's filament sensor through extruder gears into nozzle static constexpr U_mm fsensorToNozzleAvoidGrind = 5.0_mm; +static constexpr U_mm fsensorToNozzleAvoidGrindUnload = 20.0_mm; /// Check the state of FSensor after this amount of filament got (hopefully) pulled out while unloading. static constexpr U_mm fsensorUnloadCheckDistance = 40.0_mm; diff --git a/src/logic/unload_to_finda.cpp b/src/logic/unload_to_finda.cpp index 3c77da4..f52532d 100644 --- a/src/logic/unload_to_finda.cpp +++ b/src/logic/unload_to_finda.cpp @@ -48,6 +48,9 @@ bool UnloadToFinda::Step() { mpu::pulley.InitAxis(); ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::blink0); mi::idler.Engage(mg::globals.ActiveSlot()); + + // slow move for the first few millimeters - help the printer relieve the filament while engaging the Idler fully + mpu::pulley.PlanMove(-config::fsensorToNozzleAvoidGrindUnload, mg::globals.PulleySlowFeedrate_mm_s(), mg::globals.PulleySlowFeedrate_mm_s()); } else { state = FailedFINDA; }