Simplify stepper driver per-axis selection

This commit is contained in:
teemuatlut
2018-07-14 14:13:06 +03:00
committed by Scott Lahteine
parent e5c0b490c8
commit fbcdf5eaeb
26 changed files with 744 additions and 837 deletions

View File

@ -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