From 904ddf8551149e7de1af25456fc41d069f2f2ac4 Mon Sep 17 00:00:00 2001
From: Evgeniy Zhabotinskiy <evg-zhabotinsky@users.noreply.github.com>
Date: Fri, 10 Mar 2023 03:56:19 +0300
Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Z=5FSAFE=5FHOMING=5FPOINT=5FABSOLUT?=
 =?UTF-8?q?E=20(#23069)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Marlin/Configuration.h             | 1 +
 Marlin/src/gcode/calibrate/G28.cpp | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 77f19089014..3b90555cec0 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -2179,6 +2179,7 @@
 #if ENABLED(Z_SAFE_HOMING)
   #define Z_SAFE_HOMING_X_POINT X_CENTER  // X point for Z homing
   #define Z_SAFE_HOMING_Y_POINT Y_CENTER  // Y point for Z homing
+  //#define Z_SAFE_HOMING_POINT_ABSOLUTE  // Ignore home offsets (M206) for Z homing position
 #endif
 
 // Homing speeds (linear=mm/min, rotational=°/min)
diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp
index 6f0f27cb9d0..e279b90e338 100644
--- a/Marlin/src/gcode/calibrate/G28.cpp
+++ b/Marlin/src/gcode/calibrate/G28.cpp
@@ -124,7 +124,7 @@
      * (Z is already at the right height)
      */
     constexpr xy_float_t safe_homing_xy = { Z_SAFE_HOMING_X_POINT, Z_SAFE_HOMING_Y_POINT };
-    #if HAS_HOME_OFFSET
+    #if HAS_HOME_OFFSET && DISABLED(Z_SAFE_HOMING_POINT_ABSOLUTE)
       xy_float_t okay_homing_xy = safe_homing_xy;
       okay_homing_xy -= home_offset;
     #else