Przeglądaj źródła

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.
Florian Heilmann 8 lat temu
rodzic
commit
15268770f5
1 zmienionych plików z 3 dodań i 1 usunięć
  1. 3
    1
      Marlin/Marlin_main.cpp

+ 3
- 1
Marlin/Marlin_main.cpp Wyświetl plik

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

Ładowanie…
Anuluj
Zapisz