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.
This commit is contained in:
		@@ -3062,6 +3062,8 @@ static void homeaxis(const AxisEnum axis) {
 | 
			
		||||
        // Pretend current position is higher. Z will lower on the next move
 | 
			
		||||
        current_position[Z_AXIS] += retract_zlift;
 | 
			
		||||
        SYNC_PLAN_POSITION_KINEMATIC();
 | 
			
		||||
        // Lower Z
 | 
			
		||||
        prepare_move_to_destination();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      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];
 | 
			
		||||
      sync_plan_position_e();
 | 
			
		||||
 | 
			
		||||
      // Lower Z and recover E
 | 
			
		||||
      // Recover E
 | 
			
		||||
      prepare_move_to_destination();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user