Вот вам дифф на исходники марлина, который по идее сделает то, что вы хотите. Сорри, рабочесть не проверял, но по идее фикс тривиальный..
- Код: Выделить всё • Развернуть
- diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp
 index 4ed8bef..ee326ae 100644
 --- a/Marlin/stepper.cpp
 +++ b/Marlin/stepper.cpp
 @@ -346,6 +346,10 @@ ISR(TIMER1_COMPA_vect)
 if ((out_bits & (1<<X_AXIS)) != 0) { // stepping along -X axis
 #if !defined COREXY //NOT COREXY
 WRITE(X_DIR_PIN, INVERT_X_DIR);
 +
 + #ifdef Z_DUAL_STEPPER_DRIVERS
 + WRITE(Z2_DIR_PIN,INVERT_X_DIR);
 + #endif
 #endif
 count_direction[X_AXIS]=-1;
 CHECK_ENDSTOPS
 @@ -364,6 +368,9 @@ ISR(TIMER1_COMPA_vect)
 else { // +direction
 #if !defined COREXY //NOT COREXY
 WRITE(X_DIR_PIN,!INVERT_X_DIR);
 + #ifdef Z_DUAL_STEPPER_DRIVERS
 + WRITE(Z2_DIR_PIN,!INVERT_X_DIR);
 + #endif
 #endif
 count_direction[X_AXIS]=1;
 @@ -441,11 +448,7 @@ ISR(TIMER1_COMPA_vect)
 if ((out_bits & (1<<Z_AXIS)) != 0) { // -direction
 WRITE(Z_DIR_PIN,INVERT_Z_DIR);
 -
 - #ifdef Z_DUAL_STEPPER_DRIVERS
 - WRITE(Z2_DIR_PIN,INVERT_Z_DIR);
 - #endif
 -
 +
 count_direction[Z_AXIS]=-1;
 CHECK_ENDSTOPS
 {











