@@ -177,9 +177,9 @@ bool Stepper::abort_current_block;
|
||||
|
||||
#if EITHER(Z_MULTI_ENDSTOPS, Z_STEPPER_AUTO_ALIGN)
|
||||
bool Stepper::locked_Z_motor = false, Stepper::locked_Z2_motor = false
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 3
|
||||
#if NUM_Z_STEPPERS >= 3
|
||||
, Stepper::locked_Z3_motor = false
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 4
|
||||
#if NUM_Z_STEPPERS >= 4
|
||||
, Stepper::locked_Z4_motor = false
|
||||
#endif
|
||||
#endif
|
||||
@@ -365,7 +365,7 @@ xyze_int8_t Stepper::count_direction{0};
|
||||
A##4_STEP_WRITE(V); \
|
||||
}
|
||||
|
||||
#if ENABLED(X_DUAL_STEPPER_DRIVERS)
|
||||
#if HAS_DUAL_X_STEPPERS
|
||||
#define X_APPLY_DIR(v,Q) do{ X_DIR_WRITE(v); X2_DIR_WRITE((v) ^ ENABLED(INVERT_X2_VS_X_DIR)); }while(0)
|
||||
#if ENABLED(X_DUAL_ENDSTOPS)
|
||||
#define X_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(X,v)
|
||||
@@ -386,7 +386,7 @@ xyze_int8_t Stepper::count_direction{0};
|
||||
#define X_APPLY_STEP(v,Q) X_STEP_WRITE(v)
|
||||
#endif
|
||||
|
||||
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
|
||||
#if HAS_DUAL_Y_STEPPERS
|
||||
#define Y_APPLY_DIR(v,Q) do{ Y_DIR_WRITE(v); Y2_DIR_WRITE((v) ^ ENABLED(INVERT_Y2_VS_Y_DIR)); }while(0)
|
||||
#if ENABLED(Y_DUAL_ENDSTOPS)
|
||||
#define Y_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Y,v)
|
||||
@@ -398,7 +398,7 @@ xyze_int8_t Stepper::count_direction{0};
|
||||
#define Y_APPLY_STEP(v,Q) Y_STEP_WRITE(v)
|
||||
#endif
|
||||
|
||||
#if NUM_Z_STEPPER_DRIVERS == 4
|
||||
#if NUM_Z_STEPPERS == 4
|
||||
#define Z_APPLY_DIR(v,Q) do{ \
|
||||
Z_DIR_WRITE(v); Z2_DIR_WRITE((v) ^ ENABLED(INVERT_Z2_VS_Z_DIR)); \
|
||||
Z3_DIR_WRITE((v) ^ ENABLED(INVERT_Z3_VS_Z_DIR)); Z4_DIR_WRITE((v) ^ ENABLED(INVERT_Z4_VS_Z_DIR)); \
|
||||
@@ -410,7 +410,7 @@ xyze_int8_t Stepper::count_direction{0};
|
||||
#else
|
||||
#define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); Z3_STEP_WRITE(v); Z4_STEP_WRITE(v); }while(0)
|
||||
#endif
|
||||
#elif NUM_Z_STEPPER_DRIVERS == 3
|
||||
#elif NUM_Z_STEPPERS == 3
|
||||
#define Z_APPLY_DIR(v,Q) do{ \
|
||||
Z_DIR_WRITE(v); Z2_DIR_WRITE((v) ^ ENABLED(INVERT_Z2_VS_Z_DIR)); Z3_DIR_WRITE((v) ^ ENABLED(INVERT_Z3_VS_Z_DIR)); \
|
||||
}while(0)
|
||||
@@ -421,7 +421,7 @@ xyze_int8_t Stepper::count_direction{0};
|
||||
#else
|
||||
#define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); Z3_STEP_WRITE(v); }while(0)
|
||||
#endif
|
||||
#elif NUM_Z_STEPPER_DRIVERS == 2
|
||||
#elif NUM_Z_STEPPERS == 2
|
||||
#define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE((v) ^ ENABLED(INVERT_Z2_VS_Z_DIR)); }while(0)
|
||||
#if ENABLED(Z_MULTI_ENDSTOPS)
|
||||
#define Z_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Z,v)
|
||||
@@ -2564,19 +2564,19 @@ void Stepper::init() {
|
||||
TERN_(HAS_X2_DIR, X2_DIR_INIT());
|
||||
#if HAS_Y_DIR
|
||||
Y_DIR_INIT();
|
||||
#if BOTH(Y_DUAL_STEPPER_DRIVERS, HAS_Y2_DIR)
|
||||
#if BOTH(HAS_DUAL_Y_STEPPERS, HAS_Y2_DIR)
|
||||
Y2_DIR_INIT();
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Z_DIR
|
||||
Z_DIR_INIT();
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 2 && HAS_Z2_DIR
|
||||
#if NUM_Z_STEPPERS >= 2 && HAS_Z2_DIR
|
||||
Z2_DIR_INIT();
|
||||
#endif
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 3 && HAS_Z3_DIR
|
||||
#if NUM_Z_STEPPERS >= 3 && HAS_Z3_DIR
|
||||
Z3_DIR_INIT();
|
||||
#endif
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 4 && HAS_Z4_DIR
|
||||
#if NUM_Z_STEPPERS >= 4 && HAS_Z4_DIR
|
||||
Z4_DIR_INIT();
|
||||
#endif
|
||||
#endif
|
||||
@@ -2626,7 +2626,7 @@ void Stepper::init() {
|
||||
#if HAS_Y_ENABLE
|
||||
Y_ENABLE_INIT();
|
||||
if (!Y_ENABLE_ON) Y_ENABLE_WRITE(HIGH);
|
||||
#if BOTH(Y_DUAL_STEPPER_DRIVERS, HAS_Y2_ENABLE)
|
||||
#if BOTH(HAS_DUAL_Y_STEPPERS, HAS_Y2_ENABLE)
|
||||
Y2_ENABLE_INIT();
|
||||
if (!Y_ENABLE_ON) Y2_ENABLE_WRITE(HIGH);
|
||||
#endif
|
||||
@@ -2634,15 +2634,15 @@ void Stepper::init() {
|
||||
#if HAS_Z_ENABLE
|
||||
Z_ENABLE_INIT();
|
||||
if (!Z_ENABLE_ON) Z_ENABLE_WRITE(HIGH);
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 2 && HAS_Z2_ENABLE
|
||||
#if NUM_Z_STEPPERS >= 2 && HAS_Z2_ENABLE
|
||||
Z2_ENABLE_INIT();
|
||||
if (!Z_ENABLE_ON) Z2_ENABLE_WRITE(HIGH);
|
||||
#endif
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 3 && HAS_Z3_ENABLE
|
||||
#if NUM_Z_STEPPERS >= 3 && HAS_Z3_ENABLE
|
||||
Z3_ENABLE_INIT();
|
||||
if (!Z_ENABLE_ON) Z3_ENABLE_WRITE(HIGH);
|
||||
#endif
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 4 && HAS_Z4_ENABLE
|
||||
#if NUM_Z_STEPPERS >= 4 && HAS_Z4_ENABLE
|
||||
Z4_ENABLE_INIT();
|
||||
if (!Z_ENABLE_ON) Z4_ENABLE_WRITE(HIGH);
|
||||
#endif
|
||||
@@ -2705,7 +2705,7 @@ void Stepper::init() {
|
||||
|
||||
// Init Step Pins
|
||||
#if HAS_X_STEP
|
||||
#if EITHER(X_DUAL_STEPPER_DRIVERS, DUAL_X_CARRIAGE)
|
||||
#if HAS_X2_STEPPER
|
||||
X2_STEP_INIT();
|
||||
X2_STEP_WRITE(INVERT_X_STEP_PIN);
|
||||
#endif
|
||||
@@ -2713,7 +2713,7 @@ void Stepper::init() {
|
||||
#endif
|
||||
|
||||
#if HAS_Y_STEP
|
||||
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
|
||||
#if HAS_DUAL_Y_STEPPERS
|
||||
Y2_STEP_INIT();
|
||||
Y2_STEP_WRITE(INVERT_Y_STEP_PIN);
|
||||
#endif
|
||||
@@ -2721,15 +2721,15 @@ void Stepper::init() {
|
||||
#endif
|
||||
|
||||
#if HAS_Z_STEP
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 2
|
||||
#if NUM_Z_STEPPERS >= 2
|
||||
Z2_STEP_INIT();
|
||||
Z2_STEP_WRITE(INVERT_Z_STEP_PIN);
|
||||
#endif
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 3
|
||||
#if NUM_Z_STEPPERS >= 3
|
||||
Z3_STEP_INIT();
|
||||
Z3_STEP_WRITE(INVERT_Z_STEP_PIN);
|
||||
#endif
|
||||
#if NUM_Z_STEPPER_DRIVERS >= 4
|
||||
#if NUM_Z_STEPPERS >= 4
|
||||
Z4_STEP_INIT();
|
||||
Z4_STEP_WRITE(INVERT_Z_STEP_PIN);
|
||||
#endif
|
||||
@@ -2965,7 +2965,7 @@ void Stepper::report_positions() {
|
||||
|
||||
#define _ENABLE_AXIS(A) enable_axis(_AXIS(A))
|
||||
#define _READ_DIR(AXIS) AXIS ##_DIR_READ()
|
||||
#define _INVERT_DIR(AXIS) INVERT_## AXIS ##_DIR
|
||||
#define _INVERT_DIR(AXIS) ENABLED(INVERT_## AXIS ##_DIR)
|
||||
#define _APPLY_DIR(AXIS, INVERT) AXIS ##_APPLY_DIR(INVERT, true)
|
||||
|
||||
#if MINIMUM_STEPPER_PULSE
|
||||
@@ -3108,21 +3108,21 @@ void Stepper::report_positions() {
|
||||
I_DIR_READ(), J_DIR_READ(), K_DIR_READ()
|
||||
);
|
||||
|
||||
X_DIR_WRITE(INVERT_X_DIR ^ z_direction);
|
||||
X_DIR_WRITE(ENABLED(INVERT_X_DIR) ^ z_direction);
|
||||
#ifdef Y_DIR_WRITE
|
||||
Y_DIR_WRITE(INVERT_Y_DIR ^ z_direction);
|
||||
Y_DIR_WRITE(ENABLED(INVERT_Y_DIR) ^ z_direction);
|
||||
#endif
|
||||
#ifdef Z_DIR_WRITE
|
||||
Z_DIR_WRITE(INVERT_Z_DIR ^ z_direction);
|
||||
Z_DIR_WRITE(ENABLED(INVERT_Z_DIR) ^ z_direction);
|
||||
#endif
|
||||
#ifdef I_DIR_WRITE
|
||||
I_DIR_WRITE(INVERT_I_DIR ^ z_direction);
|
||||
I_DIR_WRITE(ENABLED(INVERT_I_DIR) ^ z_direction);
|
||||
#endif
|
||||
#ifdef J_DIR_WRITE
|
||||
J_DIR_WRITE(INVERT_J_DIR ^ z_direction);
|
||||
J_DIR_WRITE(ENABLED(INVERT_J_DIR) ^ z_direction);
|
||||
#endif
|
||||
#ifdef K_DIR_WRITE
|
||||
K_DIR_WRITE(INVERT_K_DIR ^ z_direction);
|
||||
K_DIR_WRITE(ENABLED(INVERT_K_DIR) ^ z_direction);
|
||||
#endif
|
||||
|
||||
DIR_WAIT_AFTER();
|
||||
|
||||
Reference in New Issue
Block a user