From 06f41bf1e65253c1cdb78a593b5b1eb454197984 Mon Sep 17 00:00:00 2001 From: "D.R.racer" Date: Mon, 20 Oct 2025 08:07:33 +0200 Subject: [PATCH] Idea: EngageIntermediate before unload and wait for signal --- src/logic/unload_to_finda.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/logic/unload_to_finda.cpp b/src/logic/unload_to_finda.cpp index 2e7e1b4..8c32102 100644 --- a/src/logic/unload_to_finda.cpp +++ b/src/logic/unload_to_finda.cpp @@ -25,6 +25,11 @@ void UnloadToFinda::Reset(uint8_t maxTries) { bool UnloadToFinda::Step() { switch (state) { + // start by engaging the idler into intermediate position + // Then, wait for !fsensor.Pressed: that's to speed-up the pull process - unload operation will be started during the purging moves + // and as soon as the fsensor turns off, the MMU engages the idler fully and starts pulling. + // It will not wait for the extruder to finish the relieve move. + // However, such an approach breaks running the MMU on a non-reworked MK4/C1, which hasn't been officially supported, but possible (with some level of uncertainity). case EngagingIdler: if (mg::globals.FilamentLoaded() >= mg::FilamentLoadState::InSelector) { state = UnloadingToFinda;