From 9fc72422e49cdb01c5e23462d35757f20702d925 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Fri, 21 Jul 2017 14:12:41 -0500
Subject: [PATCH] Don't let the flow multiplier affect retract/recover length

---
 Marlin/Marlin_main.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 20c71945ec..4bc128645f 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -3150,6 +3150,10 @@ static void homeaxis(const AxisEnum axis) {
     const bool has_zhop = retract_zlift > 0.01;     // Is there a hop set?
 
     const float old_feedrate_mm_s = feedrate_mm_s;
+    const int16_t old_flow = flow_percentage[active_extruder];
+
+    // Don't apply flow multiplication to retract/recover
+    flow_percentage[active_extruder] = 100;
 
     // The current position will be the destination for E and Z moves
     set_destination_to_current();
@@ -3192,6 +3196,8 @@ static void homeaxis(const AxisEnum axis) {
       prepare_move_to_destination();  // Recover E
     }
 
+    // Restore flow and feedrate
+    flow_percentage[active_extruder] = old_flow;
     feedrate_mm_s = old_feedrate_mm_s;
 
     // The active extruder is now retracted or recovered
-- 
GitLab