浏览代码

Merge pull request #1748 from thinkyhead/raise_before_homing

Apply Z_RAISE_BEFORE_HOMING before homing XY
Scott Lahteine 10 年前
父节点
当前提交
50145266cd
共有 1 个文件被更改,包括 13 次插入10 次删除
  1. 13
    10
      Marlin/Marlin_main.cpp

+ 13
- 10
Marlin/Marlin_main.cpp 查看文件

@@ -1803,7 +1803,19 @@ inline void gcode_G28() {
1803 1803
     home_all_axis = !homeX && !homeY && !homeZ; // No parameters means home all axes
1804 1804
 
1805 1805
     #if Z_HOME_DIR > 0                      // If homing away from BED do Z first
1806
+
1806 1807
       if (home_all_axis || homeZ) HOMEAXIS(Z);
1808
+
1809
+    #elif !defined(Z_SAFE_HOMING) && defined(Z_RAISE_BEFORE_HOMING) && Z_RAISE_BEFORE_HOMING > 0
1810
+
1811
+      // Raise Z before homing any other axes
1812
+      if (home_all_axis || homeZ) {
1813
+        destination[Z_AXIS] = -Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS);    // Set destination away from bed
1814
+        feedrate = max_feedrate[Z_AXIS];
1815
+        line_to_destination();
1816
+        st_synchronize();
1817
+      }
1818
+
1807 1819
     #endif
1808 1820
 
1809 1821
     #ifdef QUICK_HOME
@@ -1897,16 +1909,7 @@ inline void gcode_G28() {
1897 1909
 
1898 1910
       #ifndef Z_SAFE_HOMING
1899 1911
 
1900
-        if (home_all_axis || homeZ) {
1901
-          // Raise Z before homing Z? Shouldn't this happen before homing X or Y?
1902
-          #if defined(Z_RAISE_BEFORE_HOMING) && Z_RAISE_BEFORE_HOMING > 0
1903
-            destination[Z_AXIS] = -Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS);    // Set destination away from bed
1904
-            feedrate = max_feedrate[Z_AXIS];
1905
-            line_to_destination();
1906
-            st_synchronize();
1907
-          #endif
1908
-          HOMEAXIS(Z);
1909
-        }
1912
+        if (home_all_axis || homeZ) HOMEAXIS(Z);
1910 1913
 
1911 1914
       #else // Z_SAFE_HOMING
1912 1915
 

正在加载...
取消
保存