diff --git a/src/logic/feed_to_bondtech.cpp b/src/logic/feed_to_bondtech.cpp index d92fb11..f90459d 100644 --- a/src/logic/feed_to_bondtech.cpp +++ b/src/logic/feed_to_bondtech.cpp @@ -86,18 +86,19 @@ bool FeedToBondtech::Step() { if (mi::idler.PartiallyDisengaged()) { mm::motion.AbortPlannedMoves(mm::Pulley); mpu::pulley.Disable(); - mi::idler.Disengage(); // disengage fully while Pulley is already stopped - state = DisengagingIdler; - } - return false; - case DisengagingIdler: - if (mi::idler.Disengaged()) { - dbg_logic_P(PSTR("Feed to Bondtech --> Idler disengaged")); - dbg_logic_fP(PSTR("Pulley end steps %u"), mpu::pulley.CurrentPosition_mm()); - state = OK; + //mi::idler.Disengage(); // disengage fully while Pulley is already stopped ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::on); + state = OK; } return false; + // case DisengagingIdler: + // if (mi::idler.Disengaged()) { + // dbg_logic_P(PSTR("Feed to Bondtech --> Idler disengaged")); + // dbg_logic_fP(PSTR("Pulley end steps %u"), mpu::pulley.CurrentPosition_mm()); + // state = OK; + // ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::on); + // } + // return false; case OK: dbg_logic_P(PSTR("Feed to Bondtech OK")); return true; diff --git a/src/logic/tool_change.cpp b/src/logic/tool_change.cpp index 810fffb..f99ea55 100644 --- a/src/logic/tool_change.cpp +++ b/src/logic/tool_change.cpp @@ -186,6 +186,7 @@ ProgressCode ToolChange::State() const { return ProgressCode::FeedingToFSensor; case FeedToBondtech::PushingFilamentIntoNozzle: return ProgressCode::FeedingToNozzle; + case FeedToBondtech::PartiallyDisengagingIdler: case FeedToBondtech::DisengagingIdler: return ProgressCode::DisengagingIdler; } diff --git a/src/logic/unload_filament.cpp b/src/logic/unload_filament.cpp index 28079e5..acd0a93 100644 --- a/src/logic/unload_filament.cpp +++ b/src/logic/unload_filament.cpp @@ -77,12 +77,12 @@ bool UnloadFilament::StepInner() { GoToErrDisengagingIdler(ErrorCode::FINDA_DIDNT_SWITCH_OFF); // signal unloading error } else { state = ProgressCode::DisengagingIdler; - mi::idler.Disengage(); + mi::idler.PartiallyDisengage(mg::globals.ActiveSlot()); } } return false; case ProgressCode::DisengagingIdler: - if (mi::idler.Disengaged() && ms::selector.State() == ms::Selector::Ready) { + if (mi::idler.PartiallyDisengaged() && ms::selector.State() == ms::Selector::Ready) { UnloadFinishedCorrectly(); } return false;