Преглед изворни кода

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,6 +256,18 @@ int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
256 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 271
 #if ENABLED(X_DUAL_STEPPER_DRIVERS)
260 272
   #define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) != INVERT_X2_VS_X_DIR); }while(0)
261 273
   #if ENABLED(X_DUAL_ENDSTOPS)
@@ -301,6 +313,8 @@ int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
301 313
   #define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE(v); Z3_DIR_WRITE(v); }while(0)
302 314
   #if ENABLED(Z_TRIPLE_ENDSTOPS)
303 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 318
   #else
305 319
     #define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); Z3_STEP_WRITE(v); }while(0)
306 320
   #endif

Loading…
Откажи
Сачувај