Remove double operations
- feed to finda engages the idler so no need to do that before - retract from finda disengages the idler, again avoid double operation LEDs set mostly by feed to finda and retract from findapull/126/head
parent
5cfb0887d0
commit
f9561e6cf7
|
|
@ -18,23 +18,16 @@ void LoadFilament::Reset(uint8_t param) {
|
|||
return;
|
||||
}
|
||||
dbg_logic_P(PSTR("Load Filament"));
|
||||
state = ProgressCode::EngagingIdler;
|
||||
state = ProgressCode::FeedingToFinda;
|
||||
error = ErrorCode::RUNNING;
|
||||
mg::globals.SetActiveSlot(param);
|
||||
mi::idler.Engage(mg::globals.ActiveSlot());
|
||||
feed.Reset(true);
|
||||
ml::leds.SetMode(mg::globals.ActiveSlot(), ml::green, ml::blink0);
|
||||
ml::leds.SetMode(mg::globals.ActiveSlot(), ml::red, ml::off);
|
||||
}
|
||||
|
||||
bool LoadFilament::StepInner() {
|
||||
switch (state) {
|
||||
case ProgressCode::EngagingIdler:
|
||||
if (mi::idler.Engaged()) {
|
||||
mm::motion.InitAxis(mm::Pulley);
|
||||
state = ProgressCode::FeedingToFinda;
|
||||
feed.Reset(true);
|
||||
}
|
||||
break;
|
||||
case ProgressCode::FeedingToFinda:
|
||||
if (feed.Step()) {
|
||||
if (feed.State() == FeedToFinda::Failed) {
|
||||
|
|
@ -60,7 +53,6 @@ bool LoadFilament::StepInner() {
|
|||
ml::leds.SetMode(mg::globals.ActiveSlot(), ml::red, ml::blink0); // signal loading error
|
||||
} else {
|
||||
state = ProgressCode::DisengagingIdler;
|
||||
mi::idler.Disengage();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue