Idea: EngageIntermediate before unload and wait for signal

main
D.R.racer 2025-10-20 08:07:33 +02:00 committed by DRracer
parent b6bdd55def
commit 06f41bf1e6
1 changed files with 5 additions and 0 deletions

View File

@ -25,6 +25,11 @@ void UnloadToFinda::Reset(uint8_t maxTries) {
bool UnloadToFinda::Step() { bool UnloadToFinda::Step() {
switch (state) { 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: case EngagingIdler:
if (mg::globals.FilamentLoaded() >= mg::FilamentLoadState::InSelector) { if (mg::globals.FilamentLoaded() >= mg::FilamentLoadState::InSelector) {
state = UnloadingToFinda; state = UnloadingToFinda;