|
|
|
@ -182,20 +182,20 @@ volatile int32_t Stepper::endstops_trigsteps[XYZ];
|
|
|
|
|
#define LOCKED_X2_MOTOR locked_x2_motor
|
|
|
|
|
#define LOCKED_Y2_MOTOR locked_y2_motor
|
|
|
|
|
#define LOCKED_Z2_MOTOR locked_z2_motor
|
|
|
|
|
#define DUAL_ENDSTOP_APPLY_STEP(AXIS,v) \
|
|
|
|
|
#define DUAL_ENDSTOP_APPLY_STEP(A,V) \
|
|
|
|
|
if (performing_homing) { \
|
|
|
|
|
if (AXIS##_HOME_DIR < 0) { \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, AXIS##_MIN) && count_direction[AXIS##_AXIS] < 0) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, AXIS##2_MIN) && count_direction[AXIS##_AXIS] < 0) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \
|
|
|
|
|
if (A##_HOME_DIR < 0) { \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, A##_MIN) && count_direction[_AXIS(A)] < 0) && !LOCKED_##A##_MOTOR) A##_STEP_WRITE(V); \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, A##2_MIN) && count_direction[_AXIS(A)] < 0) && !LOCKED_##A##2_MOTOR) A##2_STEP_WRITE(V); \
|
|
|
|
|
} \
|
|
|
|
|
else { \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, AXIS##_MAX) && count_direction[AXIS##_AXIS] > 0) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, AXIS##2_MAX) && count_direction[AXIS##_AXIS] > 0) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, A##_MAX) && count_direction[_AXIS(A)] > 0) && !LOCKED_##A##_MOTOR) A##_STEP_WRITE(V); \
|
|
|
|
|
if (!(TEST(endstops.old_endstop_bits, A##2_MAX) && count_direction[_AXIS(A)] > 0) && !LOCKED_##A##2_MOTOR) A##2_STEP_WRITE(V); \
|
|
|
|
|
} \
|
|
|
|
|
} \
|
|
|
|
|
else { \
|
|
|
|
|
AXIS##_STEP_WRITE(v); \
|
|
|
|
|
AXIS##2_STEP_WRITE(v); \
|
|
|
|
|
A##_STEP_WRITE(V); \
|
|
|
|
|
A##2_STEP_WRITE(V); \
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|