From 15345cc249925c79a90ff0126e1396a99f5e1ecf Mon Sep 17 00:00:00 2001
From: maverikou <maverikou@users.noreply.github.com>
Date: Sun, 22 Mar 2015 13:49:52 +0200
Subject: [PATCH] Corrected Z_PROBE_ALLEN_KEY behaviour.

---
 Marlin/Marlin_main.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index b272d73ef3..cdf9e5c6f3 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -1311,8 +1311,10 @@ static void retract_z_probe() {
   #ifdef SERVO_ENDSTOPS
     if (servo_endstops[Z_AXIS] > -1)
     {
+      #if Z_RAISE_AFTER_PROBING > 0
         do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], Z_RAISE_AFTER_PROBING);
         st_synchronize();
+      #endif
     
       #if SERVO_LEVELING
         servos[servo_endstops[Z_AXIS]].attach(0);
@@ -1382,14 +1384,14 @@ static float probe_pt(float x, float y, float z_before, ProbeAction retract_acti
   do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_before);
   do_blocking_move_to(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER, current_position[Z_AXIS]);
 
-  #if !defined(Z_PROBE_SLED)
+  #if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY)
     if (retract_action & ProbeEngage) engage_z_probe();
   #endif
 
   run_z_probe();
   float measured_z = current_position[Z_AXIS];
 
-  #if !defined(Z_PROBE_SLED)
+  #if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY)
     if (retract_action & ProbeRetract) retract_z_probe();
   #endif
 
@@ -2231,6 +2233,8 @@ inline void gcode_G28() {
 
     #ifdef Z_PROBE_SLED
       dock_sled(false); // engage (un-dock) the probe
+    #elif defined(Z_PROBE_ALLEN_KEY)
+      engage_z_probe();
     #endif
 
     st_synchronize();
@@ -2472,6 +2476,8 @@ inline void gcode_G28() {
 
   #ifdef Z_PROBE_SLED
     dock_sled(true, -SLED_DOCKING_OFFSET); // dock the probe, correcting for over-travel
+  #elif defined(Z_PROBE_ALLEN_KEY)
+    retract_z_probe();
   #endif
     
   #ifdef Z_PROBE_END_SCRIPT
-- 
GitLab