diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 7d453e1dae..51fcd1f4b6 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1957,6 +1957,18 @@ #define E5_MICROSTEPS 16 #endif + #if AXIS_DRIVER_TYPE_E6(TMC26X) + #define E6_MAX_CURRENT 1000 + #define E6_SENSE_RESISTOR 91 + #define E6_MICROSTEPS 16 + #endif + + #if AXIS_DRIVER_TYPE_E7(TMC26X) + #define E7_MAX_CURRENT 1000 + #define E7_SENSE_RESISTOR 91 + #define E7_MICROSTEPS 16 + #endif + #endif // TMC26X // @section tmc_smart diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 58c284746b..a91131e083 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -2140,6 +2140,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS INVALID_TMC_ADDRESS(E4); #elif AXIS_DRIVER_TYPE_E5(TMC2209) INVALID_TMC_ADDRESS(E5); +#elif AXIS_DRIVER_TYPE_E6(TMC2209) + INVALID_TMC_ADDRESS(E6); +#elif AXIS_DRIVER_TYPE_E7(TMC2209) + INVALID_TMC_ADDRESS(E7); #endif #undef INVALID_TMC_ADDRESS diff --git a/Marlin/src/module/stepper/TMC26X.cpp b/Marlin/src/module/stepper/TMC26X.cpp index b8aeb9cb56..58d9463a2d 100644 --- a/Marlin/src/module/stepper/TMC26X.cpp +++ b/Marlin/src/module/stepper/TMC26X.cpp @@ -78,6 +78,12 @@ #if AXIS_DRIVER_TYPE_E5(TMC26X) _TMC26X_DEFINE(E5); #endif +#if AXIS_DRIVER_TYPE_E6(TMC26X) + _TMC26X_DEFINE(E6); +#endif +#if AXIS_DRIVER_TYPE_E7(TMC26X) + _TMC26X_DEFINE(E7); +#endif #define _TMC26X_INIT(A) do{ \ stepper##A.setMicrosteps(A##_MICROSTEPS); \ @@ -127,6 +133,12 @@ void tmc26x_init_to_defaults() { #if AXIS_DRIVER_TYPE_E5(TMC26X) _TMC26X_INIT(E5); #endif + #if AXIS_DRIVER_TYPE_E6(TMC26X) + _TMC26X_INIT(E6); + #endif + #if AXIS_DRIVER_TYPE_E7(TMC26X) + _TMC26X_INIT(E7); + #endif } #endif // TMC26X diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index 5273104503..0bf67ed41b 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -49,7 +49,7 @@ typedef enum : int8_t { INDEX_NONE = -5, H_PROBE, H_REDUNDANT, H_CHAMBER, H_BED, - H_E0, H_E1, H_E2, H_E3, H_E4, H_E5 + H_E0, H_E1, H_E2, H_E3, H_E4, H_E5, H_E6, H_E7 } heater_ind_t; // PID storage