🧑‍💻 Apply axis conditionals

This commit is contained in:
Scott Lahteine
2022-01-02 09:22:36 -06:00
committed by Scott Lahteine
parent a732427329
commit 9956e62674
28 changed files with 215 additions and 225 deletions

View File

@ -1059,7 +1059,7 @@ void Endstops::update() {
}
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
if (stepper.axis_is_moving(I_AXIS)) {
if (stepper.motor_direction(I_AXIS_HEAD)) { // -direction
#if HAS_I_MIN || (I_SPI_SENSORLESS && I_HOME_TO_MIN)
@ -1074,7 +1074,7 @@ void Endstops::update() {
}
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
if (stepper.axis_is_moving(J_AXIS)) {
if (stepper.motor_direction(J_AXIS_HEAD)) { // -direction
#if HAS_J_MIN || (J_SPI_SENSORLESS && J_HOME_TO_MIN)
@ -1089,7 +1089,7 @@ void Endstops::update() {
}
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
if (stepper.axis_is_moving(K_AXIS)) {
if (stepper.motor_direction(K_AXIS_HEAD)) { // -direction
#if HAS_K_MIN || (K_SPI_SENSORLESS && K_HOME_TO_MIN)

View File

@ -603,7 +603,7 @@ void do_blocking_move_to_x(const_float_t rx, const_feedRate_t fr_mm_s/*=0.0*/) {
}
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
void do_blocking_move_to_i(const_float_t ri, const_feedRate_t fr_mm_s/*=0.0*/) {
do_blocking_move_to_xyz_i(current_position, ri, fr_mm_s);
}
@ -615,7 +615,7 @@ void do_blocking_move_to_x(const_float_t rx, const_feedRate_t fr_mm_s/*=0.0*/) {
}
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
void do_blocking_move_to_j(const_float_t rj, const_feedRate_t fr_mm_s/*=0.0*/) {
do_blocking_move_to_xyzi_j(current_position, rj, fr_mm_s);
}
@ -627,7 +627,7 @@ void do_blocking_move_to_x(const_float_t rx, const_feedRate_t fr_mm_s/*=0.0*/) {
}
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
void do_blocking_move_to_k(const_float_t rk, const_feedRate_t fr_mm_s/*=0.0*/) {
do_blocking_move_to_xyzij_k(current_position, rk, fr_mm_s);
}
@ -839,7 +839,7 @@ void restore_feedrate_and_scaling() {
#endif
}
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
if (axis_was_homed(I_AXIS)) {
#if !HAS_SOFTWARE_ENDSTOPS || ENABLED(MIN_SOFTWARE_ENDSTOP_I)
NOLESS(target.i, soft_endstop.min.i);
@ -849,7 +849,7 @@ void restore_feedrate_and_scaling() {
#endif
}
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
if (axis_was_homed(J_AXIS)) {
#if !HAS_SOFTWARE_ENDSTOPS || ENABLED(MIN_SOFTWARE_ENDSTOP_J)
NOLESS(target.j, soft_endstop.min.j);
@ -859,7 +859,7 @@ void restore_feedrate_and_scaling() {
#endif
}
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
if (axis_was_homed(K_AXIS)) {
#if !HAS_SOFTWARE_ENDSTOPS || ENABLED(MIN_SOFTWARE_ENDSTOP_K)
NOLESS(target.k, soft_endstop.min.k);
@ -1417,13 +1417,13 @@ void prepare_line_to_destination() {
#if HAS_Z_AXIS
case Z_AXIS: if (ENABLED(Z_SPI_SENSORLESS)) endstops.tmc_spi_homing.z = true; break;
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
case I_AXIS: if (ENABLED(I_SPI_SENSORLESS)) endstops.tmc_spi_homing.i = true; break;
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
case J_AXIS: if (ENABLED(J_SPI_SENSORLESS)) endstops.tmc_spi_homing.j = true; break;
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
case K_AXIS: if (ENABLED(K_SPI_SENSORLESS)) endstops.tmc_spi_homing.k = true; break;
#endif
default: break;
@ -1494,13 +1494,13 @@ void prepare_line_to_destination() {
#if HAS_Z_AXIS
case Z_AXIS: if (ENABLED(Z_SPI_SENSORLESS)) endstops.tmc_spi_homing.z = false; break;
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
case I_AXIS: if (ENABLED(I_SPI_SENSORLESS)) endstops.tmc_spi_homing.i = false; break;
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
case J_AXIS: if (ENABLED(J_SPI_SENSORLESS)) endstops.tmc_spi_homing.j = false; break;
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
case K_AXIS: if (ENABLED(K_SPI_SENSORLESS)) endstops.tmc_spi_homing.k = false; break;
#endif
default: break;
@ -1821,13 +1821,13 @@ void prepare_line_to_destination() {
case X_AXIS: es = X_ENDSTOP; break;
case Y_AXIS: es = Y_ENDSTOP; break;
case Z_AXIS: es = Z_ENDSTOP; break;
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
case I_AXIS: es = I_ENDSTOP; break;
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
case J_AXIS: es = J_ENDSTOP; break;
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
case K_AXIS: es = K_ENDSTOP; break;
#endif
}

View File

@ -180,19 +180,19 @@ inline float home_bump_mm(const AxisEnum axis) {
TERN_(MAX_SOFTWARE_ENDSTOP_Z, amax = max.z);
break;
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
case I_AXIS:
TERN_(MIN_SOFTWARE_ENDSTOP_I, amin = min.i);
TERN_(MIN_SOFTWARE_ENDSTOP_I, amax = max.i);
break;
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
case J_AXIS:
TERN_(MIN_SOFTWARE_ENDSTOP_J, amin = min.j);
TERN_(MIN_SOFTWARE_ENDSTOP_J, amax = max.j);
break;
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
case K_AXIS:
TERN_(MIN_SOFTWARE_ENDSTOP_K, amin = min.k);
TERN_(MIN_SOFTWARE_ENDSTOP_K, amax = max.k);
@ -333,15 +333,15 @@ void do_blocking_move_to_x(const_float_t rx, const_feedRate_t fr_mm_s=0.0f);
#if HAS_Z_AXIS
void do_blocking_move_to_z(const_float_t rz, const_feedRate_t fr_mm_s=0.0f);
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
void do_blocking_move_to_i(const_float_t ri, const_feedRate_t fr_mm_s=0.0f);
void do_blocking_move_to_xyz_i(const xyze_pos_t &raw, const_float_t i, const_feedRate_t fr_mm_s=0.0f);
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
void do_blocking_move_to_j(const_float_t rj, const_feedRate_t fr_mm_s=0.0f);
void do_blocking_move_to_xyzi_j(const xyze_pos_t &raw, const_float_t j, const_feedRate_t fr_mm_s=0.0f);
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
void do_blocking_move_to_k(const_float_t rk, const_feedRate_t fr_mm_s=0.0f);
void do_blocking_move_to_xyzij_k(const xyze_pos_t &raw, const_float_t k, const_feedRate_t fr_mm_s=0.0f);
#endif
@ -476,15 +476,15 @@ void home_if_needed(const bool keeplev=false);
#define LOGICAL_Z_POSITION(POS) NATIVE_TO_LOGICAL(POS, Z_AXIS)
#define RAW_Z_POSITION(POS) LOGICAL_TO_NATIVE(POS, Z_AXIS)
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
#define LOGICAL_I_POSITION(POS) NATIVE_TO_LOGICAL(POS, I_AXIS)
#define RAW_I_POSITION(POS) LOGICAL_TO_NATIVE(POS, I_AXIS)
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
#define LOGICAL_J_POSITION(POS) NATIVE_TO_LOGICAL(POS, J_AXIS)
#define RAW_J_POSITION(POS) LOGICAL_TO_NATIVE(POS, J_AXIS)
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
#define LOGICAL_K_POSITION(POS) NATIVE_TO_LOGICAL(POS, K_AXIS)
#define RAW_K_POSITION(POS) LOGICAL_TO_NATIVE(POS, K_AXIS)
#endif

View File

@ -1866,13 +1866,13 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
" A:", target.a, " (", da, " steps)"
" B:", target.b, " (", db, " steps)"
" C:", target.c, " (", dc, " steps)"
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
" " AXIS4_STR ":", target.i, " (", di, " steps)"
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
" " AXIS5_STR ":", target.j, " (", dj, " steps)"
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
" " AXIS6_STR ":", target.k, " (", dk, " steps)"
#endif
#if HAS_EXTRUDERS
@ -1939,13 +1939,13 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
if (db + dc < 0) SBI(dm, B_AXIS); // Motor B direction
if (CORESIGN(db - dc) < 0) SBI(dm, C_AXIS); // Motor C direction
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
if (di < 0) SBI(dm, I_AXIS);
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
if (dj < 0) SBI(dm, J_AXIS);
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
if (dk < 0) SBI(dm, K_AXIS);
#endif
#elif ENABLED(MARKFORGED_XY)
@ -2041,13 +2041,13 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
steps_dist_mm.b = (db + dc) * mm_per_step[B_AXIS];
steps_dist_mm.c = CORESIGN(db - dc) * mm_per_step[C_AXIS];
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
steps_dist_mm.i = di * mm_per_step[I_AXIS];
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
steps_dist_mm.j = dj * mm_per_step[J_AXIS];
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
steps_dist_mm.k = dk * mm_per_step[K_AXIS];
#endif
#elif ENABLED(MARKFORGED_XY)
@ -2104,7 +2104,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
)
#elif ENABLED(FOAMCUTTER_XYUV)
// Return the largest distance move from either X/Y or I/J plane
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
_MAX(sq(steps_dist_mm.x) + sq(steps_dist_mm.y), sq(steps_dist_mm.i) + sq(steps_dist_mm.j))
#else
sq(steps_dist_mm.x) + sq(steps_dist_mm.y)
@ -2197,13 +2197,13 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
);
#endif
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
if (block->steps.i) stepper.enable_axis(I_AXIS);
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
if (block->steps.j) stepper.enable_axis(J_AXIS);
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
if (block->steps.k) stepper.enable_axis(K_AXIS);
#endif
#endif
@ -2949,17 +2949,17 @@ bool Planner::buffer_segment(const abce_pos_t &abce
SERIAL_ECHOPGM(" (", position.z, "->", target.z);
SERIAL_CHAR(')');
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
SERIAL_ECHOPGM_P(SP_I_LBL, abce.i);
SERIAL_ECHOPGM(" (", position.i, "->", target.i);
SERIAL_CHAR(')');
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
SERIAL_ECHOPGM_P(SP_J_LBL, abce.j);
SERIAL_ECHOPGM(" (", position.j, "->", target.j);
SERIAL_CHAR(')');
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
SERIAL_ECHOPGM_P(SP_K_LBL, abce.k);
SERIAL_ECHOPGM(" (", position.k, "->", target.k);
SERIAL_CHAR(')');

View File

@ -2712,13 +2712,13 @@ void MarlinSettings::reset() {
#if HAS_Z_AXIS && !defined(DEFAULT_ZJERK)
#define DEFAULT_ZJERK 0
#endif
#if LINEAR_AXES >= 4 && !defined(DEFAULT_IJERK)
#if HAS_I_AXIS && !defined(DEFAULT_IJERK)
#define DEFAULT_IJERK 0
#endif
#if LINEAR_AXES >= 5 && !defined(DEFAULT_JJERK)
#if HAS_J_AXIS && !defined(DEFAULT_JJERK)
#define DEFAULT_JJERK 0
#endif
#if LINEAR_AXES >= 6 && !defined(DEFAULT_KJERK)
#if HAS_K_AXIS && !defined(DEFAULT_KJERK)
#define DEFAULT_KJERK 0
#endif
planner.max_jerk.set(

View File

@ -435,15 +435,15 @@ xyze_int8_t Stepper::count_direction{0};
#define Z_APPLY_STEP(v,Q) Z_STEP_WRITE(v)
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
#define I_APPLY_DIR(v,Q) I_DIR_WRITE(v)
#define I_APPLY_STEP(v,Q) I_STEP_WRITE(v)
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
#define J_APPLY_DIR(v,Q) J_DIR_WRITE(v)
#define J_APPLY_STEP(v,Q) J_STEP_WRITE(v)
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
#define K_APPLY_DIR(v,Q) K_DIR_WRITE(v)
#define K_APPLY_STEP(v,Q) K_STEP_WRITE(v)
#endif
@ -1688,7 +1688,7 @@ void Stepper::pulse_phase_isr() {
const bool is_page = IS_PAGE(current_block);
#if ENABLED(DIRECT_STEPPING)
// TODO (DerAndere): Add support for LINEAR_AXES >= 4
// TODO (DerAndere): Add support for HAS_I_AXIS
if (is_page) {
#if STEPPER_PAGE_FORMAT == SP_4x4D_128
@ -1929,7 +1929,7 @@ uint32_t Stepper::block_phase_isr() {
// If current block is finished, reset pointer and finalize state
if (step_events_completed >= step_event_count) {
#if ENABLED(DIRECT_STEPPING)
// TODO (DerAndere): Add support for LINEAR_AXES >= 4
// TODO (DerAndere): Add support for HAS_I_AXIS
#if STEPPER_PAGE_FORMAT == SP_4x4D_128
#define PAGE_SEGMENT_UPDATE_POS(AXIS) \
count_position[_AXIS(AXIS)] += page_step_state.bd[_AXIS(AXIS)] - 128 * 7;
@ -3184,13 +3184,13 @@ void Stepper::report_positions() {
} break;
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
case I_AXIS: BABYSTEP_AXIS(I, 0, direction); break;
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
case J_AXIS: BABYSTEP_AXIS(J, 0, direction); break;
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
case K_AXIS: BABYSTEP_AXIS(K, 0, direction); break;
#endif

View File

@ -206,7 +206,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
#endif
// I Stepper
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
#ifndef I_ENABLE_INIT
#define I_ENABLE_INIT() SET_OUTPUT(I_ENABLE_PIN)
#define I_ENABLE_WRITE(STATE) WRITE(I_ENABLE_PIN,STATE)
@ -225,7 +225,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
#endif
// J Stepper
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
#ifndef J_ENABLE_INIT
#define J_ENABLE_INIT() SET_OUTPUT(J_ENABLE_PIN)
#define J_ENABLE_WRITE(STATE) WRITE(J_ENABLE_PIN,STATE)
@ -244,7 +244,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
#endif
// K Stepper
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
#ifndef K_ENABLE_INIT
#define K_ENABLE_INIT() SET_OUTPUT(K_ENABLE_PIN)
#define K_ENABLE_WRITE(STATE) WRITE(K_ENABLE_PIN,STATE)
@ -895,21 +895,21 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
#define Z_RESET()
#endif
#if LINEAR_AXES >= 4
#if HAS_I_AXIS
#define ENABLE_AXIS_I() if (SHOULD_ENABLE(i)) { ENABLE_STEPPER_I(); AFTER_CHANGE(i, true); }
#define DISABLE_AXIS_I() if (SHOULD_DISABLE(i)) { DISABLE_STEPPER_I(); AFTER_CHANGE(i, false); set_axis_untrusted(I_AXIS); }
#else
#define ENABLE_AXIS_I() NOOP
#define DISABLE_AXIS_I() NOOP
#endif
#if LINEAR_AXES >= 5
#if HAS_J_AXIS
#define ENABLE_AXIS_J() if (SHOULD_ENABLE(j)) { ENABLE_STEPPER_J(); AFTER_CHANGE(j, true); }
#define DISABLE_AXIS_J() if (SHOULD_DISABLE(j)) { DISABLE_STEPPER_J(); AFTER_CHANGE(j, false); set_axis_untrusted(J_AXIS); }
#else
#define ENABLE_AXIS_J() NOOP
#define DISABLE_AXIS_J() NOOP
#endif
#if LINEAR_AXES >= 6
#if HAS_K_AXIS
#define ENABLE_AXIS_K() if (SHOULD_ENABLE(k)) { ENABLE_STEPPER_K(); AFTER_CHANGE(k, true); }
#define DISABLE_AXIS_K() if (SHOULD_DISABLE(k)) { DISABLE_STEPPER_K(); AFTER_CHANGE(k, false); set_axis_untrusted(K_AXIS); }
#else

View File

@ -83,13 +83,13 @@
#if HAS_Z_AXIS && !defined(CHOPPER_TIMING_Z)
#define CHOPPER_TIMING_Z CHOPPER_TIMING
#endif
#if LINEAR_AXES >= 4 && !defined(CHOPPER_TIMING_I)
#if HAS_I_AXIS && !defined(CHOPPER_TIMING_I)
#define CHOPPER_TIMING_I CHOPPER_TIMING
#endif
#if LINEAR_AXES >= 5 && !defined(CHOPPER_TIMING_J)
#if HAS_J_AXIS && !defined(CHOPPER_TIMING_J)
#define CHOPPER_TIMING_J CHOPPER_TIMING
#endif
#if LINEAR_AXES >= 6 && !defined(CHOPPER_TIMING_K)
#if HAS_K_AXIS && !defined(CHOPPER_TIMING_K)
#define CHOPPER_TIMING_K CHOPPER_TIMING
#endif
#if HAS_EXTRUDERS && !defined(CHOPPER_TIMING_E)