浏览代码

Adding missing code for triple Z-stepper auto-align (#12786)

TheLongAndOnly 6 年前
父节点
当前提交
cb643d87df
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14
    0
      Marlin/src/module/stepper.cpp

+ 14
- 0
Marlin/src/module/stepper.cpp 查看文件

256
     A##3_STEP_WRITE(V);                                                                                                     \
256
     A##3_STEP_WRITE(V);                                                                                                     \
257
   }
257
   }
258
 
258
 
259
+#define TRIPLE_SEPARATE_APPLY_STEP(A,V)           \
260
+  if (separate_multi_axis) {                      \
261
+    if (!locked_##A##_motor) A##_STEP_WRITE(V);   \
262
+    if (!locked_##A##2_motor) A##2_STEP_WRITE(V); \
263
+    if (!locked_##A##3_motor) A##3_STEP_WRITE(V); \
264
+  }                                               \
265
+  else {                                          \
266
+    A##_STEP_WRITE(V);                            \
267
+    A##2_STEP_WRITE(V);                           \
268
+    A##3_STEP_WRITE(V);                           \
269
+  }
270
+
259
 #if ENABLED(X_DUAL_STEPPER_DRIVERS)
271
 #if ENABLED(X_DUAL_STEPPER_DRIVERS)
260
   #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) != INVERT_X2_VS_X_DIR); }while(0)
272
   #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) != INVERT_X2_VS_X_DIR); }while(0)
261
   #if ENABLED(X_DUAL_ENDSTOPS)
273
   #if ENABLED(X_DUAL_ENDSTOPS)
301
   #define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE(v); Z3_DIR_WRITE(v); }while(0)
313
   #define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE(v); Z3_DIR_WRITE(v); }while(0)
302
   #if ENABLED(Z_TRIPLE_ENDSTOPS)
314
   #if ENABLED(Z_TRIPLE_ENDSTOPS)
303
     #define Z_APPLY_STEP(v,Q) TRIPLE_ENDSTOP_APPLY_STEP(Z,v)
315
     #define Z_APPLY_STEP(v,Q) TRIPLE_ENDSTOP_APPLY_STEP(Z,v)
316
+  #elif ENABLED(Z_STEPPER_AUTO_ALIGN)
317
+    #define Z_APPLY_STEP(v,Q) TRIPLE_SEPARATE_APPLY_STEP(Z,v)
304
   #else
318
   #else
305
     #define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); Z3_STEP_WRITE(v); }while(0)
319
     #define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); Z3_STEP_WRITE(v); }while(0)
306
   #endif
320
   #endif

正在加载...
取消
保存