Experimental: disengage to intermediate
parent
0eeef4cafd
commit
25b12662c4
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue