|
@ -66,7 +66,12 @@ |
|
|
#define ___TMC_CLASS(MODEL, A, I, E) ____TMC_CLASS(MODEL, A, I, E) |
|
|
#define ___TMC_CLASS(MODEL, A, I, E) ____TMC_CLASS(MODEL, A, I, E) |
|
|
#define __TMC_CLASS(MODEL, A, I, E) ___TMC_CLASS(_##MODEL, A, I, E) |
|
|
#define __TMC_CLASS(MODEL, A, I, E) ___TMC_CLASS(_##MODEL, A, I, E) |
|
|
#define _TMC_CLASS(MODEL, L, E) __TMC_CLASS(MODEL, L, E) |
|
|
#define _TMC_CLASS(MODEL, L, E) __TMC_CLASS(MODEL, L, E) |
|
|
#define TMC_CLASS(ST) _TMC_CLASS(ST##_DRIVER_TYPE, TMC_##ST##_LABEL, ST##_AXIS) |
|
|
#define TMC_CLASS(ST, A) _TMC_CLASS(ST##_DRIVER_TYPE, TMC_##ST##_LABEL, A##_AXIS) |
|
|
|
|
|
#if ENABLED(DISTINCT_E_FACTORS) |
|
|
|
|
|
#define TMC_CLASS_E(I) TMC_CLASS(E##I, E##I) |
|
|
|
|
|
#else |
|
|
|
|
|
#define TMC_CLASS_E(I) TMC_CLASS(E##I, E) |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
typedef struct { |
|
|
typedef struct { |
|
|
uint8_t toff; |
|
|
uint8_t toff; |
|
@ -101,7 +106,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define X_DIR_READ (stepperX.getStatus() & STATUS_DIR) |
|
|
#define X_DIR_READ (stepperX.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(X) |
|
|
#if AXIS_IS_TMC(X) |
|
|
extern TMC_CLASS(X) stepperX; |
|
|
extern TMC_CLASS(X, X) stepperX; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_X(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_X(TMC26X) |
|
|
extern TMC26XStepper stepperX; |
|
|
extern TMC26XStepper stepperX; |
|
@ -136,7 +141,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR) |
|
|
#define Y_DIR_READ (stepperY.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(Y) |
|
|
#if AXIS_IS_TMC(Y) |
|
|
extern TMC_CLASS(Y) stepperY; |
|
|
extern TMC_CLASS(Y, Y) stepperY; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_Y(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_Y(TMC26X) |
|
|
extern TMC26XStepper stepperY; |
|
|
extern TMC26XStepper stepperY; |
|
@ -171,7 +176,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define Z_DIR_READ (stepperZ.getStatus() & STATUS_DIR) |
|
|
#define Z_DIR_READ (stepperZ.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(Z) |
|
|
#if AXIS_IS_TMC(Z) |
|
|
extern TMC_CLASS(Z) stepperZ; |
|
|
extern TMC_CLASS(Z, Z) stepperZ; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_Z(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_Z(TMC26X) |
|
|
extern TMC26XStepper stepperZ; |
|
|
extern TMC26XStepper stepperZ; |
|
@ -207,7 +212,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR) |
|
|
#define X2_DIR_READ (stepperX2.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(X2) |
|
|
#if AXIS_IS_TMC(X2) |
|
|
extern TMC_CLASS(X2) stepperX2; |
|
|
extern TMC_CLASS(X2, X) stepperX2; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_X2(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_X2(TMC26X) |
|
|
extern TMC26XStepper stepperX2; |
|
|
extern TMC26XStepper stepperX2; |
|
@ -244,7 +249,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR) |
|
|
#define Y2_DIR_READ (stepperY2.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(Y2) |
|
|
#if AXIS_IS_TMC(Y2) |
|
|
extern TMC_CLASS(Y2) stepperY2; |
|
|
extern TMC_CLASS(Y2, Y) stepperY2; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_Y2(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_Y2(TMC26X) |
|
|
extern TMC26XStepper stepperY2; |
|
|
extern TMC26XStepper stepperY2; |
|
@ -283,7 +288,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define Z2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR) |
|
|
#define Z2_DIR_READ (stepperZ2.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(Z2) |
|
|
#if AXIS_IS_TMC(Z2) |
|
|
extern TMC_CLASS(Z2) stepperZ2; |
|
|
extern TMC_CLASS(Z2, Z) stepperZ2; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_Z2(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_Z2(TMC26X) |
|
|
extern TMC26XStepper stepperZ2; |
|
|
extern TMC26XStepper stepperZ2; |
|
@ -322,7 +327,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define Z3_DIR_READ (stepperZ3.getStatus() & STATUS_DIR) |
|
|
#define Z3_DIR_READ (stepperZ3.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(Z3) |
|
|
#if AXIS_IS_TMC(Z3) |
|
|
extern TMC_CLASS(Z3) stepperZ3; |
|
|
extern TMC_CLASS(Z3, Z) stepperZ3; |
|
|
#endif |
|
|
#endif |
|
|
#if ENABLED(Z3_IS_TMC26X) |
|
|
#if ENABLED(Z3_IS_TMC26X) |
|
|
extern TMC26XStepper stepperZ3; |
|
|
extern TMC26XStepper stepperZ3; |
|
@ -360,7 +365,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR) |
|
|
#define E0_DIR_READ (stepperE0.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(E0) |
|
|
#if AXIS_IS_TMC(E0) |
|
|
extern TMC_CLASS(E0) stepperE0; |
|
|
extern TMC_CLASS_E(0) stepperE0; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_E0(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E0(TMC26X) |
|
|
extern TMC26XStepper stepperE0; |
|
|
extern TMC26XStepper stepperE0; |
|
@ -395,7 +400,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR) |
|
|
#define E1_DIR_READ (stepperE1.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(E1) |
|
|
#if AXIS_IS_TMC(E1) |
|
|
extern TMC_CLASS(E1) stepperE1; |
|
|
extern TMC_CLASS_E(1) stepperE1; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_E1(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E1(TMC26X) |
|
|
extern TMC26XStepper stepperE1; |
|
|
extern TMC26XStepper stepperE1; |
|
@ -430,7 +435,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR) |
|
|
#define E2_DIR_READ (stepperE2.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(E2) |
|
|
#if AXIS_IS_TMC(E2) |
|
|
extern TMC_CLASS(E2) stepperE2; |
|
|
extern TMC_CLASS_E(2) stepperE2; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_E2(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E2(TMC26X) |
|
|
extern TMC26XStepper stepperE2; |
|
|
extern TMC26XStepper stepperE2; |
|
@ -465,7 +470,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define E3_DIR_READ (stepperE3.getStatus() & STATUS_DIR) |
|
|
#define E3_DIR_READ (stepperE3.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(E3) |
|
|
#if AXIS_IS_TMC(E3) |
|
|
extern TMC_CLASS(E3) stepperE3; |
|
|
extern TMC_CLASS_E(3) stepperE3; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_E3(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E3(TMC26X) |
|
|
extern TMC26XStepper stepperE3; |
|
|
extern TMC26XStepper stepperE3; |
|
@ -500,7 +505,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR) |
|
|
#define E4_DIR_READ (stepperE4.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(E4) |
|
|
#if AXIS_IS_TMC(E4) |
|
|
extern TMC_CLASS(E4) stepperE4; |
|
|
extern TMC_CLASS_E(4) stepperE4; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_E4(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E4(TMC26X) |
|
|
extern TMC26XStepper stepperE4; |
|
|
extern TMC26XStepper stepperE4; |
|
@ -535,7 +540,7 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset |
|
|
#define E5_DIR_READ (stepperE5.getStatus() & STATUS_DIR) |
|
|
#define E5_DIR_READ (stepperE5.getStatus() & STATUS_DIR) |
|
|
#else |
|
|
#else |
|
|
#if AXIS_IS_TMC(E5) |
|
|
#if AXIS_IS_TMC(E5) |
|
|
extern TMC_CLASS(E5) stepperE5; |
|
|
extern TMC_CLASS_E(5) stepperE5; |
|
|
#endif |
|
|
#endif |
|
|
#if AXIS_DRIVER_TYPE_E5(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E5(TMC26X) |
|
|
extern TMC26XStepper stepperE5; |
|
|
extern TMC26XStepper stepperE5; |
|
|