Simplify stepper driver per-axis selection
This commit is contained in:
committed by
Scott Lahteine
parent
e5c0b490c8
commit
fbcdf5eaeb
@ -681,57 +681,57 @@ void MarlinSettings::postprocess() {
|
||||
|
||||
uint16_t tmc_stepper_current[TMC_AXES] = {
|
||||
#if HAS_TRINAMIC
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X)
|
||||
stepperX.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y)
|
||||
stepperY.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z)
|
||||
stepperZ.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2)
|
||||
stepperX2.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
stepperY2.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
stepperZ2.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E0)
|
||||
stepperE0.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if E1_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E1)
|
||||
stepperE1.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if E2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E2)
|
||||
stepperE2.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if E3_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E3)
|
||||
stepperE3.getCurrent(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if E4_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E4)
|
||||
stepperE4.getCurrent()
|
||||
#else
|
||||
0
|
||||
@ -750,57 +750,57 @@ void MarlinSettings::postprocess() {
|
||||
|
||||
uint32_t tmc_hybrid_threshold[TMC_AXES] = {
|
||||
#if ENABLED(HYBRID_THRESHOLD)
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
TMC_GET_PWMTHRS(X, X),
|
||||
#else
|
||||
X_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
TMC_GET_PWMTHRS(Y, Y),
|
||||
#else
|
||||
Y_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
TMC_GET_PWMTHRS(Z, Z),
|
||||
#else
|
||||
Z_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(X2)
|
||||
TMC_GET_PWMTHRS(X, X2),
|
||||
#else
|
||||
X2_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Y2)
|
||||
TMC_GET_PWMTHRS(Y, Y2),
|
||||
#else
|
||||
Y2_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Z2)
|
||||
TMC_GET_PWMTHRS(Z, Z2),
|
||||
#else
|
||||
Z2_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
TMC_GET_PWMTHRS(E, E0),
|
||||
#else
|
||||
E0_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if E1_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
TMC_GET_PWMTHRS(E, E1),
|
||||
#else
|
||||
E1_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if E2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E2)
|
||||
TMC_GET_PWMTHRS(E, E2),
|
||||
#else
|
||||
E2_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if E3_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E3)
|
||||
TMC_GET_PWMTHRS(E, E3),
|
||||
#else
|
||||
E3_HYBRID_THRESHOLD,
|
||||
#endif
|
||||
#if E4_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E4)
|
||||
TMC_GET_PWMTHRS(E, E4)
|
||||
#else
|
||||
E4_HYBRID_THRESHOLD
|
||||
@ -818,17 +818,17 @@ void MarlinSettings::postprocess() {
|
||||
//
|
||||
int16_t tmc_sgt[XYZ] = {
|
||||
#if ENABLED(SENSORLESS_HOMING)
|
||||
#if defined(X_HOMING_SENSITIVITY) && (ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS))
|
||||
#if X_SENSORLESS
|
||||
stepperX.sgt(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if defined(Y_HOMING_SENSITIVITY) && (ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS))
|
||||
#if Y_SENSORLESS
|
||||
stepperY.sgt(),
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
#if defined(Z_HOMING_SENSITIVITY) && (ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS))
|
||||
#if Z_SENSORLESS
|
||||
stepperZ.sgt()
|
||||
#else
|
||||
0
|
||||
@ -1311,37 +1311,37 @@ void MarlinSettings::postprocess() {
|
||||
uint16_t currents[TMC_AXES];
|
||||
EEPROM_READ(currents);
|
||||
if (!validating) {
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X)
|
||||
SET_CURR(X);
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y)
|
||||
SET_CURR(Y);
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z)
|
||||
SET_CURR(Z);
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2)
|
||||
SET_CURR(X2);
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
SET_CURR(Y2);
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
SET_CURR(Z2);
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E0)
|
||||
SET_CURR(E0);
|
||||
#endif
|
||||
#if E1_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E1)
|
||||
SET_CURR(E1);
|
||||
#endif
|
||||
#if E2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E2)
|
||||
SET_CURR(E2);
|
||||
#endif
|
||||
#if E3_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E3)
|
||||
SET_CURR(E3);
|
||||
#endif
|
||||
#if E4_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E4)
|
||||
SET_CURR(E4);
|
||||
#endif
|
||||
}
|
||||
@ -1355,37 +1355,37 @@ void MarlinSettings::postprocess() {
|
||||
uint32_t tmc_hybrid_threshold[TMC_AXES];
|
||||
EEPROM_READ(tmc_hybrid_threshold);
|
||||
if (!validating) {
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
TMC_SET_PWMTHRS(X, X);
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
TMC_SET_PWMTHRS(Y, Y);
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
TMC_SET_PWMTHRS(Z, Z);
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(X2)
|
||||
TMC_SET_PWMTHRS(X, X2);
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Y2)
|
||||
TMC_SET_PWMTHRS(Y, Y2);
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(Z2)
|
||||
TMC_SET_PWMTHRS(Z, Z2);
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
TMC_SET_PWMTHRS(E, E0);
|
||||
#endif
|
||||
#if E1_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
TMC_SET_PWMTHRS(E, E1);
|
||||
#endif
|
||||
#if E2_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E2)
|
||||
TMC_SET_PWMTHRS(E, E2);
|
||||
#endif
|
||||
#if E3_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E3)
|
||||
TMC_SET_PWMTHRS(E, E3);
|
||||
#endif
|
||||
#if E4_IS_TRINAMIC
|
||||
#if AXIS_HAS_STEALTHCHOP(E4)
|
||||
TMC_SET_PWMTHRS(E, E4);
|
||||
#endif
|
||||
}
|
||||
@ -1405,26 +1405,26 @@ void MarlinSettings::postprocess() {
|
||||
#if ENABLED(SENSORLESS_HOMING)
|
||||
if (!validating) {
|
||||
#ifdef X_HOMING_SENSITIVITY
|
||||
#if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS)
|
||||
#if AXIS_HAS_STALLGUARD(X)
|
||||
stepperX.sgt(tmc_sgt[0]);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2130)
|
||||
#if AXIS_HAS_STALLGUARD(X2)
|
||||
stepperX2.sgt(tmc_sgt[0]);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef Y_HOMING_SENSITIVITY
|
||||
#if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)
|
||||
#if AXIS_HAS_STALLGUARD(Y)
|
||||
stepperY.sgt(tmc_sgt[1]);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2130)
|
||||
#if AXIS_HAS_STALLGUARD(Y2)
|
||||
stepperY2.sgt(tmc_sgt[1]);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef Z_HOMING_SENSITIVITY
|
||||
#if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)
|
||||
#if AXIS_HAS_STALLGUARD(Z)
|
||||
stepperZ.sgt(tmc_sgt[2]);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2130)
|
||||
#if AXIS_HAS_STALLGUARD(Z2)
|
||||
stepperZ2.sgt(tmc_sgt[2]);
|
||||
#endif
|
||||
#endif
|
||||
@ -2445,61 +2445,61 @@ void MarlinSettings::reset(PORTARG_SOLO) {
|
||||
#if HAS_TRINAMIC
|
||||
|
||||
/**
|
||||
* TMC2130 / TMC2208 / TRAMS stepper driver current
|
||||
* TMC2130 / TMC2208 stepper driver current
|
||||
*/
|
||||
if (!forReplay) {
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOLNPGM_P(port, "Stepper driver current:");
|
||||
}
|
||||
CONFIG_ECHO_START;
|
||||
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
#endif
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X)
|
||||
SERIAL_ECHOPAIR_P(port, " X", stepperX.getCurrent());
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y)
|
||||
SERIAL_ECHOPAIR_P(port, " Y", stepperY.getCurrent());
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z)
|
||||
SERIAL_ECHOPAIR_P(port, " Z", stepperZ.getCurrent());
|
||||
#endif
|
||||
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
|
||||
SERIAL_EOL_P(port);
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
SERIAL_ECHOPGM_P(port, " I1");
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2)
|
||||
SERIAL_ECHOPAIR_P(port, " X", stepperX2.getCurrent());
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
SERIAL_ECHOPAIR_P(port, " Y", stepperY2.getCurrent());
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
SERIAL_ECHOPAIR_P(port, " Z", stepperZ2.getCurrent());
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
|
||||
SERIAL_EOL_P(port);
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E0)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T0 E", stepperE0.getCurrent());
|
||||
#endif
|
||||
#if E_STEPPERS > 1 && E1_IS_TRINAMIC
|
||||
#if E_STEPPERS > 1 && AXIS_IS_TMC(E1)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T1 E", stepperE1.getCurrent());
|
||||
#endif
|
||||
#if E_STEPPERS > 2 && E2_IS_TRINAMIC
|
||||
#if E_STEPPERS > 2 && AXIS_IS_TMC(E2)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T2 E", stepperE2.getCurrent());
|
||||
#endif
|
||||
#if E_STEPPERS > 3 && E3_IS_TRINAMIC
|
||||
#if E_STEPPERS > 3 && AXIS_IS_TMC(E3)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T3 E", stepperE3.getCurrent());
|
||||
#endif
|
||||
#if E_STEPPERS > 4 && E4_IS_TRINAMIC
|
||||
#if E_STEPPERS > 4 && AXIS_IS_TMC(E4)
|
||||
say_M906(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T4 E", stepperE4.getCurrent());
|
||||
#endif
|
||||
@ -2514,54 +2514,54 @@ void MarlinSettings::reset(PORTARG_SOLO) {
|
||||
SERIAL_ECHOLNPGM_P(port, "Hybrid Threshold:");
|
||||
}
|
||||
CONFIG_ECHO_START;
|
||||
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
#endif
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X)
|
||||
SERIAL_ECHOPAIR_P(port, " X", TMC_GET_PWMTHRS(X, X));
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y)
|
||||
SERIAL_ECHOPAIR_P(port, " Y", TMC_GET_PWMTHRS(Y, Y));
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z)
|
||||
SERIAL_ECHOPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z));
|
||||
#endif
|
||||
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
|
||||
SERIAL_EOL_P(port);
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
SERIAL_ECHOPGM_P(port, " I1");
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2)
|
||||
SERIAL_ECHOPAIR_P(port, " X", TMC_GET_PWMTHRS(X, X2));
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
SERIAL_ECHOPAIR_P(port, " Y", TMC_GET_PWMTHRS(Y, Y2));
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
SERIAL_ECHOPAIR_P(port, " Z", TMC_GET_PWMTHRS(Z, Z2));
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
|
||||
SERIAL_EOL_P(port);
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E0)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T0 E", TMC_GET_PWMTHRS(E, E0));
|
||||
#endif
|
||||
#if E_STEPPERS > 1 && E1_IS_TRINAMIC
|
||||
#if E_STEPPERS > 1 && AXIS_IS_TMC(E1)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T1 E", TMC_GET_PWMTHRS(E, E1));
|
||||
#endif
|
||||
#if E_STEPPERS > 2 && E2_IS_TRINAMIC
|
||||
#if E_STEPPERS > 2 && AXIS_IS_TMC(E2)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T2 E", TMC_GET_PWMTHRS(E, E2));
|
||||
#endif
|
||||
#if E_STEPPERS > 3 && E3_IS_TRINAMIC
|
||||
#if E_STEPPERS > 3 && AXIS_IS_TMC(E3)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T3 E", TMC_GET_PWMTHRS(E, E3));
|
||||
#endif
|
||||
#if E_STEPPERS > 4 && E4_IS_TRINAMIC
|
||||
#if E_STEPPERS > 4 && AXIS_IS_TMC(E4)
|
||||
say_M913(PORTVAR_SOLO);
|
||||
SERIAL_ECHOLNPAIR_P(port, " T4 E", TMC_GET_PWMTHRS(E, E4));
|
||||
#endif
|
||||
@ -2577,26 +2577,23 @@ void MarlinSettings::reset(PORTARG_SOLO) {
|
||||
SERIAL_ECHOLNPGM_P(port, "Sensorless homing threshold:");
|
||||
}
|
||||
CONFIG_ECHO_START;
|
||||
#define HAS_X_SENSORLESS (defined(X_HOMING_SENSITIVITY) && (ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS)))
|
||||
#define HAS_Y_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && (ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)))
|
||||
#define HAS_Z_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && (ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)))
|
||||
#if HAS_X_SENSORLESS || HAS_Y_SENSORLESS || HAS_Z_SENSORLESS
|
||||
#if X_SENSORLESS || Y_SENSORLESS || Z_SENSORLESS
|
||||
say_M914(PORTVAR_SOLO);
|
||||
#if HAS_X_SENSORLESS
|
||||
#if X_SENSORLESS
|
||||
SERIAL_ECHOPAIR_P(port, " X", stepperX.sgt());
|
||||
#endif
|
||||
#if HAS_Y_SENSORLESS
|
||||
#if Y_SENSORLESS
|
||||
SERIAL_ECHOPAIR_P(port, " Y", stepperY.sgt());
|
||||
#endif
|
||||
#if HAS_Z_SENSORLESS
|
||||
#if Z_SENSORLESS
|
||||
SERIAL_ECHOPAIR_P(port, " Z", stepperZ.sgt());
|
||||
#endif
|
||||
SERIAL_EOL_P(port);
|
||||
#endif
|
||||
|
||||
#define HAS_X2_SENSORLESS (defined(X_HOMING_SENSITIVITY) && ENABLED(X2_IS_TMC2130))
|
||||
#define HAS_Y2_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && ENABLED(Y2_IS_TMC2130))
|
||||
#define HAS_Z2_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && ENABLED(Z2_IS_TMC2130))
|
||||
#define HAS_X2_SENSORLESS (defined(X_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(X2))
|
||||
#define HAS_Y2_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(Y2))
|
||||
#define HAS_Z2_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(Z2))
|
||||
#if HAS_X2_SENSORLESS || HAS_Y2_SENSORLESS || HAS_Z2_SENSORLESS
|
||||
say_M914(PORTVAR_SOLO);
|
||||
SERIAL_ECHOPGM_P(port, " I1");
|
||||
|
@ -38,7 +38,7 @@
|
||||
//
|
||||
// TMC26X Driver objects and inits
|
||||
//
|
||||
#if ENABLED(HAVE_TMC26X)
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
#include <SPI.h>
|
||||
|
||||
#ifdef STM32F7
|
||||
@ -49,37 +49,37 @@
|
||||
|
||||
#define _TMC26X_DEFINE(ST) TMC26XStepper stepper##ST(200, ST##_CS_PIN, ST##_STEP_PIN, ST##_DIR_PIN, ST##_MAX_CURRENT, ST##_SENSE_RESISTOR)
|
||||
|
||||
#if ENABLED(X_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC26X)
|
||||
_TMC26X_DEFINE(X);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC26X)
|
||||
_TMC26X_DEFINE(X2);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC26X)
|
||||
_TMC26X_DEFINE(Y);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC26X)
|
||||
_TMC26X_DEFINE(Y2);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC26X)
|
||||
_TMC26X_DEFINE(Z);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC26X)
|
||||
_TMC26X_DEFINE(Z2);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC26X)
|
||||
_TMC26X_DEFINE(E0);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC26X)
|
||||
_TMC26X_DEFINE(E1);
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC26X)
|
||||
_TMC26X_DEFINE(E2);
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC26X)
|
||||
_TMC26X_DEFINE(E3);
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC26X)
|
||||
_TMC26X_DEFINE(E4);
|
||||
#endif
|
||||
|
||||
@ -89,46 +89,46 @@
|
||||
}while(0)
|
||||
|
||||
void tmc26x_init_to_defaults() {
|
||||
#if ENABLED(X_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC26X)
|
||||
_TMC26X_INIT(X);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC26X)
|
||||
_TMC26X_INIT(X2);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC26X)
|
||||
_TMC26X_INIT(Y);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC26X)
|
||||
_TMC26X_INIT(Y2);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC26X)
|
||||
_TMC26X_INIT(Z);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC26X)
|
||||
_TMC26X_INIT(Z2);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC26X)
|
||||
_TMC26X_INIT(E0);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC26X)
|
||||
_TMC26X_INIT(E1);
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC26X)
|
||||
_TMC26X_INIT(E2);
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC26X)
|
||||
_TMC26X_INIT(E3);
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC26X)
|
||||
_TMC26X_INIT(E4);
|
||||
#endif
|
||||
}
|
||||
#endif // HAVE_TMC26X
|
||||
#endif // TMC26X
|
||||
|
||||
//
|
||||
// TMC2130 Driver objects and inits
|
||||
//
|
||||
#if ENABLED(HAVE_TMC2130)
|
||||
#if HAS_DRIVER(TMC2130)
|
||||
|
||||
#include <SPI.h>
|
||||
#include <TMC2130Stepper.h>
|
||||
@ -146,37 +146,37 @@
|
||||
#endif
|
||||
|
||||
// Stepper objects of TMC2130 steppers used
|
||||
#if ENABLED(X_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2130)
|
||||
_TMC2130_DEFINE(X);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2130)
|
||||
_TMC2130_DEFINE(X2);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2130)
|
||||
_TMC2130_DEFINE(Y);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2130)
|
||||
_TMC2130_DEFINE(Y2);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2130)
|
||||
_TMC2130_DEFINE(Z);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2130)
|
||||
_TMC2130_DEFINE(Z2);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2130)
|
||||
_TMC2130_DEFINE(E0);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2130)
|
||||
_TMC2130_DEFINE(E1);
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2130)
|
||||
_TMC2130_DEFINE(E2);
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2130)
|
||||
_TMC2130_DEFINE(E3);
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2130)
|
||||
_TMC2130_DEFINE(E4);
|
||||
#endif
|
||||
|
||||
@ -213,74 +213,74 @@
|
||||
#define _TMC2130_INIT(ST, SPMM) tmc2130_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM)
|
||||
|
||||
void tmc2130_init_to_defaults() {
|
||||
#if ENABLED(X_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2130)
|
||||
_TMC2130_INIT( X, planner.axis_steps_per_mm[X_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2130)
|
||||
_TMC2130_INIT(X2, planner.axis_steps_per_mm[X_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2130)
|
||||
_TMC2130_INIT( Y, planner.axis_steps_per_mm[Y_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2130)
|
||||
_TMC2130_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2130)
|
||||
_TMC2130_INIT( Z, planner.axis_steps_per_mm[Z_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2130)
|
||||
_TMC2130_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2130)
|
||||
_TMC2130_INIT(E0, planner.axis_steps_per_mm[E_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2130)
|
||||
{ constexpr int extruder = 1; _TMC2130_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2130)
|
||||
{ constexpr int extruder = 2; _TMC2130_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2130)
|
||||
{ constexpr int extruder = 3; _TMC2130_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2130)
|
||||
{ constexpr int extruder = 4; _TMC2130_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
|
||||
#if ENABLED(SENSORLESS_HOMING)
|
||||
#define TMC_INIT_SGT(P,Q) stepper##Q.sgt(P##_HOMING_SENSITIVITY);
|
||||
#if X_SENSORLESS
|
||||
#if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2130)
|
||||
stepperX.sgt(X_HOMING_SENSITIVITY);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2130)
|
||||
stepperX2.sgt(X_HOMING_SENSITIVITY);
|
||||
#endif
|
||||
#endif
|
||||
#if Y_SENSORLESS
|
||||
#if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2130)
|
||||
stepperY.sgt(Y_HOMING_SENSITIVITY);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2130)
|
||||
stepperY2.sgt(Y_HOMING_SENSITIVITY);
|
||||
#endif
|
||||
#endif
|
||||
#if Z_SENSORLESS
|
||||
#if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2130)
|
||||
stepperZ.sgt(Z_HOMING_SENSITIVITY);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2130)
|
||||
stepperZ2.sgt(Z_HOMING_SENSITIVITY);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif // HAVE_TMC2130
|
||||
#endif // TMC2130
|
||||
|
||||
//
|
||||
// TMC2208 Driver objects and inits
|
||||
//
|
||||
#if ENABLED(HAVE_TMC2208)
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
|
||||
#include <SoftwareSerial.h>
|
||||
#include <HardwareSerial.h>
|
||||
@ -296,77 +296,77 @@
|
||||
TMC2208Stepper stepper##ST(&ST##_HARDWARE_SERIAL, ST##_SERIAL_RX_PIN > -1)
|
||||
|
||||
// Stepper objects of TMC2208 steppers used
|
||||
#if ENABLED(X_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2208)
|
||||
#ifdef X_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(X);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(X);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2208)
|
||||
#ifdef X2_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(X2);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(X2);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2208)
|
||||
#ifdef Y_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(Y);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(Y);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2208)
|
||||
#ifdef Y2_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(Y2);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(Y2);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2208)
|
||||
#ifdef Z_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(Z);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(Z);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2208)
|
||||
#ifdef Z2_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(Z2);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(Z2);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2208)
|
||||
#ifdef E0_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(E0);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(E0);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2208)
|
||||
#ifdef E1_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(E1);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(E1);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2208)
|
||||
#ifdef E2_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(E2);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(E2);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2208)
|
||||
#ifdef E3_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(E3);
|
||||
#else
|
||||
_TMC2208_DEFINE_SOFTWARE(E3);
|
||||
#endif
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2208)
|
||||
#ifdef E4_HARDWARE_SERIAL
|
||||
_TMC2208_DEFINE_HARDWARE(E4);
|
||||
#else
|
||||
@ -375,37 +375,37 @@
|
||||
#endif
|
||||
|
||||
void tmc2208_serial_begin() {
|
||||
#if ENABLED(X_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2208)
|
||||
X_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2208)
|
||||
X2_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2208)
|
||||
Y_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2208)
|
||||
Y2_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2208)
|
||||
Z_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2208)
|
||||
Z2_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2208)
|
||||
E0_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2208)
|
||||
E1_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2208)
|
||||
E2_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2208)
|
||||
E3_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2208)
|
||||
E4_HARDWARE_SERIAL.begin(115200);
|
||||
#endif
|
||||
}
|
||||
@ -449,94 +449,94 @@
|
||||
#define _TMC2208_INIT(ST, SPMM) tmc2208_init(stepper##ST, ST##_CURRENT, ST##_MICROSTEPS, ST##_HYBRID_THRESHOLD, SPMM)
|
||||
|
||||
void tmc2208_init_to_defaults() {
|
||||
#if ENABLED(X_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2208)
|
||||
_TMC2208_INIT(X, planner.axis_steps_per_mm[X_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2208)
|
||||
_TMC2208_INIT(X2, planner.axis_steps_per_mm[X_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2208)
|
||||
_TMC2208_INIT(Y, planner.axis_steps_per_mm[Y_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2208)
|
||||
_TMC2208_INIT(Y2, planner.axis_steps_per_mm[Y_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2208)
|
||||
_TMC2208_INIT(Z, planner.axis_steps_per_mm[Z_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2208)
|
||||
_TMC2208_INIT(Z2, planner.axis_steps_per_mm[Z_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2208)
|
||||
_TMC2208_INIT(E0, planner.axis_steps_per_mm[E_AXIS]);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2208)
|
||||
{ constexpr int extruder = 1; _TMC2208_INIT(E1, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
#if ENABLED(E2_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2208)
|
||||
{ constexpr int extruder = 2; _TMC2208_INIT(E2, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
#if ENABLED(E3_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2208)
|
||||
{ constexpr int extruder = 3; _TMC2208_INIT(E3, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
#if ENABLED(E4_IS_TMC2208)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2208)
|
||||
{ constexpr int extruder = 4; _TMC2208_INIT(E4, planner.axis_steps_per_mm[E_AXIS_N]); }
|
||||
#endif
|
||||
}
|
||||
#endif // HAVE_TMC2208
|
||||
#endif // TMC2208
|
||||
|
||||
void restore_stepper_drivers() {
|
||||
#if X_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X)
|
||||
stepperX.push();
|
||||
#endif
|
||||
#if X2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(X2)
|
||||
stepperX2.push();
|
||||
#endif
|
||||
#if Y_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y)
|
||||
stepperY.push();
|
||||
#endif
|
||||
#if Y2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
stepperY2.push();
|
||||
#endif
|
||||
#if Z_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z)
|
||||
stepperZ.push();
|
||||
#endif
|
||||
#if Z2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
stepperZ2.push();
|
||||
#endif
|
||||
#if E0_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E0)
|
||||
stepperE0.push();
|
||||
#endif
|
||||
#if E1_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E1)
|
||||
stepperE1.push();
|
||||
#endif
|
||||
#if E2_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E2)
|
||||
stepperE2.push();
|
||||
#endif
|
||||
#if E3_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E3)
|
||||
stepperE3.push();
|
||||
#endif
|
||||
#if E4_IS_TRINAMIC
|
||||
#if AXIS_IS_TMC(E4)
|
||||
stepperE4.push();
|
||||
#endif
|
||||
}
|
||||
|
||||
void reset_stepper_drivers() {
|
||||
#if ENABLED(HAVE_TMC26X)
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
tmc26x_init_to_defaults();
|
||||
#endif
|
||||
#if ENABLED(HAVE_TMC2130)
|
||||
#if HAS_DRIVER(TMC2130)
|
||||
delay(100);
|
||||
tmc2130_init_to_defaults();
|
||||
#endif
|
||||
#if ENABLED(HAVE_TMC2208)
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
delay(100);
|
||||
tmc2208_init_to_defaults();
|
||||
#endif
|
||||
#ifdef TMC_ADV
|
||||
TMC_ADV()
|
||||
#endif
|
||||
#if ENABLED(HAVE_L6470DRIVER)
|
||||
#if HAS_DRIVER(L6470)
|
||||
L6470_init_to_defaults();
|
||||
#endif
|
||||
}
|
||||
@ -544,7 +544,7 @@ void reset_stepper_drivers() {
|
||||
//
|
||||
// L6470 Driver objects and inits
|
||||
//
|
||||
#if ENABLED(HAVE_L6470DRIVER)
|
||||
#if HAS_DRIVER(L6470)
|
||||
|
||||
#include <SPI.h>
|
||||
#include <L6470.h>
|
||||
@ -552,37 +552,37 @@ void reset_stepper_drivers() {
|
||||
#define _L6470_DEFINE(ST) L6470 stepper##ST(ST##_ENABLE_PIN)
|
||||
|
||||
// L6470 Stepper objects
|
||||
#if ENABLED(X_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(X, L6470)
|
||||
_L6470_DEFINE(X);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(X2, L6470)
|
||||
_L6470_DEFINE(X2);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Y, L6470)
|
||||
_L6470_DEFINE(Y);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Y2, L6470)
|
||||
_L6470_DEFINE(Y2);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Z, L6470)
|
||||
_L6470_DEFINE(Z);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Z2, L6470)
|
||||
_L6470_DEFINE(Z2);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E0, L6470)
|
||||
_L6470_DEFINE(E0);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E1, L6470)
|
||||
_L6470_DEFINE(E1);
|
||||
#endif
|
||||
#if ENABLED(E2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E2, L6470)
|
||||
_L6470_DEFINE(E2);
|
||||
#endif
|
||||
#if ENABLED(E3_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E3, L6470)
|
||||
_L6470_DEFINE(E3);
|
||||
#endif
|
||||
#if ENABLED(E4_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E4, L6470)
|
||||
_L6470_DEFINE(E4);
|
||||
#endif
|
||||
|
||||
@ -595,39 +595,39 @@ void reset_stepper_drivers() {
|
||||
}while(0)
|
||||
|
||||
void L6470_init_to_defaults() {
|
||||
#if ENABLED(X_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(X, L6470)
|
||||
_L6470_INIT(X);
|
||||
#endif
|
||||
#if ENABLED(X2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(X2, L6470)
|
||||
_L6470_INIT(X2);
|
||||
#endif
|
||||
#if ENABLED(Y_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Y, L6470)
|
||||
_L6470_INIT(Y);
|
||||
#endif
|
||||
#if ENABLED(Y2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Y2, L6470)
|
||||
_L6470_INIT(Y2);
|
||||
#endif
|
||||
#if ENABLED(Z_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Z, L6470)
|
||||
_L6470_INIT(Z);
|
||||
#endif
|
||||
#if ENABLED(Z2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Z2, L6470)
|
||||
_L6470_INIT(Z2);
|
||||
#endif
|
||||
#if ENABLED(E0_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E0, L6470)
|
||||
_L6470_INIT(E0);
|
||||
#endif
|
||||
#if ENABLED(E1_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E1, L6470)
|
||||
_L6470_INIT(E1);
|
||||
#endif
|
||||
#if ENABLED(E2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E2, L6470)
|
||||
_L6470_INIT(E2);
|
||||
#endif
|
||||
#if ENABLED(E3_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E3, L6470)
|
||||
_L6470_INIT(E3);
|
||||
#endif
|
||||
#if ENABLED(E4_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E4, L6470)
|
||||
_L6470_INIT(E4);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // HAVE_L6470DRIVER
|
||||
#endif // L6470
|
||||
|
@ -47,7 +47,7 @@
|
||||
#include "../inc/MarlinConfig.h"
|
||||
|
||||
// TMC26X drivers have STEP/DIR on normal pins, but ENABLE via SPI
|
||||
#if ENABLED(HAVE_TMC26X)
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
#include <SPI.h>
|
||||
#ifdef STM32F7
|
||||
#include "../HAL/HAL_STM32F7/TMC2660.h"
|
||||
@ -57,19 +57,19 @@
|
||||
void tmc26x_init_to_defaults();
|
||||
#endif
|
||||
|
||||
#if ENABLED(HAVE_TMC2130)
|
||||
#if HAS_DRIVER(TMC2130)
|
||||
#include <TMC2130Stepper.h>
|
||||
void tmc2130_init_to_defaults();
|
||||
#endif
|
||||
|
||||
#if ENABLED(HAVE_TMC2208)
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#include <TMC2208Stepper.h>
|
||||
void tmc2208_serial_begin();
|
||||
void tmc2208_init_to_defaults();
|
||||
#endif
|
||||
|
||||
// L6470 has STEP on normal pins, but DIR/ENABLE via SPI
|
||||
#if ENABLED(HAVE_L6470DRIVER)
|
||||
#if HAS_DRIVER(L6470)
|
||||
#include <SPI.h>
|
||||
#include <L6470.h>
|
||||
void L6470_init_to_defaults();
|
||||
@ -79,7 +79,7 @@ void restore_stepper_drivers(); // Called by PSU_ON
|
||||
void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
|
||||
// X Stepper
|
||||
#if ENABLED(X_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(X, L6470)
|
||||
extern L6470 stepperX;
|
||||
#define X_ENABLE_INIT NOOP
|
||||
#define X_ENABLE_WRITE(STATE) do{ if (STATE) stepperX.Step_Clock(stepperX.getStatus() & STATUS_HIZ); else stepperX.softFree(); }while(0)
|
||||
@ -88,15 +88,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define X_DIR_WRITE(STATE) stepperX.Step_Clock(STATE)
|
||||
#define X_DIR_READ (stepperX.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(X_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC26X)
|
||||
extern TMC26XStepper stepperX;
|
||||
#define X_ENABLE_INIT NOOP
|
||||
#define X_ENABLE_WRITE(STATE) stepperX.setEnabled(STATE)
|
||||
#define X_ENABLE_READ stepperX.isEnabled()
|
||||
#else
|
||||
#if ENABLED(X_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2130)
|
||||
extern TMC2130Stepper stepperX;
|
||||
#elif ENABLED(X_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(X, TMC2208)
|
||||
extern TMC2208Stepper stepperX;
|
||||
#endif
|
||||
#define X_ENABLE_INIT SET_OUTPUT(X_ENABLE_PIN)
|
||||
@ -112,7 +112,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define X_STEP_READ READ(X_STEP_PIN)
|
||||
|
||||
// Y Stepper
|
||||
#if ENABLED(Y_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Y, L6470)
|
||||
extern L6470 stepperY;
|
||||
#define Y_ENABLE_INIT NOOP
|
||||
#define Y_ENABLE_WRITE(STATE) do{ if (STATE) stepperY.Step_Clock(stepperY.getStatus() & STATUS_HIZ); else stepperY.softFree(); }while(0)
|
||||
@ -121,15 +121,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define Y_DIR_WRITE(STATE) stepperY.Step_Clock(STATE)
|
||||
#define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(Y_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC26X)
|
||||
extern TMC26XStepper stepperY;
|
||||
#define Y_ENABLE_INIT NOOP
|
||||
#define Y_ENABLE_WRITE(STATE) stepperY.setEnabled(STATE)
|
||||
#define Y_ENABLE_READ stepperY.isEnabled()
|
||||
#else
|
||||
#if ENABLED(Y_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2130)
|
||||
extern TMC2130Stepper stepperY;
|
||||
#elif ENABLED(Y_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(Y, TMC2208)
|
||||
extern TMC2208Stepper stepperY;
|
||||
#endif
|
||||
#define Y_ENABLE_INIT SET_OUTPUT(Y_ENABLE_PIN)
|
||||
@ -145,7 +145,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define Y_STEP_READ READ(Y_STEP_PIN)
|
||||
|
||||
// Z Stepper
|
||||
#if ENABLED(Z_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Z, L6470)
|
||||
extern L6470 stepperZ;
|
||||
#define Z_ENABLE_INIT NOOP
|
||||
#define Z_ENABLE_WRITE(STATE) do{ if (STATE) stepperZ.Step_Clock(stepperZ.getStatus() & STATUS_HIZ); else stepperZ.softFree(); }while(0)
|
||||
@ -154,15 +154,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define Z_DIR_WRITE(STATE) stepperZ.Step_Clock(STATE)
|
||||
#define Z_DIR_READ (stepperZ.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(Z_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC26X)
|
||||
extern TMC26XStepper stepperZ;
|
||||
#define Z_ENABLE_INIT NOOP
|
||||
#define Z_ENABLE_WRITE(STATE) stepperZ.setEnabled(STATE)
|
||||
#define Z_ENABLE_READ stepperZ.isEnabled()
|
||||
#else
|
||||
#if ENABLED(Z_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2130)
|
||||
extern TMC2130Stepper stepperZ;
|
||||
#elif ENABLED(Z_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(Z, TMC2208)
|
||||
extern TMC2208Stepper stepperZ;
|
||||
#endif
|
||||
#define Z_ENABLE_INIT SET_OUTPUT(Z_ENABLE_PIN)
|
||||
@ -179,7 +179,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
|
||||
// X2 Stepper
|
||||
#if HAS_X2_ENABLE
|
||||
#if ENABLED(X2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(X2, L6470)
|
||||
extern L6470 stepperX2;
|
||||
#define X2_ENABLE_INIT NOOP
|
||||
#define X2_ENABLE_WRITE(STATE) do{ if (STATE) stepperX2.Step_Clock(stepperX2.getStatus() & STATUS_HIZ); else stepperX2.softFree(); }while(0)
|
||||
@ -188,15 +188,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define X2_DIR_WRITE(STATE) stepperX2.Step_Clock(STATE)
|
||||
#define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(X2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC26X)
|
||||
extern TMC26XStepper stepperX2;
|
||||
#define X2_ENABLE_INIT NOOP
|
||||
#define X2_ENABLE_WRITE(STATE) stepperX2.setEnabled(STATE)
|
||||
#define X2_ENABLE_READ stepperX2.isEnabled()
|
||||
#else
|
||||
#if ENABLED(X2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2130)
|
||||
extern TMC2130Stepper stepperX2;
|
||||
#elif ENABLED(X2_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(X2, TMC2208)
|
||||
extern TMC2208Stepper stepperX2;
|
||||
#endif
|
||||
#define X2_ENABLE_INIT SET_OUTPUT(X2_ENABLE_PIN)
|
||||
@ -214,7 +214,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
|
||||
// Y2 Stepper
|
||||
#if HAS_Y2_ENABLE
|
||||
#if ENABLED(Y2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Y2, L6470)
|
||||
extern L6470 stepperY2;
|
||||
#define Y2_ENABLE_INIT NOOP
|
||||
#define Y2_ENABLE_WRITE(STATE) do{ if (STATE) stepperY2.Step_Clock(stepperY2.getStatus() & STATUS_HIZ); else stepperY2.softFree(); }while(0)
|
||||
@ -223,15 +223,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define Y2_DIR_WRITE(STATE) stepperY2.Step_Clock(STATE)
|
||||
#define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(Y2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC26X)
|
||||
extern TMC26XStepper stepperY2;
|
||||
#define Y2_ENABLE_INIT NOOP
|
||||
#define Y2_ENABLE_WRITE(STATE) stepperY2.setEnabled(STATE)
|
||||
#define Y2_ENABLE_READ stepperY2.isEnabled()
|
||||
#else
|
||||
#if ENABLED(Y2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2130)
|
||||
extern TMC2130Stepper stepperY2;
|
||||
#elif ENABLED(Y2_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(Y2, TMC2208)
|
||||
extern TMC2208Stepper stepperY2;
|
||||
#endif
|
||||
#define Y2_ENABLE_INIT SET_OUTPUT(Y2_ENABLE_PIN)
|
||||
@ -249,7 +249,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
|
||||
// Z2 Stepper
|
||||
#if HAS_Z2_ENABLE
|
||||
#if ENABLED(Z2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(Z2, L6470)
|
||||
extern L6470 stepperZ2;
|
||||
#define Z2_ENABLE_INIT NOOP
|
||||
#define Z2_ENABLE_WRITE(STATE) do{ if (STATE) stepperZ2.Step_Clock(stepperZ2.getStatus() & STATUS_HIZ); else stepperZ2.softFree(); }while(0)
|
||||
@ -258,15 +258,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define Z2_DIR_WRITE(STATE) stepperZ2.Step_Clock(STATE)
|
||||
#define Z2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(Z2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC26X)
|
||||
extern TMC26XStepper stepperZ2;
|
||||
#define Z2_ENABLE_INIT NOOP
|
||||
#define Z2_ENABLE_WRITE(STATE) stepperZ2.setEnabled(STATE)
|
||||
#define Z2_ENABLE_READ stepperZ2.isEnabled()
|
||||
#else
|
||||
#if ENABLED(Z2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2130)
|
||||
extern TMC2130Stepper stepperZ2;
|
||||
#elif ENABLED(Z2_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(Z2, TMC2208)
|
||||
extern TMC2208Stepper stepperZ2;
|
||||
#endif
|
||||
#define Z2_ENABLE_INIT SET_OUTPUT(Z2_ENABLE_PIN)
|
||||
@ -283,7 +283,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#endif
|
||||
|
||||
// E0 Stepper
|
||||
#if ENABLED(E0_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E0, L6470)
|
||||
extern L6470 stepperE0;
|
||||
#define E0_ENABLE_INIT NOOP
|
||||
#define E0_ENABLE_WRITE(STATE) do{ if (STATE) stepperE0.Step_Clock(stepperE0.getStatus() & STATUS_HIZ); else stepperE0.softFree(); }while(0)
|
||||
@ -292,15 +292,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E0_DIR_WRITE(STATE) stepperE0.Step_Clock(STATE)
|
||||
#define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(E0_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC26X)
|
||||
extern TMC26XStepper stepperE0;
|
||||
#define E0_ENABLE_INIT NOOP
|
||||
#define E0_ENABLE_WRITE(STATE) stepperE0.setEnabled(STATE)
|
||||
#define E0_ENABLE_READ stepperE0.isEnabled()
|
||||
#else
|
||||
#if ENABLED(E0_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2130)
|
||||
extern TMC2130Stepper stepperE0;
|
||||
#elif ENABLED(E0_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(E0, TMC2208)
|
||||
extern TMC2208Stepper stepperE0;
|
||||
#endif
|
||||
#define E0_ENABLE_INIT SET_OUTPUT(E0_ENABLE_PIN)
|
||||
@ -316,7 +316,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E0_STEP_READ READ(E0_STEP_PIN)
|
||||
|
||||
// E1 Stepper
|
||||
#if ENABLED(E1_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E1, L6470)
|
||||
extern L6470 stepperE1;
|
||||
#define E1_ENABLE_INIT NOOP
|
||||
#define E1_ENABLE_WRITE(STATE) do{ if (STATE) stepperE1.Step_Clock(stepperE1.getStatus() & STATUS_HIZ); else stepperE1.softFree(); }while(0)
|
||||
@ -325,15 +325,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E1_DIR_WRITE(STATE) stepperE1.Step_Clock(STATE)
|
||||
#define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(E1_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC26X)
|
||||
extern TMC26XStepper stepperE1;
|
||||
#define E1_ENABLE_INIT NOOP
|
||||
#define E1_ENABLE_WRITE(STATE) stepperE1.setEnabled(STATE)
|
||||
#define E1_ENABLE_READ stepperE1.isEnabled()
|
||||
#else
|
||||
#if ENABLED(E1_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2130)
|
||||
extern TMC2130Stepper stepperE1;
|
||||
#elif ENABLED(E1_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(E1, TMC2208)
|
||||
extern TMC2208Stepper stepperE1;
|
||||
#endif
|
||||
#define E1_ENABLE_INIT SET_OUTPUT(E1_ENABLE_PIN)
|
||||
@ -349,7 +349,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E1_STEP_READ READ(E1_STEP_PIN)
|
||||
|
||||
// E2 Stepper
|
||||
#if ENABLED(E2_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E2, L6470)
|
||||
extern L6470 stepperE2;
|
||||
#define E2_ENABLE_INIT NOOP
|
||||
#define E2_ENABLE_WRITE(STATE) do{ if (STATE) stepperE2.Step_Clock(stepperE2.getStatus() & STATUS_HIZ); else stepperE2.softFree(); }while(0)
|
||||
@ -358,15 +358,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E2_DIR_WRITE(STATE) stepperE2.Step_Clock(STATE)
|
||||
#define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(E2_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC26X)
|
||||
extern TMC26XStepper stepperE2;
|
||||
#define E2_ENABLE_INIT NOOP
|
||||
#define E2_ENABLE_WRITE(STATE) stepperE2.setEnabled(STATE)
|
||||
#define E2_ENABLE_READ stepperE2.isEnabled()
|
||||
#else
|
||||
#if ENABLED(E2_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2130)
|
||||
extern TMC2130Stepper stepperE2;
|
||||
#elif ENABLED(E2_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(E2, TMC2208)
|
||||
extern TMC2208Stepper stepperE2;
|
||||
#endif
|
||||
#define E2_ENABLE_INIT SET_OUTPUT(E2_ENABLE_PIN)
|
||||
@ -382,7 +382,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E2_STEP_READ READ(E2_STEP_PIN)
|
||||
|
||||
// E3 Stepper
|
||||
#if ENABLED(E3_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E3, L6470)
|
||||
extern L6470 stepperE3;
|
||||
#define E3_ENABLE_INIT NOOP
|
||||
#define E3_ENABLE_WRITE(STATE) do{ if (STATE) stepperE3.Step_Clock(stepperE3.getStatus() & STATUS_HIZ); else stepperE3.softFree(); }while(0)
|
||||
@ -391,15 +391,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E3_DIR_WRITE(STATE) stepperE3.Step_Clock(STATE)
|
||||
#define E3_DIR_READ (stepperE3.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(E3_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC26X)
|
||||
extern TMC26XStepper stepperE3;
|
||||
#define E3_ENABLE_INIT NOOP
|
||||
#define E3_ENABLE_WRITE(STATE) stepperE3.setEnabled(STATE)
|
||||
#define E3_ENABLE_READ stepperE3.isEnabled()
|
||||
#else
|
||||
#if ENABLED(E3_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2130)
|
||||
extern TMC2130Stepper stepperE3;
|
||||
#elif ENABLED(E3_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(E3, TMC2208)
|
||||
extern TMC2208Stepper stepperE3;
|
||||
#endif
|
||||
#define E3_ENABLE_INIT SET_OUTPUT(E3_ENABLE_PIN)
|
||||
@ -415,7 +415,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E3_STEP_READ READ(E3_STEP_PIN)
|
||||
|
||||
// E4 Stepper
|
||||
#if ENABLED(E4_IS_L6470)
|
||||
#if AXIS_DRIVER_TYPE(E4, L6470)
|
||||
extern L6470 stepperE4;
|
||||
#define E4_ENABLE_INIT NOOP
|
||||
#define E4_ENABLE_WRITE(STATE) do{ if (STATE) stepperE4.Step_Clock(stepperE4.getStatus() & STATUS_HIZ); else stepperE4.softFree(); }while(0)
|
||||
@ -424,15 +424,15 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset
|
||||
#define E4_DIR_WRITE(STATE) stepperE4.Step_Clock(STATE)
|
||||
#define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR)
|
||||
#else
|
||||
#if ENABLED(E4_IS_TMC26X)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC26X)
|
||||
extern TMC26XStepper stepperE4;
|
||||
#define E4_ENABLE_INIT NOOP
|
||||
#define E4_ENABLE_WRITE(STATE) stepperE4.setEnabled(STATE)
|
||||
#define E4_ENABLE_READ stepperE4.isEnabled()
|
||||
#else
|
||||
#if ENABLED(E4_IS_TMC2130)
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2130)
|
||||
extern TMC2130Stepper stepperE4;
|
||||
#elif ENABLED(E4_IS_TMC2208)
|
||||
#elif AXIS_DRIVER_TYPE(E4, TMC2208)
|
||||
extern TMC2208Stepper stepperE4;
|
||||
#endif
|
||||
#define E4_ENABLE_INIT SET_OUTPUT(E4_ENABLE_PIN)
|
||||
|
Reference in New Issue
Block a user