🧑💻 Misc. updates for extra axes (#23521)
This commit is contained in:
committed by
Scott Lahteine
parent
39e4310c7b
commit
5617edbb96
@ -558,7 +558,7 @@ void _O2 Endstops::report_states() {
|
||||
#if HAS_J_MAX
|
||||
ES_REPORT(J_MAX);
|
||||
#endif
|
||||
#if HAS_K_MIN
|
||||
#if HAS_K_MIN
|
||||
ES_REPORT(K_MIN);
|
||||
#endif
|
||||
#if HAS_K_MAX
|
||||
|
@ -467,8 +467,8 @@ void _internal_move_to_destination(const_feedRate_t fr_mm_s/*=0.0f*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Plan a move to (X, Y, Z, [I, [J, [K]]]) and set the current_position
|
||||
* Plan a move to (X, Y, Z) with separation of Z from other components.
|
||||
* Plan a move to (X, Y, Z, [I, [J, [K...]]]) and set the current_position
|
||||
* Plan a move to (X, Y, Z, [I, [J, [K...]]]) with separation of Z from other components.
|
||||
*
|
||||
* - If Z is moving up, the Z move is done before XY, etc.
|
||||
* - If Z is moving down, the Z move is done after XY, etc.
|
||||
@ -484,6 +484,15 @@ void do_blocking_move_to(LINEAR_AXIS_ARGS(const float), const_feedRate_t fr_mm_s
|
||||
#if HAS_Z_AXIS
|
||||
const feedRate_t z_feedrate = fr_mm_s ?: homing_feedrate(Z_AXIS);
|
||||
#endif
|
||||
#if HAS_I_AXIS
|
||||
const feedRate_t i_feedrate = fr_mm_s ?: homing_feedrate(I_AXIS);
|
||||
#endif
|
||||
#if HAS_J_AXIS
|
||||
const feedRate_t j_feedrate = fr_mm_s ?: homing_feedrate(J_AXIS);
|
||||
#endif
|
||||
#if HAS_K_AXIS
|
||||
const feedRate_t k_feedrate = fr_mm_s ?: homing_feedrate(K_AXIS);
|
||||
#endif
|
||||
|
||||
#if IS_KINEMATIC
|
||||
if (!position_is_reachable(x, y)) return;
|
||||
@ -498,8 +507,8 @@ void do_blocking_move_to(LINEAR_AXIS_ARGS(const float), const_feedRate_t fr_mm_s
|
||||
|
||||
// when in the danger zone
|
||||
if (current_position.z > delta_clip_start_height) {
|
||||
if (z > delta_clip_start_height) { // staying in the danger zone
|
||||
destination.set(x, y, z); // move directly (uninterpolated)
|
||||
if (z > delta_clip_start_height) { // staying in the danger zone
|
||||
destination.set(x, y, z); // move directly (uninterpolated)
|
||||
prepare_internal_fast_move_to_destination(); // set current_position from destination
|
||||
if (DEBUGGING(LEVELING)) DEBUG_POS("danger zone move", current_position);
|
||||
return;
|
||||
@ -509,7 +518,7 @@ void do_blocking_move_to(LINEAR_AXIS_ARGS(const float), const_feedRate_t fr_mm_s
|
||||
if (DEBUGGING(LEVELING)) DEBUG_POS("zone border move", current_position);
|
||||
}
|
||||
|
||||
if (z > current_position.z) { // raising?
|
||||
if (z > current_position.z) { // raising?
|
||||
destination.z = z;
|
||||
prepare_internal_fast_move_to_destination(z_feedrate); // set current_position from destination
|
||||
if (DEBUGGING(LEVELING)) DEBUG_POS("z raise move", current_position);
|
||||
@ -519,7 +528,7 @@ void do_blocking_move_to(LINEAR_AXIS_ARGS(const float), const_feedRate_t fr_mm_s
|
||||
prepare_internal_move_to_destination(); // set current_position from destination
|
||||
if (DEBUGGING(LEVELING)) DEBUG_POS("xy move", current_position);
|
||||
|
||||
if (z < current_position.z) { // lowering?
|
||||
if (z < current_position.z) { // lowering?
|
||||
destination.z = z;
|
||||
prepare_internal_fast_move_to_destination(z_feedrate); // set current_position from destination
|
||||
if (DEBUGGING(LEVELING)) DEBUG_POS("z lower move", current_position);
|
||||
@ -528,39 +537,32 @@ void do_blocking_move_to(LINEAR_AXIS_ARGS(const float), const_feedRate_t fr_mm_s
|
||||
#elif IS_SCARA
|
||||
|
||||
// If Z needs to raise, do it before moving XY
|
||||
if (destination.z < z) {
|
||||
destination.z = z;
|
||||
prepare_internal_fast_move_to_destination(z_feedrate);
|
||||
}
|
||||
if (destination.z < z) { destination.z = z; prepare_internal_fast_move_to_destination(z_feedrate); }
|
||||
|
||||
destination.set(x, y);
|
||||
prepare_internal_fast_move_to_destination(xy_feedrate);
|
||||
destination.set(x, y); prepare_internal_fast_move_to_destination(xy_feedrate);
|
||||
|
||||
// If Z needs to lower, do it after moving XY
|
||||
if (destination.z > z) {
|
||||
destination.z = z;
|
||||
prepare_internal_fast_move_to_destination(z_feedrate);
|
||||
}
|
||||
if (destination.z > z) { destination.z = z; prepare_internal_fast_move_to_destination(z_feedrate); }
|
||||
|
||||
#else
|
||||
|
||||
#if HAS_Z_AXIS
|
||||
// If Z needs to raise, do it before moving XY
|
||||
if (current_position.z < z) {
|
||||
current_position.z = z;
|
||||
line_to_current_position(z_feedrate);
|
||||
}
|
||||
#if HAS_Z_AXIS // If Z needs to raise, do it before moving XY
|
||||
if (current_position.z < z) { current_position.z = z; line_to_current_position(z_feedrate); }
|
||||
#endif
|
||||
|
||||
current_position.set(x, y);
|
||||
line_to_current_position(xy_feedrate);
|
||||
current_position.set(x, y); line_to_current_position(xy_feedrate);
|
||||
|
||||
#if HAS_Z_AXIS
|
||||
// If Z needs to lower, do it after moving XY
|
||||
if (current_position.z > z) {
|
||||
current_position.z = z;
|
||||
line_to_current_position(z_feedrate);
|
||||
}
|
||||
#if HAS_I_AXIS
|
||||
current_position.i = i; line_to_current_position(i_feedrate);
|
||||
#endif
|
||||
#if HAS_J_AXIS
|
||||
current_position.j = j; line_to_current_position(j_feedrate);
|
||||
#endif
|
||||
#if HAS_K_AXIS
|
||||
current_position.k = k; line_to_current_position(k_feedrate);
|
||||
#endif
|
||||
#if HAS_Z_AXIS // If Z needs to lower, do it after moving XY...
|
||||
if (current_position.z > z) { current_position.z = z; line_to_current_position(z_feedrate); }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@ -1402,6 +1404,15 @@ void prepare_line_to_destination() {
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
#if I_SENSORLESS
|
||||
case I_AXIS: stealth_states.i = tmc_enable_stallguard(stepperI); break;
|
||||
#endif
|
||||
#if J_SENSORLESS
|
||||
case J_AXIS: stealth_states.j = tmc_enable_stallguard(stepperJ); break;
|
||||
#endif
|
||||
#if K_SENSORLESS
|
||||
case K_AXIS: stealth_states.k = tmc_enable_stallguard(stepperK); break;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLED(SPI_ENDSTOPS)
|
||||
@ -1479,6 +1490,15 @@ void prepare_line_to_destination() {
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
#if I_SENSORLESS
|
||||
case I_AXIS: tmc_disable_stallguard(stepperI, enable_stealth.i); break;
|
||||
#endif
|
||||
#if J_SENSORLESS
|
||||
case J_AXIS: tmc_disable_stallguard(stepperJ, enable_stealth.j); break;
|
||||
#endif
|
||||
#if K_SENSORLESS
|
||||
case K_AXIS: tmc_disable_stallguard(stepperK, enable_stealth.k); break;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLED(SPI_ENDSTOPS)
|
||||
@ -1815,8 +1835,12 @@ void prepare_line_to_destination() {
|
||||
switch (axis) {
|
||||
default:
|
||||
case X_AXIS: es = X_ENDSTOP; break;
|
||||
case Y_AXIS: es = Y_ENDSTOP; break;
|
||||
case Z_AXIS: es = Z_ENDSTOP; break;
|
||||
#if HAS_Y_AXIS
|
||||
case Y_AXIS: es = Y_ENDSTOP; break;
|
||||
#endif
|
||||
#if HAS_Z_AXIS
|
||||
case Z_AXIS: es = Z_ENDSTOP; break;
|
||||
#endif
|
||||
#if HAS_I_AXIS
|
||||
case I_AXIS: es = I_ENDSTOP; break;
|
||||
#endif
|
||||
|
@ -2041,15 +2041,9 @@ 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 HAS_I_AXIS
|
||||
steps_dist_mm.i = di * mm_per_step[I_AXIS];
|
||||
#endif
|
||||
#if HAS_J_AXIS
|
||||
steps_dist_mm.j = dj * mm_per_step[J_AXIS];
|
||||
#endif
|
||||
#if HAS_K_AXIS
|
||||
steps_dist_mm.k = dk * mm_per_step[K_AXIS];
|
||||
#endif
|
||||
TERN_(HAS_I_AXIS, steps_dist_mm.i = di * mm_per_step[I_AXIS]);
|
||||
TERN_(HAS_J_AXIS, steps_dist_mm.j = dj * mm_per_step[J_AXIS]);
|
||||
TERN_(HAS_K_AXIS, steps_dist_mm.k = dk * mm_per_step[K_AXIS]);
|
||||
#elif ENABLED(MARKFORGED_XY)
|
||||
steps_dist_mm.a = (da - db) * mm_per_step[A_AXIS];
|
||||
steps_dist_mm.b = db * mm_per_step[B_AXIS];
|
||||
@ -2197,15 +2191,9 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||
);
|
||||
#endif
|
||||
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
|
||||
#if HAS_I_AXIS
|
||||
if (block->steps.i) stepper.enable_axis(I_AXIS);
|
||||
#endif
|
||||
#if HAS_J_AXIS
|
||||
if (block->steps.j) stepper.enable_axis(J_AXIS);
|
||||
#endif
|
||||
#if HAS_K_AXIS
|
||||
if (block->steps.k) stepper.enable_axis(K_AXIS);
|
||||
#endif
|
||||
TERN_(HAS_I_AXIS, if (block->steps.i) stepper.enable_axis(I_AXIS));
|
||||
TERN_(HAS_J_AXIS, if (block->steps.j) stepper.enable_axis(J_AXIS));
|
||||
TERN_(HAS_K_AXIS, if (block->steps.k) stepper.enable_axis(K_AXIS));
|
||||
#endif
|
||||
|
||||
// Enable extruder(s)
|
||||
@ -2260,7 +2248,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||
|
||||
// Slow down when the buffer starts to empty, rather than wait at the corner for a buffer refill
|
||||
#if EITHER(SLOWDOWN, HAS_WIRED_LCD) || defined(XY_FREQUENCY_LIMIT)
|
||||
// Segment time im micro seconds
|
||||
// Segment time in microseconds
|
||||
int32_t segment_time_us = LROUND(1000000.0f / inverse_secs);
|
||||
#endif
|
||||
|
||||
@ -2419,7 +2407,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||
accel = CEIL((esteps ? settings.acceleration : settings.travel_acceleration) * steps_per_mm);
|
||||
|
||||
#if ENABLED(LIN_ADVANCE)
|
||||
|
||||
// Linear advance is currently not ready for HAS_I_AXIS
|
||||
#define MAX_E_JERK(N) TERN(HAS_LINEAR_E_JERK, max_e_jerk[E_INDEX_N(N)], max_jerk.e)
|
||||
|
||||
/**
|
||||
@ -2939,7 +2927,7 @@ bool Planner::buffer_segment(const abce_pos_t &abce
|
||||
SERIAL_ECHOPGM_P(SP_Y_LBL, abce.b);
|
||||
#endif
|
||||
SERIAL_ECHOPGM(" (", position.y, "->", target.y);
|
||||
#if LINEAR_AXES >= ABC
|
||||
#if HAS_Z_AXIS
|
||||
#if ENABLED(DELTA)
|
||||
SERIAL_ECHOPGM(") C:", abce.c);
|
||||
#else
|
||||
|
@ -772,7 +772,10 @@ float Probe::probe_at_point(const_float_t rx, const_float_t ry, const ProbePtRai
|
||||
#endif
|
||||
|
||||
// On delta keep Z below clip height or do_blocking_move_to will abort
|
||||
xyz_pos_t npos = { rx, ry, TERN(DELTA, _MIN(delta_clip_start_height, current_position.z), current_position.z) };
|
||||
xyz_pos_t npos = LINEAR_AXIS_ARRAY(
|
||||
rx, ry, TERN(DELTA, _MIN(delta_clip_start_height, current_position.z), current_position.z),
|
||||
current_position.i, current_position.j, current_position.k
|
||||
);
|
||||
if (!can_reach(npos, probe_relative)) {
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Position Not Reachable");
|
||||
return NAN;
|
||||
|
@ -522,7 +522,7 @@ bool Stepper::disable_axis(const AxisEnum axis) {
|
||||
}
|
||||
}
|
||||
|
||||
bool Stepper::disable_extruder(E_TERN_(const uint8_t eindex)) {
|
||||
bool Stepper::disable_extruder(E_TERN_(const uint8_t eindex/*=0*/)) {
|
||||
IF_DISABLED(HAS_MULTI_EXTRUDER, constexpr uint8_t eindex = 0);
|
||||
mark_axis_disabled(E_AXIS E_OPTARG(eindex));
|
||||
const bool can_disable = can_axis_disable(E_AXIS E_OPTARG(eindex));
|
||||
@ -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 HAS_I_AXIS
|
||||
// Direct stepping is currently not ready 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 HAS_I_AXIS
|
||||
// Direct stepping is currently not ready 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;
|
||||
@ -3352,113 +3352,115 @@ void Stepper::report_positions() {
|
||||
|
||||
void Stepper::microstep_init() {
|
||||
#if HAS_X_MS_PINS
|
||||
SET_OUTPUT(X_MS1_PIN);
|
||||
SET_OUTPUT(X_MS2_PIN);
|
||||
SET_OUTPUT(X_MS1_PIN); SET_OUTPUT(X_MS2_PIN);
|
||||
#if PIN_EXISTS(X_MS3)
|
||||
SET_OUTPUT(X_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_X2_MS_PINS
|
||||
SET_OUTPUT(X2_MS1_PIN);
|
||||
SET_OUTPUT(X2_MS2_PIN);
|
||||
SET_OUTPUT(X2_MS1_PIN); SET_OUTPUT(X2_MS2_PIN);
|
||||
#if PIN_EXISTS(X2_MS3)
|
||||
SET_OUTPUT(X2_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Y_MS_PINS
|
||||
SET_OUTPUT(Y_MS1_PIN);
|
||||
SET_OUTPUT(Y_MS2_PIN);
|
||||
SET_OUTPUT(Y_MS1_PIN); SET_OUTPUT(Y_MS2_PIN);
|
||||
#if PIN_EXISTS(Y_MS3)
|
||||
SET_OUTPUT(Y_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Y2_MS_PINS
|
||||
SET_OUTPUT(Y2_MS1_PIN);
|
||||
SET_OUTPUT(Y2_MS2_PIN);
|
||||
SET_OUTPUT(Y2_MS1_PIN); SET_OUTPUT(Y2_MS2_PIN);
|
||||
#if PIN_EXISTS(Y2_MS3)
|
||||
SET_OUTPUT(Y2_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Z_MS_PINS
|
||||
SET_OUTPUT(Z_MS1_PIN);
|
||||
SET_OUTPUT(Z_MS2_PIN);
|
||||
SET_OUTPUT(Z_MS1_PIN); SET_OUTPUT(Z_MS2_PIN);
|
||||
#if PIN_EXISTS(Z_MS3)
|
||||
SET_OUTPUT(Z_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Z2_MS_PINS
|
||||
SET_OUTPUT(Z2_MS1_PIN);
|
||||
SET_OUTPUT(Z2_MS2_PIN);
|
||||
SET_OUTPUT(Z2_MS1_PIN); SET_OUTPUT(Z2_MS2_PIN);
|
||||
#if PIN_EXISTS(Z2_MS3)
|
||||
SET_OUTPUT(Z2_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Z3_MS_PINS
|
||||
SET_OUTPUT(Z3_MS1_PIN);
|
||||
SET_OUTPUT(Z3_MS2_PIN);
|
||||
SET_OUTPUT(Z3_MS1_PIN); SET_OUTPUT(Z3_MS2_PIN);
|
||||
#if PIN_EXISTS(Z3_MS3)
|
||||
SET_OUTPUT(Z3_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_Z4_MS_PINS
|
||||
SET_OUTPUT(Z4_MS1_PIN);
|
||||
SET_OUTPUT(Z4_MS2_PIN);
|
||||
SET_OUTPUT(Z4_MS1_PIN); SET_OUTPUT(Z4_MS2_PIN);
|
||||
#if PIN_EXISTS(Z4_MS3)
|
||||
SET_OUTPUT(Z4_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_I_MS_PINS
|
||||
SET_OUTPUT(I_MS1_PIN); SET_OUTPUT(I_MS2_PIN);
|
||||
#if PIN_EXISTS(I_MS3)
|
||||
SET_OUTPUT(I_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_J_MS_PINS
|
||||
SET_OUTPUT(J_MS1_PIN); SET_OUTPUT(J_MS2_PIN);
|
||||
#if PIN_EXISTS(J_MS3)
|
||||
SET_OUTPUT(J_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_K_MS_PINS
|
||||
SET_OUTPUT(K_MS1_PIN); SET_OUTPUT(K_MS2_PIN);
|
||||
#if PIN_EXISTS(K_MS3)
|
||||
SET_OUTPUT(K_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E0_MS_PINS
|
||||
SET_OUTPUT(E0_MS1_PIN);
|
||||
SET_OUTPUT(E0_MS2_PIN);
|
||||
SET_OUTPUT(E0_MS1_PIN); SET_OUTPUT(E0_MS2_PIN);
|
||||
#if PIN_EXISTS(E0_MS3)
|
||||
SET_OUTPUT(E0_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E1_MS_PINS
|
||||
SET_OUTPUT(E1_MS1_PIN);
|
||||
SET_OUTPUT(E1_MS2_PIN);
|
||||
SET_OUTPUT(E1_MS1_PIN); SET_OUTPUT(E1_MS2_PIN);
|
||||
#if PIN_EXISTS(E1_MS3)
|
||||
SET_OUTPUT(E1_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E2_MS_PINS
|
||||
SET_OUTPUT(E2_MS1_PIN);
|
||||
SET_OUTPUT(E2_MS2_PIN);
|
||||
SET_OUTPUT(E2_MS1_PIN); SET_OUTPUT(E2_MS2_PIN);
|
||||
#if PIN_EXISTS(E2_MS3)
|
||||
SET_OUTPUT(E2_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E3_MS_PINS
|
||||
SET_OUTPUT(E3_MS1_PIN);
|
||||
SET_OUTPUT(E3_MS2_PIN);
|
||||
SET_OUTPUT(E3_MS1_PIN); SET_OUTPUT(E3_MS2_PIN);
|
||||
#if PIN_EXISTS(E3_MS3)
|
||||
SET_OUTPUT(E3_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E4_MS_PINS
|
||||
SET_OUTPUT(E4_MS1_PIN);
|
||||
SET_OUTPUT(E4_MS2_PIN);
|
||||
SET_OUTPUT(E4_MS1_PIN); SET_OUTPUT(E4_MS2_PIN);
|
||||
#if PIN_EXISTS(E4_MS3)
|
||||
SET_OUTPUT(E4_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E5_MS_PINS
|
||||
SET_OUTPUT(E5_MS1_PIN);
|
||||
SET_OUTPUT(E5_MS2_PIN);
|
||||
SET_OUTPUT(E5_MS1_PIN); SET_OUTPUT(E5_MS2_PIN);
|
||||
#if PIN_EXISTS(E5_MS3)
|
||||
SET_OUTPUT(E5_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E6_MS_PINS
|
||||
SET_OUTPUT(E6_MS1_PIN);
|
||||
SET_OUTPUT(E6_MS2_PIN);
|
||||
SET_OUTPUT(E6_MS1_PIN); SET_OUTPUT(E6_MS2_PIN);
|
||||
#if PIN_EXISTS(E6_MS3)
|
||||
SET_OUTPUT(E6_MS3_PIN);
|
||||
#endif
|
||||
#endif
|
||||
#if HAS_E7_MS_PINS
|
||||
SET_OUTPUT(E7_MS1_PIN);
|
||||
SET_OUTPUT(E7_MS2_PIN);
|
||||
SET_OUTPUT(E7_MS1_PIN); SET_OUTPUT(E7_MS2_PIN);
|
||||
#if PIN_EXISTS(E7_MS3)
|
||||
SET_OUTPUT(E7_MS3_PIN);
|
||||
#endif
|
||||
@ -3531,13 +3533,13 @@ void Stepper::report_positions() {
|
||||
#if HAS_E7_MS_PINS
|
||||
case 10: WRITE(E7_MS1_PIN, ms1); break;
|
||||
#endif
|
||||
#if HAS_I_MICROSTEPS
|
||||
#if HAS_I_MS_PINS
|
||||
case 11: WRITE(I_MS1_PIN, ms1); break
|
||||
#endif
|
||||
#if HAS_J_MICROSTEPS
|
||||
#if HAS_J_MS_PINS
|
||||
case 12: WRITE(J_MS1_PIN, ms1); break
|
||||
#endif
|
||||
#if HAS_K_MICROSTEPS
|
||||
#if HAS_K_MS_PINS
|
||||
case 13: WRITE(K_MS1_PIN, ms1); break
|
||||
#endif
|
||||
}
|
||||
@ -3602,13 +3604,13 @@ void Stepper::report_positions() {
|
||||
#if HAS_E7_MS_PINS
|
||||
case 10: WRITE(E7_MS2_PIN, ms2); break;
|
||||
#endif
|
||||
#if HAS_I_M_PINS
|
||||
#if HAS_I_MS_PINS
|
||||
case 11: WRITE(I_MS2_PIN, ms2); break
|
||||
#endif
|
||||
#if HAS_J_M_PINS
|
||||
#if HAS_J_MS_PINS
|
||||
case 12: WRITE(J_MS2_PIN, ms2); break
|
||||
#endif
|
||||
#if HAS_K_M_PINS
|
||||
#if HAS_K_MS_PINS
|
||||
case 13: WRITE(K_MS2_PIN, ms2); break
|
||||
#endif
|
||||
}
|
||||
|
@ -320,7 +320,6 @@ class Stepper {
|
||||
#ifndef MOTOR_CURRENT_PWM_FREQUENCY
|
||||
#define MOTOR_CURRENT_PWM_FREQUENCY 31400
|
||||
#endif
|
||||
|
||||
#define MOTOR_CURRENT_COUNT LINEAR_AXES
|
||||
#elif HAS_MOTOR_CURRENT_SPI
|
||||
static constexpr uint32_t digipot_count[] = DIGIPOT_MOTOR_CURRENT;
|
||||
|
Reference in New Issue
Block a user