From ddcf24af432d3772dcd0d4f2b67b8ab7b480ddec Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 22 Sep 2021 20:27:16 +0200 Subject: [PATCH] Use constants --- src/logic/feed_to_bondtech.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/logic/feed_to_bondtech.cpp b/src/logic/feed_to_bondtech.cpp index f17e287..1ea22ab 100644 --- a/src/logic/feed_to_bondtech.cpp +++ b/src/logic/feed_to_bondtech.cpp @@ -12,6 +12,7 @@ namespace logic { void FeedToBondtech::Reset(uint8_t maxRetries) { state = EngagingIdler; this->maxRetries = maxRetries; + ml::leds.SetMode(mg::globals.ActiveSlot(), ml::Color::green, ml::Mode::blink0); mi::idler.Engage(mg::globals.ActiveSlot()); } @@ -22,16 +23,15 @@ bool FeedToBondtech::Step() { case EngagingIdler: if (mi::idler.Engaged()) { state = PushingFilament; - ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::blink0); - mm::motion.PlanMove(mm::Pulley, steps, 4500); //@@TODO constants - there was some strange acceleration sequence in the original FW, + mm::motion.PlanMove(config::DefaultBowdenLength, config::pulleyFeedrate); //@@TODO constants - there was some strange acceleration sequence in the original FW, // we can probably hand over some array of constants for hand-tuned acceleration + leverage some smoothing in the stepper as well } return false; case PushingFilament: if (mfs::fsensor.Pressed()) { mm::motion.AbortPlannedMoves(); // stop pushing filament - // mi::idler.Disengage(); - state = OK; + mi::idler.Disengage(); + state = DisengagingIdler; } else if (mm::motion.StallGuard(mm::Pulley)) { // stall guard occurred during movement - the filament got stuck state = Failed; // @@TODO may be even report why it failed @@ -39,12 +39,12 @@ bool FeedToBondtech::Step() { state = Failed; } return false; - // case DisengagingIdler: - // if (!mi::idler.Engaged()) { - // state = OK; - // ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::on); - // } - // return false; + case DisengagingIdler: + if (!mi::idler.Engaged()) { + state = OK; + ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::on); + } + return false; case OK: case Failed: default: