From 44d400db83e2efe9d4544aa49f4ab8f0042ba00c Mon Sep 17 00:00:00 2001 From: Jason Smith Date: Sun, 26 Jan 2020 01:16:03 -0800 Subject: [PATCH] Fix HOMING_BACKOFF_MM for DELTA (#16657) --- Marlin/src/module/delta.cpp | 10 +++++++++- Marlin/src/module/motion.cpp | 10 ++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp index bc547f6159..bed5cd24cf 100644 --- a/Marlin/src/module/delta.cpp +++ b/Marlin/src/module/delta.cpp @@ -254,7 +254,7 @@ void home_delta() { - probe_offset.z #endif ); - line_to_current_position(homing_feedrate(X_AXIS)); + line_to_current_position(homing_feedrate(Z_AXIS)); planner.synchronize(); // Re-enable stealthChop if used. Disable diag1 pin on driver. @@ -280,6 +280,14 @@ void home_delta() { sync_plan_position(); + #if DISABLED(DELTA_HOME_TO_SAFE_ZONE) && defined(HOMING_BACKOFF_MM) + constexpr xyz_float_t endstop_backoff = HOMING_BACKOFF_MM; + if (endstop_backoff.z) { + current_position.z -= ABS(endstop_backoff.z) * Z_HOME_DIR; + line_to_current_position(homing_feedrate(Z_AXIS)); + } + #endif + if (DEBUGGING(LEVELING)) DEBUG_POS("<<< home_delta", current_position); } diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 4c1b5340df..9d0422c4a6 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -1748,15 +1748,9 @@ void homeaxis(const AxisEnum axis) { if (axis == Z_AXIS && STOW_PROBE()) return; #endif - #ifdef HOMING_BACKOFF_MM + #if DISABLED(DELTA) && defined(HOMING_BACKOFF_MM) constexpr xyz_float_t endstop_backoff = HOMING_BACKOFF_MM; - const float backoff_mm = endstop_backoff[ - #if ENABLED(DELTA) - Z_AXIS - #else - axis - #endif - ]; + const float backoff_mm = endstop_backoff[axis]; if (backoff_mm) { current_position[axis] -= ABS(backoff_mm) * axis_home_dir; line_to_current_position(