|
@@ -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
|