Fix broken fwretract recovery extruder feedrate

When both lowering and recovery are performed using the same "prepare_move_to_destination()" the extruder recovery feedrate ends up being ignored and, instead, is only capped by either the maximum e-speed or the time it takes to perform the z-lowering. 
Performing the two moves separately from each other ensures a correct recovery feedrate.
master
Florian Heilmann 8 years ago committed by GitHub
parent 58210c3a19
commit 15268770f5

@ -3062,6 +3062,8 @@ static void homeaxis(const AxisEnum axis) {
// Pretend current position is higher. Z will lower on the next move // Pretend current position is higher. Z will lower on the next move
current_position[Z_AXIS] += retract_zlift; current_position[Z_AXIS] += retract_zlift;
SYNC_PLAN_POSITION_KINEMATIC(); SYNC_PLAN_POSITION_KINEMATIC();
// Lower Z
prepare_move_to_destination();
} }
feedrate_mm_s = retract_recover_feedrate_mm_s; feedrate_mm_s = retract_recover_feedrate_mm_s;
@ -3069,7 +3071,7 @@ static void homeaxis(const AxisEnum axis) {
current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder]; current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder];
sync_plan_position_e(); sync_plan_position_e();
// Lower Z and recover E // Recover E
prepare_move_to_destination(); prepare_move_to_destination();
} }

Loading…
Cancel
Save