Obey PulleySlowFeedrate in all operations

pull/353/head
D.R.racer 2025-10-20 10:52:51 +02:00
parent c1b003c9df
commit d9546a9354
4 changed files with 7 additions and 7 deletions

View File

@ -94,7 +94,7 @@ bool CutFilament::StepInner() {
case ProgressCode::PreparingBlade: case ProgressCode::PreparingBlade:
if (ms::selector.Slot() == cutSlot + 1) { if (ms::selector.Slot() == cutSlot + 1) {
state = ProgressCode::PushingFilament; state = ProgressCode::PushingFilament;
mpu::pulley.PlanMove(mg::globals.CutLength() + config::cuttingEdgeRetract, config::pulleySlowFeedrate); mpu::pulley.PlanMove(mg::globals.CutLength() + config::cuttingEdgeRetract, mg::globals.PulleySlowFeedrate_mm_s());
} }
break; break;
case ProgressCode::PushingFilament: case ProgressCode::PushingFilament:
@ -123,7 +123,7 @@ bool CutFilament::StepInner() {
// revert move speed // revert move speed
mg::globals.SetSelectorFeedrate_mm_s(savedSelectorFeedRate_mm_s); mg::globals.SetSelectorFeedrate_mm_s(savedSelectorFeedRate_mm_s);
ms::selector.InvalidateHoming(); ms::selector.InvalidateHoming();
mpu::pulley.PlanMove(-config::cuttingEdgeRetract, config::pulleySlowFeedrate); mpu::pulley.PlanMove(-config::cuttingEdgeRetract, mg::globals.PulleySlowFeedrate_mm_s());
} }
break; break;
case ProgressCode::Homing: case ProgressCode::Homing:

View File

@ -61,7 +61,7 @@ bool EjectFilament::StepInner() {
if (mi::idler.Engaged()) { if (mi::idler.Engaged()) {
state = ProgressCode::EjectingFilament; state = ProgressCode::EjectingFilament;
mpu::pulley.InitAxis(); mpu::pulley.InitAxis();
mpu::pulley.PlanMove(config::ejectFromCuttingEdge, config::pulleySlowFeedrate); mpu::pulley.PlanMove(config::ejectFromCuttingEdge, mg::globals.PulleySlowFeedrate_mm_s());
} }
break; break;
case ProgressCode::EjectingFilament: case ProgressCode::EjectingFilament:

View File

@ -78,7 +78,7 @@ bool FeedToBondtech::Step() {
mg::globals.SetFilamentLoaded(mg::globals.ActiveSlot(), mg::FilamentLoadState::InNozzle); mg::globals.SetFilamentLoaded(mg::globals.ActiveSlot(), mg::FilamentLoadState::InNozzle);
mi::idler.PartiallyDisengage(mg::globals.ActiveSlot()); mi::idler.PartiallyDisengage(mg::globals.ActiveSlot());
// while disengaging the idler, keep on moving with the pulley to avoid grinding while the printer is trying to grab the filament itself // while disengaging the idler, keep on moving with the pulley to avoid grinding while the printer is trying to grab the filament itself
mpu::pulley.PlanMove(config::fsensorToNozzleAvoidGrind, config::pulleySlowFeedrate); mpu::pulley.PlanMove(config::fsensorToNozzleAvoidGrind, mg::globals.PulleySlowFeedrate_mm_s());
state = PartiallyDisengagingIdler; state = PartiallyDisengagingIdler;
} }
return false; return false;

View File

@ -44,14 +44,14 @@ bool FeedToFinda::Step() {
// mpu::pulley.PlanMove(config::filamentMinLoadedToMMU, config::pulleySlowFeedrate); // mpu::pulley.PlanMove(config::filamentMinLoadedToMMU, config::pulleySlowFeedrate);
// } // }
mpu::pulley.PlanMove(config::maximumFeedToFinda, config::pulleySlowFeedrate); mpu::pulley.PlanMove(config::maximumFeedToFinda, mg::globals.PulleySlowFeedrate_mm_s());
if (feedPhaseLimited) { if (feedPhaseLimited) {
state = PushingFilament; state = PushingFilament;
} else { } else {
state = PushingFilamentUnlimited; state = PushingFilamentUnlimited;
// in unlimited move we plan 2 moves at once to make the move "seamless" // in unlimited move we plan 2 moves at once to make the move "seamless"
// one move has already been planned above, this is the second one // one move has already been planned above, this is the second one
mpu::pulley.PlanMove(config::maximumFeedToFinda, config::pulleySlowFeedrate); mpu::pulley.PlanMove(config::maximumFeedToFinda, mg::globals.PulleySlowFeedrate_mm_s());
} }
mg::globals.SetFilamentLoaded(mg::globals.ActiveSlot(), mg::FilamentLoadState::InSelector); mg::globals.SetFilamentLoaded(mg::globals.ActiveSlot(), mg::FilamentLoadState::InSelector);
mui::userInput.Clear(); // remove all buffered events if any just before we wait for some input mui::userInput.Clear(); // remove all buffered events if any just before we wait for some input
@ -85,7 +85,7 @@ bool FeedToFinda::Step() {
return true; // return immediately to allow for a seamless planning of another move (like feeding to bondtech) return true; // return immediately to allow for a seamless planning of another move (like feeding to bondtech)
} else if (mm::motion.PlannedMoves(mm::Pulley) < 2) { } else if (mm::motion.PlannedMoves(mm::Pulley) < 2) {
// plan another move to make the illusion of unlimited moves // plan another move to make the illusion of unlimited moves
mpu::pulley.PlanMove(config::maximumFeedToFinda, config::pulleySlowFeedrate); mpu::pulley.PlanMove(config::maximumFeedToFinda, mg::globals.PulleySlowFeedrate_mm_s());
} }
} }
return false; return false;