Przeglądaj źródła

Fix HOMING_BACKOFF_MM for DELTA (#16657)

Jason Smith 5 lat temu
rodzic
commit
44d400db83
2 zmienionych plików z 11 dodań i 9 usunięć
  1. 9
    1
      Marlin/src/module/delta.cpp
  2. 2
    8
      Marlin/src/module/motion.cpp

+ 9
- 1
Marlin/src/module/delta.cpp Wyświetl plik

@@ -254,7 +254,7 @@ void home_delta() {
254 254
       - probe_offset.z
255 255
     #endif
256 256
   );
257
-  line_to_current_position(homing_feedrate(X_AXIS));
257
+  line_to_current_position(homing_feedrate(Z_AXIS));
258 258
   planner.synchronize();
259 259
 
260 260
   // Re-enable stealthChop if used. Disable diag1 pin on driver.
@@ -280,6 +280,14 @@ void home_delta() {
280 280
 
281 281
   sync_plan_position();
282 282
 
283
+  #if DISABLED(DELTA_HOME_TO_SAFE_ZONE) && defined(HOMING_BACKOFF_MM)
284
+    constexpr xyz_float_t endstop_backoff = HOMING_BACKOFF_MM;
285
+    if (endstop_backoff.z) {
286
+      current_position.z -= ABS(endstop_backoff.z) * Z_HOME_DIR;
287
+      line_to_current_position(homing_feedrate(Z_AXIS));
288
+    }
289
+  #endif
290
+
283 291
   if (DEBUGGING(LEVELING)) DEBUG_POS("<<< home_delta", current_position);
284 292
 }
285 293
 

+ 2
- 8
Marlin/src/module/motion.cpp Wyświetl plik

@@ -1748,15 +1748,9 @@ void homeaxis(const AxisEnum axis) {
1748 1748
     if (axis == Z_AXIS && STOW_PROBE()) return;
1749 1749
   #endif
1750 1750
 
1751
-  #ifdef HOMING_BACKOFF_MM
1751
+  #if DISABLED(DELTA) && defined(HOMING_BACKOFF_MM)
1752 1752
     constexpr xyz_float_t endstop_backoff = HOMING_BACKOFF_MM;
1753
-    const float backoff_mm = endstop_backoff[
1754
-      #if ENABLED(DELTA)
1755
-        Z_AXIS
1756
-      #else
1757
-        axis
1758
-      #endif
1759
-    ];
1753
+    const float backoff_mm = endstop_backoff[axis];
1760 1754
     if (backoff_mm) {
1761 1755
       current_position[axis] -= ABS(backoff_mm) * axis_home_dir;
1762 1756
       line_to_current_position(

Ładowanie…
Anuluj
Zapisz