From d948c6e867ace7e334a89df6011147bef85826f5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 13 Sep 2018 00:26:21 -0500 Subject: [PATCH 1/3] RADDS Extension Board V3 support --- Marlin/src/pins/pins_RADDS.h | 78 ++++++++++++++++++++++++------------ 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/Marlin/src/pins/pins_RADDS.h b/Marlin/src/pins/pins_RADDS.h index d17bc72b17..be16898103 100644 --- a/Marlin/src/pins/pins_RADDS.h +++ b/Marlin/src/pins/pins_RADDS.h @@ -100,38 +100,65 @@ #define E2_CS_PIN 35 #endif -// -// Extension Board V2 -// http://doku.radds.org/dokumentation/extension-board -// -//#define RADDS_EXTENSION -#if ENABLED(RADDS_EXTENSION) - #define E3_STEP_PIN 35 - #define E3_DIR_PIN 33 - #define E3_ENABLE_PIN 37 +/** + * RADDS Extension Board V2 / V3 + * http://doku.radds.org/dokumentation/extension-board + */ +//#define RADDS_EXTENSION 2 +#if RADDS_EXTENSION >= 2 + #define E3_DIR_PIN 33 + #define E3_STEP_PIN 35 + #define E3_ENABLE_PIN 37 #ifndef E3_CS_PIN - #define E3_CS_PIN 6 + #define E3_CS_PIN 6 #endif - #define E3_MS1_PIN 67 - #define E3_MS2_PIN 68 - #define E3_MS3_PIN 69 + #if RADDS_EXTENSION == 3 - #define Z2_STEP_PIN 29 - #define Z2_DIR_PIN 27 - #define Z2_ENABLE_PIN 31 - #ifndef Z2_CS_PIN - #define Z2_CS_PIN 39 - #endif + #define E4_DIR_PIN 27 + #define E4_STEP_PIN 29 + #define E4_ENABLE_PIN 31 + #ifndef E4_CS_PIN + #define E4_CS_PIN 39 + #endif + + #define E5_DIR_PIN 66 + #define E5_STEP_PIN 67 + #define E5_ENABLE_PIN 68 + #ifndef E5_CS_PIN + #define E5_CS_PIN 6 + #endif + + #define RADDS_EXT_MSI_PIN 69 - #define Z2_MS1_PIN 67 // shared with E3_MS1_PIN - #define Z2_MS2_PIN 68 // shared with E3_MS2_PIN - #define Z2_MS3_PIN 69 // shared with E3_MS3_PIN + #define MAX_EXTRUDERS 6 + #define BOARD_INIT() OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH) + + #else + + #define E4_DIR_PIN 27 + #define E4_STEP_PIN 29 + #define E4_ENABLE_PIN 31 + #ifndef E4_CS_PIN + #define E4_CS_PIN 39 + #endif + + // E3 and E4 share the same MSx pins + #define E3_MS1_PIN 67 + #define E4_MS1_PIN 67 + #define E3_MS2_PIN 68 + #define E4_MS2_PIN 68 + #define E3_MS3_PIN 69 + #define E4_MS3_PIN 69 + + #define RADDS_EXT_VDD2_PIN 66 + + #define BOARD_INIT() do{ OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH); OUT_WRITE(RADDS_EXT_VDD2_PIN, HIGH); }while(0) + + #endif - #define RADDS_EXT_VDD1_PIN 25 - #define RADDS_EXT_VDD2_PIN 66 + #define RADDS_EXT_VDD_PIN 25 - #define BOARD_INIT() OUT_WRITE(RADDS_EXT_VDD1_PIN, HIGH); OUT_WRITE(RADDS_EXT_VDD2_PIN, HIGH) #endif // @@ -168,6 +195,7 @@ // Misc. Functions // #define SDSS 4 +#define SD_DETECT_PIN 14 #define PS_ON_PIN 40 // SERVO3_PIN #ifndef FIL_RUNOUT_PIN From f5c210d33dba860dd51f4cf45bfbffdebf53e34f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 16 Sep 2018 02:23:14 -0500 Subject: [PATCH 2/3] Config changes supporting up to 6 extruders --- Marlin/Configuration.h | 11 ++++++++--- Marlin/Configuration_adv.h | 15 ++++++++++++++- Marlin/src/config/default/Configuration.h | 11 ++++++++--- Marlin/src/config/default/Configuration_adv.h | 15 ++++++++++++++- .../examples/AlephObjects/TAZ4/Configuration.h | 11 ++++++++--- .../AlephObjects/TAZ4/Configuration_adv.h | 15 ++++++++++++++- .../examples/AliExpress/CL-260/Configuration.h | 11 ++++++++--- .../src/config/examples/Anet/A2/Configuration.h | 11 ++++++++--- .../config/examples/Anet/A2/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Anet/A2plus/Configuration.h | 11 ++++++++--- .../examples/Anet/A2plus/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/Anet/A6/Configuration.h | 11 ++++++++--- .../config/examples/Anet/A6/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/Anet/A8/Configuration.h | 11 ++++++++--- .../config/examples/Anet/A8/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Azteeg/X5GT/Configuration.h | 11 ++++++++--- .../examples/Azteeg/X5GT/Configuration_adv.h | 15 ++++++++++++++- .../examples/BIBO/TouchX/cyclops/Configuration.h | 10 +++++++--- .../BIBO/TouchX/cyclops/Configuration_adv.h | 15 ++++++++++++++- .../examples/BIBO/TouchX/default/Configuration.h | 10 +++++++--- .../BIBO/TouchX/default/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/BQ/Hephestos/Configuration.h | 11 ++++++++--- .../examples/BQ/Hephestos/Configuration_adv.h | 15 ++++++++++++++- .../examples/BQ/Hephestos_2/Configuration.h | 11 ++++++++--- .../examples/BQ/Hephestos_2/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/BQ/WITBOX/Configuration.h | 11 ++++++++--- .../config/examples/BQ/WITBOX/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/Cartesio/Configuration.h | 11 ++++++++--- .../config/examples/Cartesio/Configuration_adv.h | 15 ++++++++++++++- .../examples/Creality/CR-10/Configuration.h | 11 ++++++++--- .../examples/Creality/CR-10/Configuration_adv.h | 15 ++++++++++++++- .../examples/Creality/CR-10S/Configuration.h | 11 ++++++++--- .../examples/Creality/CR-10S/Configuration_adv.h | 15 ++++++++++++++- .../examples/Creality/CR-10mini/Configuration.h | 11 ++++++++--- .../Creality/CR-10mini/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Creality/CR-8/Configuration.h | 11 ++++++++--- .../examples/Creality/CR-8/Configuration_adv.h | 15 ++++++++++++++- .../examples/Creality/Ender-2/Configuration.h | 11 ++++++++--- .../examples/Creality/Ender-2/Configuration_adv.h | 15 ++++++++++++++- .../examples/Creality/Ender-3/Configuration.h | 11 ++++++++--- .../examples/Creality/Ender-3/Configuration_adv.h | 15 ++++++++++++++- .../examples/Creality/Ender-4/Configuration.h | 11 ++++++++--- .../examples/Creality/Ender-4/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Einstart-S/Configuration.h | 11 ++++++++--- .../examples/Einstart-S/Configuration_adv.h | 15 ++++++++++++++- Marlin/src/config/examples/Felix/Configuration.h | 11 ++++++++--- .../src/config/examples/Felix/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Felix/DUAL/Configuration.h | 11 ++++++++--- .../examples/FolgerTech/i3-2020/Configuration.h | 11 ++++++++--- .../FolgerTech/i3-2020/Configuration_adv.h | 15 ++++++++++++++- .../examples/Formbot/T-Rex_2+/Configuration.h | 11 ++++++++--- .../examples/Formbot/T-Rex_2+/Configuration_adv.h | 15 ++++++++++++++- .../examples/Formbot/T_Rex_3/Configuration.h | 11 ++++++++--- .../examples/Formbot/T_Rex_3/Configuration_adv.h | 15 ++++++++++++++- .../examples/Geeetech/GT2560/Configuration.h | 11 ++++++++--- .../Geeetech/I3_Pro_X-GT2560/Configuration.h | 11 ++++++++--- .../Prusa i3 Pro B/bltouch/Configuration.h | 11 ++++++++--- .../Prusa i3 Pro B/noprobe/Configuration.h | 11 ++++++++--- .../Geeetech/Prusa i3 Pro C/Configuration.h | 11 ++++++++--- .../Geeetech/Prusa i3 Pro C/Configuration_adv.h | 15 ++++++++++++++- .../Geeetech/Prusa i3 Pro W/Configuration.h | 11 ++++++++--- .../Geeetech/Prusa i3 Pro W/Configuration_adv.h | 15 ++++++++++++++- .../examples/Infitary/i3-M508/Configuration.h | 11 ++++++++--- .../examples/Infitary/i3-M508/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/JGAurora/A5/Configuration.h | 11 ++++++++--- .../examples/JGAurora/A5/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/MakerParts/Configuration.h | 11 ++++++++--- .../examples/MakerParts/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Malyan/M150/Configuration.h | 10 +++++++--- .../examples/Malyan/M150/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Malyan/M200/Configuration.h | 11 ++++++++--- .../examples/Malyan/M200/Configuration_adv.h | 15 ++++++++++++++- .../examples/Micromake/C1/basic/Configuration.h | 11 ++++++++--- .../Micromake/C1/enhanced/Configuration.h | 11 ++++++++--- .../Micromake/C1/enhanced/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/Mks/Sbase/Configuration.h | 11 ++++++++--- .../config/examples/Mks/Sbase/Configuration_adv.h | 15 ++++++++++++++- .../examples/RepRapPro/Huxley/Configuration.h | 11 ++++++++--- .../RepRapWorld/Megatronics/Configuration.h | 11 ++++++++--- .../src/config/examples/RigidBot/Configuration.h | 11 ++++++++--- .../config/examples/RigidBot/Configuration_adv.h | 15 ++++++++++++++- Marlin/src/config/examples/SCARA/Configuration.h | 11 ++++++++--- .../src/config/examples/SCARA/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/STM32F10/Configuration.h | 11 ++++++++--- .../src/config/examples/STM32F4/Configuration.h | 11 ++++++++--- .../config/examples/Sanguinololu/Configuration.h | 11 ++++++++--- .../examples/Sanguinololu/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/TheBorg/Configuration.h | 11 ++++++++--- .../config/examples/TheBorg/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/TinyBoy2/Configuration.h | 11 ++++++++--- .../config/examples/TinyBoy2/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/Tronxy/X1/Configuration.h | 11 ++++++++--- .../config/examples/Tronxy/X3A/Configuration.h | 11 ++++++++--- .../examples/Tronxy/X3A/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/Tronxy/X5S/Configuration.h | 11 ++++++++--- .../config/examples/Tronxy/XY100/Configuration.h | 11 ++++++++--- .../examples/UltiMachine/Archim2/Configuration.h | 11 ++++++++--- .../UltiMachine/Archim2/Configuration_adv.h | 15 ++++++++++++++- .../examples/Velleman/K8200/Configuration.h | 11 ++++++++--- .../examples/Velleman/K8200/Configuration_adv.h | 15 ++++++++++++++- .../examples/Velleman/K8400/Configuration.h | 11 ++++++++--- .../examples/Velleman/K8400/Configuration_adv.h | 15 ++++++++++++++- .../Velleman/K8400/Dual-head/Configuration.h | 11 ++++++++--- .../examples/Wanhao/Duplicator 6/Configuration.h | 11 ++++++++--- .../Wanhao/Duplicator 6/Configuration_adv.h | 15 ++++++++++++++- .../examples/adafruit/ST7565/Configuration.h | 11 ++++++++--- .../delta/Anycubic/Kossel/Configuration.h | 11 ++++++++--- .../delta/Anycubic/Kossel/Configuration_adv.h | 15 ++++++++++++++- .../delta/FLSUN/auto_calibrate/Configuration.h | 11 ++++++++--- .../FLSUN/auto_calibrate/Configuration_adv.h | 15 ++++++++++++++- .../examples/delta/FLSUN/kossel/Configuration.h | 11 ++++++++--- .../delta/FLSUN/kossel/Configuration_adv.h | 15 ++++++++++++++- .../delta/FLSUN/kossel_mini/Configuration.h | 11 ++++++++--- .../delta/FLSUN/kossel_mini/Configuration_adv.h | 15 ++++++++++++++- .../examples/delta/Hatchbox_Alpha/Configuration.h | 11 ++++++++--- .../config/examples/delta/generic/Configuration.h | 11 ++++++++--- .../examples/delta/generic/Configuration_adv.h | 15 ++++++++++++++- .../examples/delta/kossel_mini/Configuration.h | 11 ++++++++--- .../delta/kossel_mini/Configuration_adv.h | 15 ++++++++++++++- .../examples/delta/kossel_pro/Configuration.h | 11 ++++++++--- .../examples/delta/kossel_pro/Configuration_adv.h | 15 ++++++++++++++- .../examples/delta/kossel_xl/Configuration.h | 11 ++++++++--- .../examples/delta/kossel_xl/Configuration_adv.h | 15 ++++++++++++++- .../examples/gCreate/gMax1.5+/Configuration.h | 11 ++++++++--- .../examples/gCreate/gMax1.5+/Configuration_adv.h | 15 ++++++++++++++- .../src/config/examples/makibox/Configuration.h | 11 ++++++++--- .../config/examples/makibox/Configuration_adv.h | 15 ++++++++++++++- .../config/examples/stm32f103ret6/Configuration.h | 11 ++++++++--- .../config/examples/tvrrug/Round2/Configuration.h | 11 ++++++++--- .../examples/tvrrug/Round2/Configuration_adv.h | 15 ++++++++++++++- Marlin/src/config/examples/wt150/Configuration.h | 11 ++++++++--- .../src/config/examples/wt150/Configuration_adv.h | 15 ++++++++++++++- 132 files changed, 1395 insertions(+), 282 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 306ac4b53f..fe6dd5830b 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index e1f1c77e34..f3818b34d4 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/default/Configuration.h b/Marlin/src/config/default/Configuration.h index 306ac4b53f..fe6dd5830b 100644 --- a/Marlin/src/config/default/Configuration.h +++ b/Marlin/src/config/default/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index f5bd2aa237..e7e844cfd9 100755 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h index 369b3319e5..149cbf5824 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 7 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 250 #define HEATER_3_MAXTEMP 250 #define HEATER_4_MAXTEMP 250 +#define HEATER_5_MAXTEMP 250 #define BED_MAXTEMP 150 //=========================================================================== @@ -613,6 +616,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -658,14 +662,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100.5, 100.5, 400, 850 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 800, 800, 8, 50 } @@ -673,7 +677,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -912,6 +916,7 @@ #define INVERT_E2_DIR true #define INVERT_E3_DIR true #define INVERT_E4_DIR true +#define INVERT_E5_DIR true // @section homing diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index 28cdf35143..ed0f76c66c 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 4, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 4, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h index 83e97c7523..c1c5eb6b0f 100644 --- a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h +++ b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 160.6 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Anet/A2/Configuration.h b/Marlin/src/config/examples/Anet/A2/Configuration.h index d890e2d463..a15e329e30 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration.h @@ -316,6 +316,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -346,6 +347,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -356,6 +358,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -576,6 +579,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -621,14 +625,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT {100, 100, 400, 95 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -636,7 +640,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -875,6 +879,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h index 1315d803ad..0b1ba26dd1 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -471,7 +472,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1107,6 +1108,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1168,6 +1173,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1223,6 +1231,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1340,6 +1349,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration.h b/Marlin/src/config/examples/Anet/A2plus/Configuration.h index 58d8562d9f..28de960212 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration.h @@ -316,6 +316,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -346,6 +347,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -356,6 +358,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -576,6 +579,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -621,14 +625,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT {100, 100, 400, 95 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -636,7 +640,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -875,6 +879,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h index 1315d803ad..0b1ba26dd1 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -471,7 +472,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1107,6 +1108,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1168,6 +1173,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1223,6 +1231,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1340,6 +1349,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Anet/A6/Configuration.h b/Marlin/src/config/examples/Anet/A6/Configuration.h index 61ccc3e09f..5f661f9ab2 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 11 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 130 //=========================================================================== @@ -613,6 +616,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -658,7 +662,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } @@ -670,7 +674,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -684,7 +688,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -972,6 +976,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index 2384afe698..49a34ce5f2 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Anet/A8/Configuration.h b/Marlin/src/config/examples/Anet/A8/Configuration.h index 1e2f074be0..ec8c73e203 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration.h @@ -334,6 +334,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -364,6 +365,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -374,6 +376,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 130 //=========================================================================== @@ -600,6 +603,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -645,14 +649,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 100 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 8, 50 } @@ -660,7 +664,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 10000 } @@ -899,6 +903,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index a84c3ed32d..4ec509090a 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h index fe4f2743dc..55122dbbb9 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h index e1f1c77e34..f3818b34d4 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h index 1bdcc04528..4a2113cbc4 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 115 //=========================================================================== @@ -611,14 +614,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 400} /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 350, 350, 10, 50 } @@ -626,7 +629,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1100, 1100, 300, 2500 } @@ -865,6 +868,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h index 7c06a7baad..4795243d11 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h index 9ac054cb15..e671632987 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 60 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 115 //=========================================================================== @@ -611,14 +614,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 93.6 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 350, 350, 10, 25 } @@ -626,7 +629,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1100, 1100, 300, 5000 } @@ -865,6 +868,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h index 9d4300b26d..455521734c 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h index ca1c8cbc52..35554ec0da 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 260 #define HEATER_3_MAXTEMP 260 #define HEATER_4_MAXTEMP 260 +#define HEATER_5_MAXTEMP 260 #define BED_MAXTEMP 150 //=========================================================================== @@ -581,6 +584,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -626,14 +630,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 100.47095761381482 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 3.3, 25 } @@ -641,7 +645,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1100, 1100, 100, 10000 } @@ -880,6 +884,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index 58441d5915..ccf15e54fd 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h index bd0beb72d3..636c3ca142 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h @@ -341,6 +341,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -371,6 +372,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -381,6 +383,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 100 //=========================================================================== @@ -594,6 +597,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -639,14 +643,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 8000, 218.77 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 3, 120 } @@ -654,7 +658,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 3000 } @@ -893,6 +897,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h index 46132369d7..dd15c0c938 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1130,6 +1131,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1194,6 +1199,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1249,6 +1257,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1366,6 +1375,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h index 6be15a84b1..3c71e06581 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 260 #define HEATER_3_MAXTEMP 260 #define HEATER_4_MAXTEMP 260 +#define HEATER_5_MAXTEMP 260 #define BED_MAXTEMP 150 //=========================================================================== @@ -581,6 +584,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -626,14 +630,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 600.0*8/3, 102.073 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 350, 350, 7.2, 80 } @@ -641,7 +645,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 10, 1000 } @@ -880,6 +884,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index 58441d5915..ccf15e54fd 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Cartesio/Configuration.h b/Marlin/src/config/examples/Cartesio/Configuration.h index f484f6a06a..87902e5737 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration.h +++ b/Marlin/src/config/examples/Cartesio/Configuration.h @@ -334,6 +334,7 @@ #define TEMP_SENSOR_2 1 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -364,6 +365,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -374,6 +376,7 @@ #define HEATER_2_MAXTEMP 415 #define HEATER_3_MAXTEMP 415 #define HEATER_4_MAXTEMP 415 +#define HEATER_5_MAXTEMP 415 #define BED_MAXTEMP 165 //=========================================================================== @@ -592,6 +595,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -637,14 +641,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 71.128, 71.128, 640, 152 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 20, 20 } @@ -652,7 +656,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 10000 } @@ -891,6 +895,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index 58f007750f..9d224ad7ad 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 35 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration.h b/Marlin/src/config/examples/Creality/CR-10/Configuration.h index f6796ea857..4bf2cf3677 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 120 //=========================================================================== @@ -603,6 +606,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -648,14 +652,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 95 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 15, 25 } @@ -663,7 +667,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -902,6 +906,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h index 6e5da8855a..de6f223766 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h index b601081fc2..dd2dd461da 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h @@ -337,6 +337,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -367,6 +368,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -377,6 +379,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 120 //=========================================================================== @@ -597,6 +600,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -642,14 +646,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 95 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 2500, 2500, 100, 25 } @@ -657,7 +661,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -896,6 +900,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index 1d1fa065d7..3bca47fd57 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h index 5e75ddbc1e..4e69dde848 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h @@ -342,6 +342,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -372,6 +373,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -382,6 +384,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 120 //=========================================================================== @@ -612,6 +615,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -657,14 +661,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 79.60, 80, 400, 229.4 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 15, 25 } @@ -672,7 +676,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -911,6 +915,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h index 18cc219fc2..47d32f8326 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration.h b/Marlin/src/config/examples/Creality/CR-8/Configuration.h index ae90121000..4c63fdc2b1 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -603,6 +606,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -648,14 +652,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 92.60 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -663,7 +667,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -902,6 +906,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h index f28f1377b5..5aa2a86dcc 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h index 38e246c927..519373a7a5 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 125 //=========================================================================== @@ -597,6 +600,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -642,14 +646,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -657,7 +661,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -896,6 +900,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h index 8284042a14..327ce530ff 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h index e8c5c318ed..aabfd197f9 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 125 //=========================================================================== @@ -597,6 +600,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -642,14 +646,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 93 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -657,7 +661,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -896,6 +900,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h index 3786f09511..bb7f9ac43f 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h index 0c6354b17a..2b7f01688d 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -603,6 +606,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -648,14 +652,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 110 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 10, 25 } @@ -663,7 +667,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 } @@ -902,6 +906,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h index f28f1377b5..5aa2a86dcc 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Einstart-S/Configuration.h b/Marlin/src/config/examples/Einstart-S/Configuration.h index f87ab05229..ed57d3a376 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration.h @@ -335,6 +335,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -365,6 +366,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -375,6 +377,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -605,6 +608,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -650,14 +654,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 80, 96.337120 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -665,7 +669,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 10000 } @@ -902,6 +906,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h index fdf2d11c86..ef55363ce6 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Felix/Configuration.h b/Marlin/src/config/examples/Felix/Configuration.h index 07300d71b9..c2639566b4 100644 --- a/Marlin/src/config/examples/Felix/Configuration.h +++ b/Marlin/src/config/examples/Felix/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -574,6 +577,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -620,14 +624,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 76.190476, 76.190476, 1600, 164 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -635,7 +639,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 5000, 5000, 100, 80000 } @@ -874,6 +878,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index 23c49994d2..77edc1f76f 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Felix/DUAL/Configuration.h b/Marlin/src/config/examples/Felix/DUAL/Configuration.h index 1ee2488b9b..4c99dbb505 100644 --- a/Marlin/src/config/examples/Felix/DUAL/Configuration.h +++ b/Marlin/src/config/examples/Felix/DUAL/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -574,6 +577,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -620,14 +624,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 76.190476, 76.190476, 1600, 164 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -635,7 +639,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 5000, 5000, 100, 80000 } @@ -874,6 +878,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h index 37007ac5c5..e20e63b46b 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 245 #define HEATER_3_MAXTEMP 245 #define HEATER_4_MAXTEMP 245 +#define HEATER_5_MAXTEMP 245 #define BED_MAXTEMP 115 //=========================================================================== @@ -598,6 +601,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -643,7 +647,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 52.2 } // 52.4 is correct for printer as shipped #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 104.4 } // 104.4 with 32 micro steps enabled gives better results @@ -651,7 +655,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 250, 250, 2, 17 } @@ -659,7 +663,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 4, 750 } @@ -898,6 +902,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h index a47b657caa..d3596773ff 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h index 5c59e37cef..408291c938 100644 --- a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h +++ b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h @@ -326,6 +326,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #if(ENABLED(ROXYs_TRex)) #define TEMP_SENSOR_BED 11 @@ -362,6 +363,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -372,6 +374,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -606,6 +609,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -651,7 +655,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 160, 1600, 93 } #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 93 } @@ -659,7 +663,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_MAX_FEEDRATE { 250, 150, 5, 25 } #define DEFAULT_MAX_FEEDRATE { 250, 100, 5, 25 } @@ -668,7 +672,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1500, 500, 400, 4000 } @@ -918,6 +922,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h index 5fc5309882..bdecaf34b0 100644 --- a/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -486,7 +487,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1183,6 +1188,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1238,6 +1246,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1355,6 +1364,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h index 555aaa9735..c8a9e84223 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h @@ -330,6 +330,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #if(ENABLED(ROXYs_TRex)) #define TEMP_SENSOR_BED 11 @@ -372,6 +373,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -382,6 +384,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -616,6 +619,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -661,7 +665,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 160, 1600, 93 } #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 93 } @@ -669,7 +673,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ //#define DEFAULT_MAX_FEEDRATE { 250, 150, 5, 25 } #define DEFAULT_MAX_FEEDRATE { 250, 100, 5, 25 } @@ -678,7 +682,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1500, 500, 400, 4000 } @@ -928,6 +932,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h index f1f06af4de..72d1ce5c2f 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -488,7 +489,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1123,6 +1124,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1184,6 +1189,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1239,6 +1247,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1356,6 +1365,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h index 11416dfa49..8e1a887646 100644 --- a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -608,6 +611,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -653,14 +657,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 78.74, 78.74, 2560, 105 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 } @@ -668,7 +672,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 5000, 5000, 50, 5000 } @@ -907,6 +911,7 @@ #define INVERT_E2_DIR true #define INVERT_E3_DIR true #define INVERT_E4_DIR true +#define INVERT_E5_DIR true // @section homing diff --git a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h index fa0e251d7c..40e76dd57c 100644 --- a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 2560, 93 } // MXL, Z M8=1.25, MK8 /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 4000, 4000, 40, 4000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h index a707cd14db..1546dc302b 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 125 //=========================================================================== @@ -608,6 +611,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -653,14 +657,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 78.74, 78.74, 2560, 105 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 } @@ -668,7 +672,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 5000, 5000, 75, 5000 } @@ -908,6 +912,7 @@ #define INVERT_E2_DIR true #define INVERT_E3_DIR true #define INVERT_E4_DIR true +#define INVERT_E5_DIR true // @section homing diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h index 7f1c1d4773..93b38c8e35 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 125 //=========================================================================== @@ -608,6 +611,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -653,14 +657,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 78.74, 78.74, 2560, 105 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 } @@ -668,7 +672,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 5000, 5000, 75, 5000 } @@ -907,6 +911,7 @@ #define INVERT_E2_DIR true #define INVERT_E3_DIR true #define INVERT_E4_DIR true +#define INVERT_E5_DIR true // @section homing diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h index 38c70d65b6..f567c360ff 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 2560, 95, 95 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h index 2adc09740c..3b4d722e8d 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h index d23e0e1552..9fa5b38a6a 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 2560, 95 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h index 2adc09740c..3b4d722e8d 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h index 2bf1e6dfd9..c48f683d88 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 125 //=========================================================================== @@ -597,6 +600,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -642,14 +646,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 92.6 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 5, 25 } @@ -657,7 +661,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -896,6 +900,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h index 5c81ccb7db..2770c870ba 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration.h b/Marlin/src/config/examples/JGAurora/A5/Configuration.h index 5d54b37ab1..6e861693f8 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration.h @@ -338,6 +338,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 // measured to be satisfactorily accurate on center of bed within +/- 1 degC. #define TEMP_SENSOR_CHAMBER 0 @@ -368,6 +369,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -378,6 +380,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 120 //=========================================================================== @@ -605,6 +608,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -650,14 +654,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 100 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 15, 25 } @@ -665,7 +669,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 500, 100, 5000 } @@ -904,6 +908,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h index 6841995858..0b92f3889d 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/MakerParts/Configuration.h b/Marlin/src/config/examples/MakerParts/Configuration.h index 13d0ebcea3..2622fc8ef1 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration.h +++ b/Marlin/src/config/examples/MakerParts/Configuration.h @@ -353,6 +353,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -383,6 +384,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -393,6 +395,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -613,6 +616,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -658,14 +662,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 97 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 2, 30 } // For 300mm/s printing @@ -673,7 +677,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { MAX_XYAXIS_ACCEL, MAX_XYAXIS_ACCEL, 10, 200 } @@ -912,6 +916,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h index 914dc59ad9..d0d370c4bd 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h +++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration.h b/Marlin/src/config/examples/Malyan/M150/Configuration.h index 5e3a3f44b8..22120e5089 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration.h @@ -338,6 +338,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 // For Malyan M150, some discussions around changing the TEMP_SENSOR_BED from 1 to 3 on a french discussion board. // The reasons are inconclusive so I leave at 1 @@ -371,6 +372,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -381,6 +383,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -624,7 +627,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // Standard M150 17T MXL on X and Y #define DEFAULT_AXIS_STEPS_PER_UNIT { 3200/34.544, 3200/34.544, 1600, 103.00 } @@ -638,7 +641,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -646,7 +649,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 700, 700, 100, 10000 } @@ -889,6 +892,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index 1d31cfb360..beeb6d248d 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration.h b/Marlin/src/config/examples/Malyan/M200/Configuration.h index 4da9dcca1a..efbbd5d49c 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 11 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 100 //=========================================================================== @@ -592,6 +595,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -637,14 +641,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 93, 93, 1097.5, 97 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -652,7 +656,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -891,6 +895,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h index c3c8fc2b15..4b70ba22fc 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h index 3ba826f8f7..aaff055dfb 100644 --- a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,7 +642,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // choose your micro step per step configuration ( 16 factory settings ) #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 150 } // 16 steps per unit for Micromake C1 - Factory Settings - ( MS1 : closed ; MS2 : closed on MAKEBOARD Mini) @@ -649,7 +653,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 30 } @@ -657,7 +661,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 4000 } @@ -896,6 +900,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h index b14e0344da..f5f82a3c8a 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,7 +642,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // choose your micro step per step configuration ( 16 factory settings ) //#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 150 } // 16 steps per unit for Micromake C1 - Factory Settings - ( MS1 : closed ; MS2 : closed on MAKEBOARD Mini) @@ -649,7 +653,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 30 } @@ -657,7 +661,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 4000 } @@ -896,6 +900,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h index 5ecab26d7a..57000f64ab 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration.h b/Marlin/src/config/examples/Mks/Sbase/Configuration.h index 1b09a79b04..f97414c3b3 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 800, 280 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index efa700ea90..4e4a2cba98 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1130,6 +1131,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1194,6 +1199,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1249,6 +1257,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1366,6 +1375,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h index 7b97097dad..e45642f4b2 100644 --- a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h +++ b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 // Sanguinololu v1.3 with 4.7kOhm pullup #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -677,14 +681,14 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { XY_STEPS, XY_STEPS, Z_STEPS, E_STEPS } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_Z_FEEDRATE 3.3 // older Huxley has problem with speeds > 3.3 mm/s on z axis #define DEFAULT_MAX_FEEDRATE { 200, 200, DEFAULT_MAX_Z_FEEDRATE, 25 } @@ -693,7 +697,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 50, 1000 } @@ -932,6 +936,7 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h index 19909f727c..067c7ae79f 100644 --- a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 78.7402*2, 78.7402*2, 5120.00, 760*1*1.5 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/RigidBot/Configuration.h b/Marlin/src/config/examples/RigidBot/Configuration.h index 33d09156d4..6944b20e6d 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration.h +++ b/Marlin/src/config/examples/RigidBot/Configuration.h @@ -336,6 +336,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -366,6 +367,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -376,6 +378,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -589,6 +592,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -634,7 +638,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // default steps per unit for RigidBot with standard hardware #define DEFAULT_AXIS_STEPS_PER_UNIT { 44.3090, 22.1545, 1600, 53.5 } @@ -643,7 +647,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -651,7 +655,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 800, 800, 100, 10000 } @@ -890,6 +894,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index 57291f4806..cf16f9d490 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/SCARA/Configuration.h b/Marlin/src/config/examples/SCARA/Configuration.h index 19f9696432..e6b0883823 100644 --- a/Marlin/src/config/examples/SCARA/Configuration.h +++ b/Marlin/src/config/examples/SCARA/Configuration.h @@ -364,6 +364,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -394,6 +395,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -404,6 +406,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -606,6 +609,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -651,14 +655,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 103.69, 106.65, 200/1.25, 1000 } // default steps per unit for SCARA /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 30, 25 } @@ -666,7 +670,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 300, 300, 20, 1000 } @@ -905,6 +909,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index c442ef8bd8..9382e5aa1f 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/STM32F10/Configuration.h b/Marlin/src/config/examples/STM32F10/Configuration.h index 0aa211e1e5..6814e83bf9 100644 --- a/Marlin/src/config/examples/STM32F10/Configuration.h +++ b/Marlin/src/config/examples/STM32F10/Configuration.h @@ -334,6 +334,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 998 #define TEMP_SENSOR_CHAMBER 0 @@ -364,6 +365,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -374,6 +376,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -595,6 +598,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -640,14 +644,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 78.74, 78.74, 2560, 105.0 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 } @@ -655,7 +659,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1400, 1400, 100, 80000 } @@ -894,6 +898,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/STM32F4/Configuration.h b/Marlin/src/config/examples/STM32F4/Configuration.h index 097f75786f..cacd5888bb 100644 --- a/Marlin/src/config/examples/STM32F4/Configuration.h +++ b/Marlin/src/config/examples/STM32F4/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration.h b/Marlin/src/config/examples/Sanguinololu/Configuration.h index a9abe7401c..be45a6dde3 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -669,14 +673,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { XY_STEPS, XY_STEPS, Z_STEPS, E_STEPS } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 45 } @@ -684,7 +688,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -923,6 +927,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index 7b79a461a8..face90b13c 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/TheBorg/Configuration.h b/Marlin/src/config/examples/TheBorg/Configuration.h index 7646e02d64..2331810df3 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration.h +++ b/Marlin/src/config/examples/TheBorg/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 800, 280 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h index bbc712889d..cd13696c65 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h +++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration.h b/Marlin/src/config/examples/TinyBoy2/Configuration.h index e9f9052145..bbf01cfb72 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration.h @@ -355,6 +355,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #if ENABLED(TB2_HEATBED_MOD) // K8200 Heatbed 1206/100k/3950K spare part #define TEMP_SENSOR_BED 7 @@ -390,6 +391,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -400,6 +402,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 100 //=========================================================================== @@ -644,6 +647,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -689,14 +693,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 6400, 88.16 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 7, 35 } @@ -704,7 +708,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -943,6 +947,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index 61d81b1b6b..efa35de485 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Tronxy/X1/Configuration.h b/Marlin/src/config/examples/Tronxy/X1/Configuration.h index 96f1d16cca..0539fc935b 100644 --- a/Marlin/src/config/examples/Tronxy/X1/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X1/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 260 #define HEATER_3_MAXTEMP 260 #define HEATER_4_MAXTEMP 260 +#define HEATER_5_MAXTEMP 260 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 1600, 90 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 50 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 400, 400, 40, 5000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h index 9b03c37b70..6eda16c2bf 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 501 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 130 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 90 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 4, 50 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 1500, 5000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h index bd2e83862d..32f32cfd2e 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -471,7 +472,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1111,6 +1112,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1175,6 +1180,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1230,6 +1238,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1347,6 +1356,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h index cdcc0318ba..12c8a26edc 100644 --- a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 90 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 4, 150 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 1000, 1000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h index 779708c7ff..ea1aad3f61 100644 --- a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -604,6 +607,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -649,14 +653,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 1600, 90 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 4, 50 } @@ -664,7 +668,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 1000, 5000 } @@ -903,6 +907,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h index 8f6c2ae4b3..8149be7b6a 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index 08fd497407..269992b648 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration.h b/Marlin/src/config/examples/Velleman/K8200/Configuration.h index bb6b45ff94..eb82f2f1d2 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration.h @@ -353,6 +353,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -383,6 +384,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -393,6 +395,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -623,6 +626,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -668,13 +672,13 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 64.25, 64.25, 2560, 600 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 25 } @@ -682,7 +686,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -921,6 +925,7 @@ #define INVERT_E2_DIR true #define INVERT_E3_DIR true #define INVERT_E4_DIR true +#define INVERT_E5_DIR true // @section homing diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index 3dd15dd0b6..e226840445 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -255,6 +255,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -495,7 +496,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1135,6 +1136,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1199,6 +1204,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1254,6 +1262,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1371,6 +1380,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Configuration.h index 69724f4652..39c5990231 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 134.74, 134.74, 4266.66, 148.7 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 160, 160, 10, 10000 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index f2551a3614..fc6cf2eb08 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h index 86e0167b55..b32def7e6c 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 134.74, 134.74, 4266.66, 148.7 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 160, 160, 10, 10000 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h index 137fc7f7ad..a63caa1045 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 120 //=========================================================================== @@ -603,6 +606,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -648,14 +652,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80.0395, 80.0395, 400.48, 99.1 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -663,7 +667,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 500 } @@ -902,6 +906,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index e858489abe..127d2fd7d2 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h index edd2de8cab..a02999c88a 100644 --- a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h +++ b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -593,6 +596,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -638,14 +642,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } @@ -653,7 +657,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } @@ -892,6 +896,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h index 4292cdf57d..be5a3eeee7 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h @@ -329,6 +329,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #if ANYCUBIC_KOSSEL_ENABLE_BED > 0 #define TEMP_SENSOR_BED 5 @@ -365,6 +366,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -375,6 +377,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 120 //=========================================================================== @@ -697,6 +700,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -743,7 +747,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -758,7 +762,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 100, 100, 100, 100} @@ -766,7 +770,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 3000, 3000 } @@ -1067,6 +1071,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h index 9546ce349c..163e17e2da 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -466,7 +467,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1102,6 +1103,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1163,6 +1168,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1218,6 +1226,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1335,6 +1344,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h index 21a4e83fe7..ff9242325a 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 250 #define HEATER_3_MAXTEMP 250 #define HEATER_4_MAXTEMP 250 +#define HEATER_5_MAXTEMP 250 #define BED_MAXTEMP 115 //=========================================================================== @@ -666,6 +669,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -712,7 +716,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -727,7 +731,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 25 } @@ -735,7 +739,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 4000, 4000, 4000, 4000 } @@ -1024,6 +1028,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index 744a02aae8..2552c6297d 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -484,7 +485,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h index 7d4b40c991..ea6b990d34 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 250 #define HEATER_3_MAXTEMP 250 #define HEATER_4_MAXTEMP 250 +#define HEATER_5_MAXTEMP 250 #define BED_MAXTEMP 115 //=========================================================================== @@ -666,6 +669,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -712,7 +716,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -727,7 +731,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 25 } @@ -735,7 +739,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 4000, 4000, 4000, 4000 } @@ -1023,6 +1027,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h index 744a02aae8..2552c6297d 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -484,7 +485,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h index 19df1a23b1..a034a7b4f8 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -666,6 +669,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -712,7 +716,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -727,7 +731,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 200 } @@ -735,7 +739,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 4000, 4000, 4000, 4000 } @@ -1023,6 +1027,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index ea8a25cd6c..3f9dd3249d 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -484,7 +485,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h index c38c50628b..838df6f9b8 100644 --- a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -338,6 +338,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_CHAMBER 0 @@ -368,6 +369,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -378,6 +380,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -671,6 +674,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -717,7 +721,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -732,7 +736,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 500, 200 } @@ -740,7 +744,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 } @@ -1026,6 +1030,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/generic/Configuration.h b/Marlin/src/config/examples/delta/generic/Configuration.h index 53c6732aea..1887f46aea 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration.h +++ b/Marlin/src/config/examples/delta/generic/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -656,6 +659,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -702,7 +706,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -717,7 +721,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 500, 25 } @@ -725,7 +729,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 } @@ -1011,6 +1015,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index ea8a25cd6c..3f9dd3249d 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -484,7 +485,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h index a44ef02537..5b7c3a80aa 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 11 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -656,6 +659,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -702,7 +706,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -717,7 +721,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 500, 25 } @@ -725,7 +729,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 } @@ -1013,6 +1017,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h index ea8a25cd6c..3f9dd3249d 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -484,7 +485,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h index 8ed691c270..51f070f15f 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h @@ -337,6 +337,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -367,6 +368,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -377,6 +379,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -642,6 +645,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -695,7 +699,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -710,7 +714,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 200 } @@ -718,7 +722,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 9000 } @@ -1014,6 +1018,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h index 691abb2ff1..f5884af7e5 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h @@ -247,6 +247,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -489,7 +490,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1129,6 +1130,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1193,6 +1198,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1248,6 +1256,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1365,6 +1374,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h index e50867c7fe..3fbec32a59 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -660,6 +663,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -705,7 +709,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ // variables to calculate steps #define XYZ_FULL_STEPS_PER_ROTATION 200 @@ -720,7 +724,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 25 } @@ -728,7 +732,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 } @@ -1014,6 +1018,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h index d0ba1d66f2..de09be3874 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -484,7 +485,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1124,6 +1125,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1188,6 +1193,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1243,6 +1251,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1360,6 +1369,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h index 76fcc90050..bd2a9d7ebf 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h @@ -338,6 +338,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 75 // gMax-1.5+ users please note: This is a Roxy modification to the printer. I want // to print on glass. And I'm using a 400mm x 400mm silicon heat pad powered through // a Fortek SSR to do it. If you are using an unaltered gCreate machine, this needs @@ -371,6 +372,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -381,6 +383,7 @@ #define HEATER_2_MAXTEMP 245 #define HEATER_3_MAXTEMP 245 #define HEATER_4_MAXTEMP 245 +#define HEATER_5_MAXTEMP 245 #define BED_MAXTEMP 115 //=========================================================================== @@ -606,6 +609,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -651,14 +655,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 96 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 25, 25 } @@ -666,7 +670,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 800, 800, 700, 10000 } @@ -905,6 +909,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h index 7ad72b7e41..487fe1a235 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/makibox/Configuration.h b/Marlin/src/config/examples/makibox/Configuration.h index 021ebed6ef..99360258f1 100644 --- a/Marlin/src/config/examples/makibox/Configuration.h +++ b/Marlin/src/config/examples/makibox/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 12 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -596,6 +599,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -641,14 +645,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 400, 400, 400, 163 } // default steps per unit for ***** MakiBox A6 ***** /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 60, 60, 20, 45 } @@ -656,7 +660,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 30, 10000 } @@ -895,6 +899,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index c298963989..4229127c53 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/stm32f103ret6/Configuration.h b/Marlin/src/config/examples/stm32f103ret6/Configuration.h index 1b921315e3..e9979d9f2e 100644 --- a/Marlin/src/config/examples/stm32f103ret6/Configuration.h +++ b/Marlin/src/config/examples/stm32f103ret6/Configuration.h @@ -334,6 +334,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 998 #define TEMP_SENSOR_CHAMBER 0 @@ -364,6 +365,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -374,6 +376,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -595,6 +598,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -640,14 +644,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 78.74, 78.74, 2560, 105.0 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 400, 400, 2, 45 } @@ -655,7 +659,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1400, 1400, 100, 80000 } @@ -894,6 +898,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h index ae608df328..6636106b24 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 5 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -582,6 +585,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -627,7 +631,7 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 71.1, 71.1, 2560, 600 } // David TVRR @@ -638,7 +642,7 @@ /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 500, 500, 5, 45 } // David TVRR @@ -646,7 +650,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 10000 } @@ -887,6 +891,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index 2ca17355a8..bc2b6f7eed 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1122,6 +1123,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1186,6 +1191,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1241,6 +1249,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1358,6 +1367,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** diff --git a/Marlin/src/config/examples/wt150/Configuration.h b/Marlin/src/config/examples/wt150/Configuration.h index b4893640ff..223c44cd37 100644 --- a/Marlin/src/config/examples/wt150/Configuration.h +++ b/Marlin/src/config/examples/wt150/Configuration.h @@ -333,6 +333,7 @@ #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_4 0 +#define TEMP_SENSOR_5 0 #define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_CHAMBER 0 @@ -363,6 +364,7 @@ #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define HEATER_4_MINTEMP 5 +#define HEATER_5_MINTEMP 5 #define BED_MINTEMP 5 // When temperature exceeds max temp, your heater will be switched off. @@ -373,6 +375,7 @@ #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define HEATER_4_MAXTEMP 275 +#define HEATER_5_MAXTEMP 275 #define BED_MAXTEMP 150 //=========================================================================== @@ -598,6 +601,7 @@ //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 +//#define E5_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -643,14 +647,14 @@ /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 71.699959, 71.699959, 71.699959, 100.470955 } /** * Default Max Feed Rate (mm/s) * Override with M203 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_FEEDRATE { 83.333333, 83.333333, 19.5, 26.666666 } @@ -658,7 +662,7 @@ * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 - * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] + * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] */ #define DEFAULT_MAX_ACCELERATION { 1200, 1200, 100, 10000 } @@ -897,6 +901,7 @@ #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false +#define INVERT_E5_DIR false // @section homing diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index a4a283345d..5ed0c133e4 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -242,6 +242,7 @@ #define E2_AUTO_FAN_PIN -1 #define E3_AUTO_FAN_PIN -1 #define E4_AUTO_FAN_PIN -1 +#define E5_AUTO_FAN_PIN -1 #define CHAMBER_AUTO_FAN_PIN -1 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed @@ -482,7 +483,7 @@ //#define ADAPTIVE_STEP_SMOOTHING // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. -#define MICROSTEP_MODES { 16, 16, 16, 16, 16 } // [1,2,4,8,16] +#define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16] /** * @section stepper motor current @@ -1123,6 +1124,10 @@ #define E4_SENSE_RESISTOR 91 #define E4_MICROSTEPS 16 + #define E5_MAX_CURRENT 1000 + #define E5_SENSE_RESISTOR 91 + #define E5_MICROSTEPS 16 + #endif // TMC26X // @section tmc_smart @@ -1187,6 +1192,9 @@ #define E4_CURRENT 800 #define E4_MICROSTEPS 16 + #define E5_CURRENT 800 + #define E5_MICROSTEPS 16 + /** * Use software SPI for TMC2130. * The default SW SPI pins are defined the respective pins files, @@ -1242,6 +1250,7 @@ #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 + #define E5_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. @@ -1359,6 +1368,10 @@ #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 + #define E5_MICROSTEPS 16 + #define E5_OVERCURRENT 2000 + #define E5_STALLCURRENT 1500 + #endif // L6470 /** From 1718eff54adefc7cc95851f28df0c7e02eae3a36 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 13 Sep 2018 01:35:55 -0500 Subject: [PATCH 3/3] Code changes supporting up to 6 extruders --- Marlin/src/HAL/HAL_AVR/SanityCheck.h | 2 + Marlin/src/HAL/HAL_STM32F7/SanityCheck.h | 2 + Marlin/src/Marlin.cpp | 13 +- Marlin/src/Marlin.h | 15 +- Marlin/src/core/drivers.h | 3 +- Marlin/src/core/language.h | 5 + Marlin/src/feature/I2CPositionEncoder.cpp | 31 ++ Marlin/src/feature/controllerfan.cpp | 9 +- Marlin/src/feature/power.cpp | 9 +- Marlin/src/feature/runout.cpp | 3 + Marlin/src/feature/runout.h | 3 + Marlin/src/feature/solenoid.cpp | 8 + Marlin/src/feature/tmc_util.cpp | 23 ++ Marlin/src/feature/tmc_util.h | 31 +- Marlin/src/gcode/bedlevel/abl/G29.cpp | 4 +- Marlin/src/gcode/feature/trinamic/M906.cpp | 6 + .../src/gcode/feature/trinamic/M911-M915.cpp | 12 + Marlin/src/inc/Conditionals_post.h | 36 ++- Marlin/src/inc/SanityCheck.h | 86 ++++-- Marlin/src/lcd/language/language_an.h | 1 + Marlin/src/lcd/language/language_bg.h | 1 + Marlin/src/lcd/language/language_ca.h | 1 + Marlin/src/lcd/language/language_cz.h | 1 + Marlin/src/lcd/language/language_da.h | 1 + Marlin/src/lcd/language/language_de.h | 1 + Marlin/src/lcd/language/language_en.h | 6 + Marlin/src/lcd/language/language_es.h | 1 + Marlin/src/lcd/language/language_eu.h | 1 + Marlin/src/lcd/language/language_fi.h | 1 + Marlin/src/lcd/language/language_fr.h | 1 + Marlin/src/lcd/language/language_gl.h | 1 + Marlin/src/lcd/language/language_hr.h | 1 + Marlin/src/lcd/language/language_it.h | 1 + Marlin/src/lcd/language/language_nl.h | 1 + Marlin/src/lcd/language/language_pl.h | 1 + Marlin/src/lcd/language/language_pt-br.h | 1 + Marlin/src/lcd/language/language_pt.h | 1 + Marlin/src/lcd/language/language_ru.h | 1 + Marlin/src/lcd/language/language_sk.h | 1 + Marlin/src/lcd/language/language_tr.h | 3 +- Marlin/src/lcd/language/language_uk.h | 1 + Marlin/src/lcd/language/language_zh_CN.h | 1 + Marlin/src/lcd/language/language_zh_TW.h | 1 + Marlin/src/lcd/ultralcd.cpp | 153 +++++++++- Marlin/src/module/configuration_store.cpp | 276 +++++++++++------- Marlin/src/module/planner.cpp | 27 ++ Marlin/src/module/stepper.cpp | 25 ++ Marlin/src/module/stepper_indirection.h | 43 ++- Marlin/src/module/temperature.cpp | 85 +++++- Marlin/src/module/temperature.h | 2 +- Marlin/src/pins/pins.h | 60 +++- Marlin/src/pins/pinsDebug_list.h | 36 +++ 52 files changed, 848 insertions(+), 191 deletions(-) diff --git a/Marlin/src/HAL/HAL_AVR/SanityCheck.h b/Marlin/src/HAL/HAL_AVR/SanityCheck.h index 58c6bf7c3f..a61472cc44 100644 --- a/Marlin/src/HAL/HAL_AVR/SanityCheck.h +++ b/Marlin/src/HAL/HAL_AVR/SanityCheck.h @@ -78,6 +78,8 @@ #error "SPINDLE_LASER_PWM_PIN is used by E3_AUTO_FAN_PIN." #elif PIN_EXISTS(E4_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E4_AUTO_FAN_PIN #error "SPINDLE_LASER_PWM_PIN is used by E4_AUTO_FAN_PIN." + #elif PIN_EXISTS(E5_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E5_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E5_AUTO_FAN_PIN." #elif PIN_EXISTS(FAN) && SPINDLE_LASER_PWM_PIN == FAN_PIN #error "SPINDLE_LASER_PWM_PIN is used FAN_PIN." #elif PIN_EXISTS(FAN1) && SPINDLE_LASER_PWM_PIN == FAN1_PIN diff --git a/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h b/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h index 5bd0793a4d..880f5dfed6 100644 --- a/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h +++ b/Marlin/src/HAL/HAL_STM32F7/SanityCheck.h @@ -53,6 +53,8 @@ #error "SPINDLE_LASER_PWM_PIN is used by E3_AUTO_FAN_PIN." #elif PIN_EXISTS(E4_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E4_AUTO_FAN_PIN #error "SPINDLE_LASER_PWM_PIN is used by E4_AUTO_FAN_PIN." + #elif PIN_EXISTS(E5_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E5_AUTO_FAN_PIN + #error "SPINDLE_LASER_PWM_PIN is used by E5_AUTO_FAN_PIN." #elif PIN_EXISTS(FAN) && SPINDLE_LASER_PWM_PIN == FAN_PIN #error "SPINDLE_LASER_PWM_PIN is used FAN_PIN." #elif PIN_EXISTS(FAN1) && SPINDLE_LASER_PWM_PIN == FAN1_PIN diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index 99502c6557..ba9a0862da 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -290,6 +290,7 @@ void enable_all_steppers() { enable_E2(); enable_E3(); enable_E4(); + enable_E5(); } void disable_e_steppers() { @@ -298,6 +299,7 @@ void disable_e_steppers() { disable_E2(); disable_E3(); disable_E4(); + disable_E5(); } void disable_e_stepper(const uint8_t e) { @@ -307,6 +309,7 @@ void disable_e_stepper(const uint8_t e) { case 2: disable_E2(); break; case 3: disable_E3(); break; case 4: disable_E4(); break; + case 5: disable_E5(); break; } } @@ -440,7 +443,7 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { #if E_STEPPERS > 1 case 2: case 3: oldstatus = E1_ENABLE_READ; enable_E1(); break; #if E_STEPPERS > 2 - case 4: oldstatus = E2_ENABLE_READ; enable_E2(); break; + case 4: case 5: oldstatus = E2_ENABLE_READ; enable_E2(); break; #endif // E_STEPPERS > 2 #endif // E_STEPPERS > 1 } @@ -456,6 +459,9 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { case 3: oldstatus = E3_ENABLE_READ; enable_E3(); break; #if E_STEPPERS > 4 case 4: oldstatus = E4_ENABLE_READ; enable_E4(); break; + #if E_STEPPERS > 5 + case 5: oldstatus = E5_ENABLE_READ; enable_E5(); break; + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -476,7 +482,7 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { #if E_STEPPERS > 1 case 2: case 3: oldstatus = E1_ENABLE_WRITE(oldstatus); break; #if E_STEPPERS > 2 - case 4: oldstatus = E2_ENABLE_WRITE(oldstatus); break; + case 4: case 5: oldstatus = E2_ENABLE_WRITE(oldstatus); break; #endif // E_STEPPERS > 2 #endif // E_STEPPERS > 1 } @@ -491,6 +497,9 @@ void manage_inactivity(const bool ignore_stepper_queue/*=false*/) { case 3: E3_ENABLE_WRITE(oldstatus); break; #if E_STEPPERS > 4 case 4: E4_ENABLE_WRITE(oldstatus); break; + #if E_STEPPERS > 5 + case 5: E5_ENABLE_WRITE(oldstatus); break; + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 diff --git a/Marlin/src/Marlin.h b/Marlin/src/Marlin.h index 37c98b40fa..a233b44a30 100644 --- a/Marlin/src/Marlin.h +++ b/Marlin/src/Marlin.h @@ -83,7 +83,10 @@ void manage_inactivity(const bool ignore_stepper_queue=false); /** * Mixing steppers synchronize their enable (and direction) together */ - #if MIXING_STEPPERS > 4 + #if MIXING_STEPPERS > 5 + #define enable_E0() { E0_ENABLE_WRITE( E_ENABLE_ON); E1_ENABLE_WRITE( E_ENABLE_ON); E2_ENABLE_WRITE( E_ENABLE_ON); E3_ENABLE_WRITE( E_ENABLE_ON); E4_ENABLE_WRITE( E_ENABLE_ON); E5_ENABLE_WRITE( E_ENABLE_ON); } + #define disable_E0() { E0_ENABLE_WRITE(!E_ENABLE_ON); E1_ENABLE_WRITE(!E_ENABLE_ON); E2_ENABLE_WRITE(!E_ENABLE_ON); E3_ENABLE_WRITE(!E_ENABLE_ON); E4_ENABLE_WRITE(!E_ENABLE_ON); E5_ENABLE_WRITE(!E_ENABLE_ON); } + #elif MIXING_STEPPERS > 4 #define enable_E0() { E0_ENABLE_WRITE( E_ENABLE_ON); E1_ENABLE_WRITE( E_ENABLE_ON); E2_ENABLE_WRITE( E_ENABLE_ON); E3_ENABLE_WRITE( E_ENABLE_ON); E4_ENABLE_WRITE( E_ENABLE_ON); } #define disable_E0() { E0_ENABLE_WRITE(!E_ENABLE_ON); E1_ENABLE_WRITE(!E_ENABLE_ON); E2_ENABLE_WRITE(!E_ENABLE_ON); E3_ENABLE_WRITE(!E_ENABLE_ON); E4_ENABLE_WRITE(!E_ENABLE_ON); } #elif MIXING_STEPPERS > 3 @@ -104,6 +107,8 @@ void manage_inactivity(const bool ignore_stepper_queue=false); #define disable_E3() NOOP #define enable_E4() NOOP #define disable_E4() NOOP + #define enable_E5() NOOP + #define disable_E5() NOOP #else // !MIXING_EXTRUDER @@ -147,6 +152,14 @@ void manage_inactivity(const bool ignore_stepper_queue=false); #define disable_E4() NOOP #endif + #if E_STEPPERS > 5 && HAS_E5_ENABLE + #define enable_E5() E5_ENABLE_WRITE( E_ENABLE_ON) + #define disable_E5() E5_ENABLE_WRITE(!E_ENABLE_ON) + #else + #define enable_E5() NOOP + #define disable_E5() NOOP + #endif + #endif // !MIXING_EXTRUDER #if ENABLED(EXPERIMENTAL_I2CBUS) diff --git a/Marlin/src/core/drivers.h b/Marlin/src/core/drivers.h index a0f48a145c..e775c58b5c 100644 --- a/Marlin/src/core/drivers.h +++ b/Marlin/src/core/drivers.h @@ -54,6 +54,7 @@ #define AXIS_DRIVER_TYPE_E2(T) (E_STEPPERS > 2 && _AXIS_DRIVER_TYPE(E2,T)) #define AXIS_DRIVER_TYPE_E3(T) (E_STEPPERS > 3 && _AXIS_DRIVER_TYPE(E3,T)) #define AXIS_DRIVER_TYPE_E4(T) (E_STEPPERS > 4 && _AXIS_DRIVER_TYPE(E4,T)) +#define AXIS_DRIVER_TYPE_E5(T) (E_STEPPERS > 5 && _AXIS_DRIVER_TYPE(E5,T)) #define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T) @@ -62,7 +63,7 @@ AXIS_DRIVER_TYPE_Z(T) || AXIS_DRIVER_TYPE_Z2(T) || AXIS_DRIVER_TYPE_Z3(T) || \ AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) || \ AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) || \ - AXIS_DRIVER_TYPE_E4(T) ) + AXIS_DRIVER_TYPE_E4(T) || AXIS_DRIVER_TYPE_E5(T) ) // Test for supported TMC drivers that require advanced configuration // Does not match standalone configurations diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index f1c9a9063d..67f28c598d 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -289,26 +289,31 @@ #define MSG_H3 "3" #define MSG_H4 "4" #define MSG_H5 "5" +#define MSG_H6 "6" #define MSG_N1 " 1" #define MSG_N2 " 2" #define MSG_N3 " 3" #define MSG_N4 " 4" #define MSG_N5 " 5" +#define MSG_N6 " 6" #define MSG_E1 "E1" #define MSG_E2 "E2" #define MSG_E3 "E3" #define MSG_E4 "E4" #define MSG_E5 "E5" +#define MSG_E6 "E6" #define MSG_MOVE_E1 "1" #define MSG_MOVE_E2 "2" #define MSG_MOVE_E3 "3" #define MSG_MOVE_E4 "4" #define MSG_MOVE_E5 "5" +#define MSG_MOVE_E6 "6" #define MSG_DIAM_E1 " 1" #define MSG_DIAM_E2 " 2" #define MSG_DIAM_E3 " 3" #define MSG_DIAM_E4 " 4" #define MSG_DIAM_E5 " 5" +#define MSG_DIAM_E6 " 6" #include INCLUDE_LANGUAGE diff --git a/Marlin/src/feature/I2CPositionEncoder.cpp b/Marlin/src/feature/I2CPositionEncoder.cpp index f5bec8885c..55c607ca4f 100644 --- a/Marlin/src/feature/I2CPositionEncoder.cpp +++ b/Marlin/src/feature/I2CPositionEncoder.cpp @@ -646,6 +646,37 @@ void I2CPositionEncodersMgr::init() { encoders[i].set_homed(); #endif #endif + + #if I2CPE_ENCODER_CNT > 5 + i++; + + encoders[i].init(I2CPE_ENC_6_ADDR, I2CPE_ENC_6_AXIS); + + #ifdef I2CPE_ENC_6_TYPE + encoders[i].set_type(I2CPE_ENC_6_TYPE); + #endif + #ifdef I2CPE_ENC_6_TICKS_UNIT + encoders[i].set_ticks_unit(I2CPE_ENC_6_TICKS_UNIT); + #endif + #ifdef I2CPE_ENC_6_TICKS_REV + encoders[i].set_stepper_ticks(I2CPE_ENC_6_TICKS_REV); + #endif + #ifdef I2CPE_ENC_6_INVERT + encoders[i].set_inverted(I2CPE_ENC_6_INVERT); + #endif + #ifdef I2CPE_ENC_6_EC_METHOD + encoders[i].set_ec_method(I2CPE_ENC_6_EC_METHOD); + #endif + #ifdef I2CPE_ENC_6_EC_THRESH + encoders[i].set_ec_threshold(I2CPE_ENC_6_EC_THRESH); + #endif + + encoders[i].set_active(encoders[i].passes_test(true)); + + #if I2CPE_ENC_6_AXIS == E_AXIS + encoders[i].set_homed(); + #endif + #endif } void I2CPositionEncodersMgr::report_position(const int8_t idx, const bool units, const bool noOffset) { diff --git a/Marlin/src/feature/controllerfan.cpp b/Marlin/src/feature/controllerfan.cpp index d0f645af69..1dec32647e 100644 --- a/Marlin/src/feature/controllerfan.cpp +++ b/Marlin/src/feature/controllerfan.cpp @@ -57,11 +57,14 @@ void controllerfan_update() { #if E_STEPPERS > 1 || E1_ENABLE_READ == E_ENABLE_ON #if E_STEPPERS > 2 - || E2_ENABLE_READ == E_ENABLE_ON + || E2_ENABLE_READ == E_ENABLE_ON #if E_STEPPERS > 3 - || E3_ENABLE_READ == E_ENABLE_ON + || E3_ENABLE_READ == E_ENABLE_ON #if E_STEPPERS > 4 - || E4_ENABLE_READ == E_ENABLE_ON + || E4_ENABLE_READ == E_ENABLE_ON + #if E_STEPPERS > 5 + || E5_ENABLE_READ == E_ENABLE_ON + #endif #endif #endif #endif diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp index 53fcd142bb..6c196fd6f3 100644 --- a/Marlin/src/feature/power.cpp +++ b/Marlin/src/feature/power.cpp @@ -68,11 +68,14 @@ bool Power::is_power_needed() { #if E_STEPPERS > 1 || E1_ENABLE_READ == E_ENABLE_ON #if E_STEPPERS > 2 - || E2_ENABLE_READ == E_ENABLE_ON + || E2_ENABLE_READ == E_ENABLE_ON #if E_STEPPERS > 3 - || E3_ENABLE_READ == E_ENABLE_ON + || E3_ENABLE_READ == E_ENABLE_ON #if E_STEPPERS > 4 - || E4_ENABLE_READ == E_ENABLE_ON + || E4_ENABLE_READ == E_ENABLE_ON + #if E_STEPPERS > 5 + || E5_ENABLE_READ == E_ENABLE_ON + #endif #endif #endif #endif diff --git a/Marlin/src/feature/runout.cpp b/Marlin/src/feature/runout.cpp index fde93e7f7a..00eb97195d 100644 --- a/Marlin/src/feature/runout.cpp +++ b/Marlin/src/feature/runout.cpp @@ -54,6 +54,9 @@ void FilamentRunoutSensor::setup() { INIT_RUNOUT_PIN(FIL_RUNOUT4_PIN); #if NUM_RUNOUT_SENSORS > 4 INIT_RUNOUT_PIN(FIL_RUNOUT5_PIN); + #if NUM_RUNOUT_SENSORS > 5 + INIT_RUNOUT_PIN(FIL_RUNOUT6_PIN); + #endif #endif #endif #endif diff --git a/Marlin/src/feature/runout.h b/Marlin/src/feature/runout.h index 47bd2cf7b8..85e9384fa6 100644 --- a/Marlin/src/feature/runout.h +++ b/Marlin/src/feature/runout.h @@ -71,6 +71,9 @@ class FilamentRunoutSensor { case 3: is_out = READ(FIL_RUNOUT4_PIN) == FIL_RUNOUT_INVERTING; break; #if NUM_RUNOUT_SENSORS > 4 case 4: is_out = READ(FIL_RUNOUT5_PIN) == FIL_RUNOUT_INVERTING; break; + #if NUM_RUNOUT_SENSORS > 5 + case 5: is_out = READ(FIL_RUNOUT6_PIN) == FIL_RUNOUT_INVERTING; break; + #endif #endif #endif #endif diff --git a/Marlin/src/feature/solenoid.cpp b/Marlin/src/feature/solenoid.cpp index dcb63cd866..b0efa88270 100644 --- a/Marlin/src/feature/solenoid.cpp +++ b/Marlin/src/feature/solenoid.cpp @@ -53,6 +53,11 @@ inline void enable_solenoid(const uint8_t num) { OUT_WRITE(SOL4_PIN, HIGH); break; #endif + #if HAS_SOLENOID_5 && EXTRUDERS > 5 + case 5: + OUT_WRITE(SOL5_PIN, HIGH); + break; + #endif default: SERIAL_ECHO_START(); SERIAL_ECHOLNPGM(MSG_INVALID_SOLENOID); @@ -76,6 +81,9 @@ void disable_all_solenoids() { #if HAS_SOLENOID_4 && EXTRUDERS > 4 OUT_WRITE(SOL4_PIN, LOW); #endif + #if HAS_SOLENOID_5 && EXTRUDERS > 5 + OUT_WRITE(SOL5_PIN, LOW); + #endif } #endif // EXT_SOLENOID diff --git a/Marlin/src/feature/tmc_util.cpp b/Marlin/src/feature/tmc_util.cpp index 01418bfd98..c005650b6d 100644 --- a/Marlin/src/feature/tmc_util.cpp +++ b/Marlin/src/feature/tmc_util.cpp @@ -213,6 +213,10 @@ bool report_tmc_status = false; static uint8_t e4_otpw_cnt = 0; monitor_tmc_driver(stepperE4, TMC_E4, e4_otpw_cnt); #endif + #if HAS_HW_COMMS(E5) + static uint8_t e5_otpw_cnt = 0; + monitor_tmc_driver(stepperE5, TMC_E5, e5_otpw_cnt); + #endif if (report_tmc_status) SERIAL_EOL(); } @@ -244,6 +248,9 @@ void _tmc_say_axis(const TMC_AxisEnum axis) { , ext_E3[] PROGMEM = "E3" #if E_STEPPERS > 4 , ext_E4[] PROGMEM = "E4" + #if E_STEPPERS > 5 + , ext_E5[] PROGMEM = "E5" + #endif #endif #endif #endif @@ -274,6 +281,9 @@ void _tmc_say_axis(const TMC_AxisEnum axis) { , ext_E3 #if E_STEPPERS > 4 , ext_E4 + #if E_STEPPERS > 5 + , ext_E5 + #endif #endif #endif #endif @@ -532,6 +542,13 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #endif ]); #endif + #if AXIS_IS_TMC(E5) + tmc_status(stepperE5, TMC_E5, i, planner.axis_steps_per_mm[E_AXIS + #if ENABLED(DISTINCT_E_FACTORS) + + 5 + #endif + ]); + #endif SERIAL_EOL(); } @@ -576,6 +593,9 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #if AXIS_IS_TMC(E4) tmc_parse_drv_status(stepperE4, TMC_E4, i); #endif + #if AXIS_IS_TMC(E5) + tmc_parse_drv_status(stepperE5, TMC_E5, i); + #endif SERIAL_EOL(); } @@ -693,6 +713,9 @@ void _tmc_say_sgt(const TMC_AxisEnum axis, const int8_t sgt) { #if AXIS_DRIVER_TYPE(E4, TMC2130) SET_CS_PIN(E4); #endif + #if AXIS_DRIVER_TYPE(E5, TMC2130) + SET_CS_PIN(E5); + #endif } #endif // TMC2130 diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index f50919b3c9..514f603f18 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -49,19 +49,24 @@ enum TMC_AxisEnum : char { #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) , TMC_Z3 #endif - , TMC_E0 - #if E_STEPPERS > 1 - , TMC_E1 - #if E_STEPPERS > 2 - , TMC_E2 - #if E_STEPPERS > 3 - , TMC_E3 - #if E_STEPPERS > 4 - , TMC_E4 - #endif - #endif - #endif - #endif + #if E_STEPPERS + , TMC_E0 + #if E_STEPPERS > 1 + , TMC_E1 + #if E_STEPPERS > 2 + , TMC_E2 + #if E_STEPPERS > 3 + , TMC_E3 + #if E_STEPPERS > 4 + , TMC_E4 + #if E_STEPPERS > 5 + , TMC_E5 + #endif // E_STEPPERS > 5 + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 + #endif // E_STEPPERS > 1 + #endif // E_STEPPERS }; constexpr uint32_t _tmc_thrs(const uint16_t msteps, const int32_t thrs, const uint32_t spmm) { diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index f6965f18e4..6f4a2a5635 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -677,8 +677,8 @@ G29_TYPE GcodeSuite::G29() { // Inner loop is Y with PROBE_Y_FIRST enabled for (int8_t PR_INNER_VAR = inStart; PR_INNER_VAR != inStop; PR_INNER_VAR += inInc) { - float xBase = left_probe_bed_position + xGridSpacing * xCount, - yBase = front_probe_bed_position + yGridSpacing * yCount; + const float xBase = left_probe_bed_position + xGridSpacing * xCount, + yBase = front_probe_bed_position + yGridSpacing * yCount; xProbe = FLOOR(xBase + (xBase < 0 ? 0 : 0.5)); yProbe = FLOOR(yBase + (yBase < 0 ? 0 : 0.5)); diff --git a/Marlin/src/gcode/feature/trinamic/M906.cpp b/Marlin/src/gcode/feature/trinamic/M906.cpp index 8d90f8b95a..e727d3e30a 100644 --- a/Marlin/src/gcode/feature/trinamic/M906.cpp +++ b/Marlin/src/gcode/feature/trinamic/M906.cpp @@ -86,6 +86,9 @@ void GcodeSuite::M906() { #if AXIS_IS_TMC(E4) case 4: TMC_SET_CURRENT(E4); break; #endif + #if AXIS_IS_TMC(E5) + case 5: TMC_SET_CURRENT(E5); break; + #endif } } break; } @@ -128,6 +131,9 @@ void GcodeSuite::M906() { #if AXIS_IS_TMC(E4) TMC_SAY_CURRENT(E4); #endif + #if AXIS_IS_TMC(E5) + TMC_SAY_CURRENT(E5); + #endif } } diff --git a/Marlin/src/gcode/feature/trinamic/M911-M915.cpp b/Marlin/src/gcode/feature/trinamic/M911-M915.cpp index e0748a506d..c156cef2b8 100644 --- a/Marlin/src/gcode/feature/trinamic/M911-M915.cpp +++ b/Marlin/src/gcode/feature/trinamic/M911-M915.cpp @@ -74,6 +74,9 @@ void GcodeSuite::M911() { #if M91x_USE_E(4) tmc_report_otpw(stepperE4, TMC_E4); #endif + #if M91x_USE_E(5) + tmc_report_otpw(stepperE5, TMC_E5); + #endif } /** @@ -145,6 +148,9 @@ void GcodeSuite::M912() { #if M91x_USE_E(4) if (hasNone || eval == 4 || (hasE && eval < 0)) tmc_clear_otpw(stepperE4, TMC_E4); #endif + #if M91x_USE_E(5) + if (hasNone || eval == 5 || (hasE && eval == 10)) tmc_clear_otpw(stepperE5, TMC_E5); + #endif #endif } @@ -208,6 +214,9 @@ void GcodeSuite::M912() { #if E_STEPPERS > 4 && AXIS_HAS_STEALTHCHOP(E4) case 4: TMC_SET_PWMTHRS_E(4); break; #endif + #if E_STEPPERS > 5 && AXIS_HAS_STEALTHCHOP(E5) + case 5: TMC_SET_PWMTHRS_E(5); break; + #endif } } break; } @@ -250,6 +259,9 @@ void GcodeSuite::M912() { #if E_STEPPERS > 4 && AXIS_HAS_STEALTHCHOP(E4) TMC_SAY_PWMTHRS_E(4); #endif + #if E_STEPPERS > 5 && AXIS_HAS_STEALTHCHOP(E5) + TMC_SAY_PWMTHRS_E(5); + #endif } } #endif // HYBRID_THRESHOLD diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 8e37f38ba8..bd6f7aa0e8 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -381,6 +381,22 @@ #define HEATER_4_USES_THERMISTOR #endif +#if TEMP_SENSOR_5 == -4 + #define HEATER_5_USES_AD8495 +#elif TEMP_SENSOR_5 == -3 + #error "MAX31855 Thermocouples (-3) not supported for TEMP_SENSOR_5." +#elif TEMP_SENSOR_5 == -2 + #error "MAX6675 Thermocouples (-2) not supported for TEMP_SENSOR_5." +#elif TEMP_SENSOR_5 == -1 + #define HEATER_5_USES_AD595 +#elif TEMP_SENSOR_5 == 0 + #undef HEATER_5_MINTEMP + #undef HEATER_5_MAXTEMP +#elif TEMP_SENSOR_5 > 0 + #define THERMISTORHEATER_5 TEMP_SENSOR_5 + #define HEATER_5_USES_THERMISTOR +#endif + #if TEMP_SENSOR_BED == -4 #define HEATER_BED_USES_AD8495 #elif TEMP_SENSOR_BED == -3 @@ -841,6 +857,12 @@ #define HAS_E4_MICROSTEPS (PIN_EXISTS(E4_MS1)) #define HAS_SOLENOID_4 (PIN_EXISTS(SOL4)) +#define HAS_E5_ENABLE (PIN_EXISTS(E5_ENABLE)) +#define HAS_E5_DIR (PIN_EXISTS(E5_DIR)) +#define HAS_E5_STEP (PIN_EXISTS(E5_STEP)) +#define HAS_E5_MICROSTEPS (PIN_EXISTS(E5_MS1)) +#define HAS_SOLENOID_5 (PIN_EXISTS(SOL5)) + // Trinamic Stepper Drivers #define HAS_STEALTHCHOP (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208)) #define HAS_STALLGUARD HAS_DRIVER(TMC2130) @@ -919,8 +941,9 @@ #define HAS_AUTO_FAN_2 (HOTENDS > 2 && PIN_EXISTS(E2_AUTO_FAN)) #define HAS_AUTO_FAN_3 (HOTENDS > 3 && PIN_EXISTS(E3_AUTO_FAN)) #define HAS_AUTO_FAN_4 (HOTENDS > 4 && PIN_EXISTS(E4_AUTO_FAN)) +#define HAS_AUTO_FAN_5 (HOTENDS > 5 && PIN_EXISTS(E5_AUTO_FAN)) #define HAS_AUTO_CHAMBER_FAN (PIN_EXISTS(CHAMBER_AUTO_FAN)) -#define HAS_AUTO_FAN (HAS_AUTO_FAN_0 || HAS_AUTO_FAN_1 || HAS_AUTO_FAN_2 || HAS_AUTO_FAN_3 || HAS_AUTO_CHAMBER_FAN) +#define HAS_AUTO_FAN (HAS_AUTO_FAN_0 || HAS_AUTO_FAN_1 || HAS_AUTO_FAN_2 || HAS_AUTO_FAN_3 || HAS_AUTO_FAN_4 || HAS_AUTO_FAN_5 || HAS_AUTO_CHAMBER_FAN) #define AUTO_1_IS_0 (E1_AUTO_FAN_PIN == E0_AUTO_FAN_PIN) #define AUTO_2_IS_0 (E2_AUTO_FAN_PIN == E0_AUTO_FAN_PIN) #define AUTO_2_IS_1 (E2_AUTO_FAN_PIN == E1_AUTO_FAN_PIN) @@ -931,11 +954,17 @@ #define AUTO_4_IS_1 (E4_AUTO_FAN_PIN == E1_AUTO_FAN_PIN) #define AUTO_4_IS_2 (E4_AUTO_FAN_PIN == E2_AUTO_FAN_PIN) #define AUTO_4_IS_3 (E4_AUTO_FAN_PIN == E3_AUTO_FAN_PIN) +#define AUTO_5_IS_0 (E5_AUTO_FAN_PIN == E0_AUTO_FAN_PIN) +#define AUTO_5_IS_1 (E5_AUTO_FAN_PIN == E1_AUTO_FAN_PIN) +#define AUTO_5_IS_2 (E5_AUTO_FAN_PIN == E2_AUTO_FAN_PIN) +#define AUTO_5_IS_3 (E5_AUTO_FAN_PIN == E3_AUTO_FAN_PIN) +#define AUTO_5_IS_4 (E5_AUTO_FAN_PIN == E4_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_0 (CHAMBER_AUTO_FAN_PIN == E0_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_1 (CHAMBER_AUTO_FAN_PIN == E1_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_2 (CHAMBER_AUTO_FAN_PIN == E2_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_3 (CHAMBER_AUTO_FAN_PIN == E3_AUTO_FAN_PIN) #define AUTO_CHAMBER_IS_4 (CHAMBER_AUTO_FAN_PIN == E4_AUTO_FAN_PIN) +#define AUTO_CHAMBER_IS_5 (CHAMBER_AUTO_FAN_PIN == E5_AUTO_FAN_PIN) // Other fans #define HAS_FAN0 (PIN_EXISTS(FAN)) @@ -966,7 +995,7 @@ #define HAS_CASE_LIGHT (PIN_EXISTS(CASE_LIGHT) && ENABLED(CASE_LIGHT_ENABLE)) // Digital control -#define HAS_MICROSTEPS (HAS_X_MICROSTEPS || HAS_Y_MICROSTEPS || HAS_Z_MICROSTEPS || HAS_E0_MICROSTEPS || HAS_E1_MICROSTEPS || HAS_E2_MICROSTEPS || HAS_E3_MICROSTEPS || HAS_E4_MICROSTEPS) +#define HAS_MICROSTEPS (HAS_X_MICROSTEPS || HAS_Y_MICROSTEPS || HAS_Z_MICROSTEPS || HAS_E0_MICROSTEPS || HAS_E1_MICROSTEPS || HAS_E2_MICROSTEPS || HAS_E3_MICROSTEPS || HAS_E4_MICROSTEPS || HAS_E5_MICROSTEPS) #define HAS_STEPPER_RESET (PIN_EXISTS(STEPPER_RESET)) #define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS)) #define HAS_MOTOR_CURRENT_PWM (PIN_EXISTS(MOTOR_CURRENT_PWM_XY) || PIN_EXISTS(MOTOR_CURRENT_PWM_Z) || PIN_EXISTS(MOTOR_CURRENT_PWM_E)) @@ -1022,6 +1051,9 @@ #define WRITE_HEATER_3(v) WRITE(HEATER_3_PIN, (v) ^ HEATER_3_INVERTING) #if HOTENDS > 4 #define WRITE_HEATER_4(v) WRITE(HEATER_4_PIN, (v) ^ HEATER_4_INVERTING) + #if HOTENDS > 5 + #define WRITE_HEATER_5(v) WRITE(HEATER_5_PIN, (v) ^ HEATER_5_INVERTING) + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index b13952ec1d..49505543ec 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -273,19 +273,19 @@ #elif defined(HAVE_L6470DRIVER) #error "HAVE_L6470DRIVER is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h." #elif defined(X_IS_TMC) || defined(X2_IS_TMC) || defined(Y_IS_TMC) || defined(Y2_IS_TMC) || defined(Z_IS_TMC) || defined(Z2_IS_TMC) || defined(Z3_IS_TMC) \ - || defined(E0_IS_TMC) || defined(E1_IS_TMC) || defined(E2_IS_TMC) || defined(E3_IS_TMC) || defined(E4_IS_TMC) + || defined(E0_IS_TMC) || defined(E1_IS_TMC) || defined(E2_IS_TMC) || defined(E3_IS_TMC) || defined(E4_IS_TMC) || defined(E5_IS_TMC) #error "[AXIS]_IS_TMC is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h." #elif defined(X_IS_TMC26X) || defined(X2_IS_TMC26X) || defined(Y_IS_TMC26X) || defined(Y2_IS_TMC26X) || defined(Z_IS_TMC26X) || defined(Z2_IS_TMC26X) || defined(Z3_IS_TMC26X) \ - || defined(E0_IS_TMC26X) || defined(E1_IS_TMC26X) || defined(E2_IS_TMC26X) || defined(E3_IS_TMC26X) || defined(E4_IS_TMC26X) + || defined(E0_IS_TMC26X) || defined(E1_IS_TMC26X) || defined(E2_IS_TMC26X) || defined(E3_IS_TMC26X) || defined(E4_IS_TMC26X) || defined(E5_IS_TMC26X) #error "[AXIS]_IS_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h." #elif defined(X_IS_TMC2130) || defined(X2_IS_TMC2130) || defined(Y_IS_TMC2130) || defined(Y2_IS_TMC2130) || defined(Z_IS_TMC2130) || defined(Z2_IS_TMC2130) || defined(Z3_IS_TMC2130) \ - || defined(E0_IS_TMC2130) || defined(E1_IS_TMC2130) || defined(E2_IS_TMC2130) || defined(E3_IS_TMC2130) || defined(E4_IS_TMC2130) + || defined(E0_IS_TMC2130) || defined(E1_IS_TMC2130) || defined(E2_IS_TMC2130) || defined(E3_IS_TMC2130) || defined(E4_IS_TMC2130) || defined(E5_IS_TMC2130) #error "[AXIS]_IS_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h." #elif defined(X_IS_TMC2208) || defined(X2_IS_TMC2208) || defined(Y_IS_TMC2208) || defined(Y2_IS_TMC2208) || defined(Z_IS_TMC2208) || defined(Z2_IS_TMC2208) || defined(Z3_IS_TMC2208) \ - || defined(E0_IS_TMC2208) || defined(E1_IS_TMC2208) || defined(E2_IS_TMC2208) || defined(E3_IS_TMC2208) || defined(E4_IS_TMC2208) + || defined(E0_IS_TMC2208) || defined(E1_IS_TMC2208) || defined(E2_IS_TMC2208) || defined(E3_IS_TMC2208) || defined(E4_IS_TMC2208) || defined(E5_IS_TMC2208) #error "[AXIS]_IS_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. Please update your Configuration.h." #elif defined(X_IS_L6470) || defined(X2_IS_L6470) || defined(Y_IS_L6470) || defined(Y2_IS_L6470) || defined(Z_IS_L6470) || defined(Z2_IS_L6470) || defined(Z3_IS_L6470) \ - || defined(E0_IS_L6470) || defined(E1_IS_L6470) || defined(E2_IS_L6470) || defined(E3_IS_L6470) || defined(E4_IS_L6470) + || defined(E0_IS_L6470) || defined(E1_IS_L6470) || defined(E2_IS_L6470) || defined(E3_IS_L6470) || defined(E4_IS_L6470) || defined(E5_IS_L6470) #error "[AXIS]_IS_L6470 is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h." #elif defined(AUTOMATIC_CURRENT_CONTROL) #error "AUTOMATIC_CURRENT_CONTROL is now MONITOR_DRIVER_STATUS. Please update your configuration." @@ -534,6 +534,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 3 requires FIL_RUNOUT4_PIN." #elif NUM_RUNOUT_SENSORS > 4 && !PIN_EXISTS(FIL_RUNOUT5) #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 4 requires FIL_RUNOUT5_PIN." + #elif NUM_RUNOUT_SENSORS > 5 && !PIN_EXISTS(FIL_RUNOUT6) + #error "FILAMENT_RUNOUT_SENSOR with NUM_RUNOUT_SENSORS > 5 requires FIL_RUNOUT6_PIN." #elif DISABLED(SDSUPPORT) && DISABLED(PRINTJOB_TIMER_AUTOSTART) #error "FILAMENT_RUNOUT_SENSOR requires SDSUPPORT or PRINTJOB_TIMER_AUTOSTART." #elif DISABLED(ADVANCED_PAUSE_FEATURE) @@ -1242,13 +1244,28 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #elif !PIN_EXISTS(TEMP_4) #error "TEMP_4_PIN not defined for this board." #endif + #if HOTENDS > 5 + #if TEMP_SENSOR_5 == 0 + #error "TEMP_SENSOR_5 is required with 5 HOTENDS." + #elif !HAS_HEATER_5 + #error "HEATER_5_PIN not defined for this board." + #elif !PIN_EXISTS(TEMP_5) + #error "TEMP_5_PIN not defined for this board." + #endif + #elif TEMP_SENSOR_5 != 0 + #error "TEMP_SENSOR_5 shouldn't be set with only 5 HOTENDS." + #endif #elif TEMP_SENSOR_4 != 0 #error "TEMP_SENSOR_4 shouldn't be set with only 4 HOTENDS." + #elif TEMP_SENSOR_5 != 0 + #error "TEMP_SENSOR_5 shouldn't be set with only 5 HOTENDS." #endif #elif TEMP_SENSOR_3 != 0 #error "TEMP_SENSOR_3 shouldn't be set with only 3 HOTENDS." #elif TEMP_SENSOR_4 != 0 #error "TEMP_SENSOR_4 shouldn't be set with only 3 HOTENDS." + #elif TEMP_SENSOR_5 != 0 + #error "TEMP_SENSOR_5 shouldn't be set with only 4 HOTENDS." #endif #elif TEMP_SENSOR_2 != 0 #error "TEMP_SENSOR_2 shouldn't be set with only 2 HOTENDS." @@ -1256,6 +1273,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "TEMP_SENSOR_3 shouldn't be set with only 2 HOTENDS." #elif TEMP_SENSOR_4 != 0 #error "TEMP_SENSOR_4 shouldn't be set with only 2 HOTENDS." + #elif TEMP_SENSOR_5 != 0 + #error "TEMP_SENSOR_5 shouldn't be set with only 2 HOTENDS." #endif #elif TEMP_SENSOR_1 != 0 && DISABLED(TEMP_SENSOR_1_AS_REDUNDANT) #error "TEMP_SENSOR_1 shouldn't be set with only 1 HOTEND." @@ -1265,6 +1284,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "TEMP_SENSOR_3 shouldn't be set with only 1 HOTEND." #elif TEMP_SENSOR_4 != 0 #error "TEMP_SENSOR_4 shouldn't be set with only 1 HOTEND." +#elif TEMP_SENSOR_5 != 0 + #error "TEMP_SENSOR_5 shouldn't be set with only 1 HOTEND." #endif #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT) && TEMP_SENSOR_1 == 0 @@ -1306,23 +1327,36 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, * Test Extruder Stepper Pins */ #if DISABLED(MK2_MULTIPLEXER) // MK2_MULTIPLEXER uses E0 stepper only - #if E_STEPPERS > 4 - #if !(PIN_EXISTS(E4_STEP) && PIN_EXISTS(E4_DIR) && PIN_EXISTS(E4_ENABLE)) - #error "E4_STEP_PIN, E4_DIR_PIN, or E4_ENABLE_PIN not defined for this board." - #endif - #elif E_STEPPERS > 3 - #if !(PIN_EXISTS(E3_STEP) && PIN_EXISTS(E3_DIR) && PIN_EXISTS(E3_ENABLE)) - #error "E3_STEP_PIN, E3_DIR_PIN, or E3_ENABLE_PIN not defined for this board." - #endif - #elif E_STEPPERS > 2 - #if !(PIN_EXISTS(E2_STEP) && PIN_EXISTS(E2_DIR) && PIN_EXISTS(E2_ENABLE)) - #error "E2_STEP_PIN, E2_DIR_PIN, or E2_ENABLE_PIN not defined for this board." - #endif - #elif E_STEPPERS > 1 - #if !(PIN_EXISTS(E1_STEP) && PIN_EXISTS(E1_DIR) && PIN_EXISTS(E1_ENABLE)) - #error "E1_STEP_PIN, E1_DIR_PIN, or E1_ENABLE_PIN not defined for this board." + #if E_STEPPERS + #if !(PIN_EXISTS(E0_STEP) && PIN_EXISTS(E0_DIR) && PIN_EXISTS(E0_ENABLE)) + #error "E0_STEP_PIN, E0_DIR_PIN, or E0_ENABLE_PIN not defined for this board." #endif - #endif + #if E_STEPPERS > 1 + #if !(PIN_EXISTS(E1_STEP) && PIN_EXISTS(E1_DIR) && PIN_EXISTS(E1_ENABLE)) + #error "E1_STEP_PIN, E1_DIR_PIN, or E1_ENABLE_PIN not defined for this board." + #endif + #if E_STEPPERS > 2 + #if !(PIN_EXISTS(E2_STEP) && PIN_EXISTS(E2_DIR) && PIN_EXISTS(E2_ENABLE)) + #error "E2_STEP_PIN, E2_DIR_PIN, or E2_ENABLE_PIN not defined for this board." + #endif + #if E_STEPPERS > 3 + #if !(PIN_EXISTS(E3_STEP) && PIN_EXISTS(E3_DIR) && PIN_EXISTS(E3_ENABLE)) + #error "E3_STEP_PIN, E3_DIR_PIN, or E3_ENABLE_PIN not defined for this board." + #endif + #if E_STEPPERS > 4 + #if !(PIN_EXISTS(E4_STEP) && PIN_EXISTS(E4_DIR) && PIN_EXISTS(E4_ENABLE)) + #error "E4_STEP_PIN, E4_DIR_PIN, or E4_ENABLE_PIN not defined for this board." + #endif + #if E_STEPPERS > 5 + #if !(PIN_EXISTS(E5_STEP) && PIN_EXISTS(E5_DIR) && PIN_EXISTS(E5_ENABLE)) + #error "E5_STEP_PIN, E5_DIR_PIN, or E5_ENABLE_PIN not defined for this board." + #endif + #endif // E_STEPPERS > 5 + #endif // E_STEPPERS > 4 + #endif // E_STEPPERS > 3 + #endif // E_STEPPERS > 2 + #endif // E_STEPPERS > 1 + #endif // E_STEPPERS #endif /** @@ -1625,6 +1659,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "E3_CS_PIN is required for TMC2130. Define E3_CS_PIN in Configuration_adv.h." #elif AXIS_DRIVER_TYPE(E4, TMC2130) && !PIN_EXISTS(E4_CS) #error "E4_CS_PIN is required for TMC2130. Define E4_CS_PIN in Configuration_adv.h." +#elif AXIS_DRIVER_TYPE(E5, TMC2130) && !PIN_EXISTS(E5_CS) + #error "E5_CS_PIN is required for TMC2130. Define E5_CS_PIN in Configuration_adv.h." #endif /** @@ -1642,8 +1678,9 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, || defined(E1_HARDWARE_SERIAL) \ || defined(E2_HARDWARE_SERIAL) \ || defined(E3_HARDWARE_SERIAL) \ - || defined(E4_HARDWARE_SERIAL) ) - #error "select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE." + || defined(E4_HARDWARE_SERIAL) \ + || defined(E5_HARDWARE_SERIAL) ) + #error "Select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE." #endif /** @@ -1660,7 +1697,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, || defined(E1_HARDWARE_SERIAL) \ || defined(E2_HARDWARE_SERIAL) \ || defined(E3_HARDWARE_SERIAL) \ - || defined(E4_HARDWARE_SERIAL) ) + || defined(E4_HARDWARE_SERIAL) \ + || defined(E5_HARDWARE_SERIAL) ) #error "TMC2208 Software Serial is supported only on AVR and LPC1768 platforms." #endif diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h index 679ed1cf3f..41bd272510 100644 --- a/Marlin/src/lcd/language/language_an.h +++ b/Marlin/src/lcd/language/language_an.h @@ -130,6 +130,7 @@ #define MSG_E3STEPS _UxGT("E3 trangos/mm") #define MSG_E4STEPS _UxGT("E4 trangos/mm") #define MSG_E5STEPS _UxGT("E5 trangos/mm") +#define MSG_E6STEPS _UxGT("E6 trangos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimiento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h index cd86dbe6b2..558a98e351 100644 --- a/Marlin/src/lcd/language/language_bg.h +++ b/Marlin/src/lcd/language/language_bg.h @@ -99,6 +99,7 @@ #define MSG_E3STEPS _UxGT("E3 стъпки/mm") #define MSG_E4STEPS _UxGT("E4 стъпки/mm") #define MSG_E5STEPS _UxGT("E5 стъпки/mm") +#define MSG_E6STEPS _UxGT("E6 стъпки/mm") #define MSG_TEMPERATURE _UxGT("Температура") #define MSG_MOTION _UxGT("Движение") #define MSG_FILAMENT _UxGT("Нишка") diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h index 31007b7352..8ff6bbf3cf 100644 --- a/Marlin/src/lcd/language/language_ca.h +++ b/Marlin/src/lcd/language/language_ca.h @@ -132,6 +132,7 @@ #define MSG_E3STEPS _UxGT("E3passos/mm") #define MSG_E4STEPS _UxGT("E4passos/mm") #define MSG_E5STEPS _UxGT("E5passos/mm") +#define MSG_E6STEPS _UxGT("E6passos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Moviment") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index bd57e30813..1a42aa44da 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -233,6 +233,7 @@ #define MSG_E3STEPS _UxGT("E3kroků/mm") #define MSG_E4STEPS _UxGT("E4kroků/mm") #define MSG_E5STEPS _UxGT("E5kroků/mm") +#define MSG_E6STEPS _UxGT("E6kroků/mm") #define MSG_TEMPERATURE _UxGT("Teplota") #define MSG_MOTION _UxGT("Pohyb") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h index 0782b96531..1bd78c332c 100644 --- a/Marlin/src/lcd/language/language_da.h +++ b/Marlin/src/lcd/language/language_da.h @@ -130,6 +130,7 @@ #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") #define MSG_E5STEPS _UxGT("E5steps/mm") +#define MSG_E6STEPS _UxGT("E6steps/mm") #define MSG_TEMPERATURE _UxGT("Temperatur") #define MSG_MOTION _UxGT("Bevægelse") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h index 75d1d7aa2a..d5f9981284 100644 --- a/Marlin/src/lcd/language/language_de.h +++ b/Marlin/src/lcd/language/language_de.h @@ -145,6 +145,7 @@ #define MSG_E3STEPS _UxGT("E3 Steps/mm") #define MSG_E4STEPS _UxGT("E4 Steps/mm") #define MSG_E5STEPS _UxGT("E5 Steps/mm") +#define MSG_E6STEPS _UxGT("E6 Steps/mm") #define MSG_TEMPERATURE _UxGT("Temperatur") #define MSG_MOTION _UxGT("Bewegung") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 6638a96d60..78280b8977 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -630,6 +630,12 @@ #ifndef MSG_E5STEPS #define MSG_E5STEPS _UxGT("E5steps/mm") #endif +#ifndef MSG_E6STEPS + #define MSG_E6STEPS _UxGT("E6steps/mm") +#endif +#ifndef MSG_E6STEPS + #define MSG_E6STEPS _UxGT("E6steps/mm") +#endif #ifndef MSG_TEMPERATURE #define MSG_TEMPERATURE _UxGT("Temperature") #endif diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h index 101f38220b..84125f96b8 100644 --- a/Marlin/src/lcd/language/language_es.h +++ b/Marlin/src/lcd/language/language_es.h @@ -125,6 +125,7 @@ #define MSG_E3STEPS _UxGT("E3 pasos/mm") #define MSG_E4STEPS _UxGT("E4 pasos/mm") #define MSG_E5STEPS _UxGT("E5 pasos/mm") +#define MSG_E6STEPS _UxGT("E6 pasos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimiento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h index 999855ef37..b0b6605575 100644 --- a/Marlin/src/lcd/language/language_eu.h +++ b/Marlin/src/lcd/language/language_eu.h @@ -224,6 +224,7 @@ #define MSG_E3STEPS _UxGT("E3 pausoak/mm") #define MSG_E4STEPS _UxGT("E4 pausoak/mm") #define MSG_E5STEPS _UxGT("E5 pausoak/mm") +#define MSG_E6STEPS _UxGT("E6 pausoak/mm") #define MSG_TEMPERATURE _UxGT("Tenperatura") #define MSG_MOTION _UxGT("Mugimendua") #define MSG_FILAMENT _UxGT("Harizpia") diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h index 4a79946f94..318d310459 100644 --- a/Marlin/src/lcd/language/language_fi.h +++ b/Marlin/src/lcd/language/language_fi.h @@ -120,6 +120,7 @@ #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") #define MSG_E5STEPS _UxGT("E5steps/mm") +#define MSG_E6STEPS _UxGT("E6steps/mm") #define MSG_TEMPERATURE _UxGT("Lämpötila") #define MSG_MOTION _UxGT("Liike") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h index 0973f64132..cf6d85e504 100644 --- a/Marlin/src/lcd/language/language_fr.h +++ b/Marlin/src/lcd/language/language_fr.h @@ -228,6 +228,7 @@ #define MSG_E3STEPS _UxGT("E3 pas/mm") #define MSG_E4STEPS _UxGT("E4 pas/mm") #define MSG_E5STEPS _UxGT("E5 pas/mm") +#define MSG_E6STEPS _UxGT("E6 pas/mm") #define MSG_TEMPERATURE _UxGT("Température") #define MSG_MOTION _UxGT("Mouvement") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h index 960cc8cace..892f8b4a98 100644 --- a/Marlin/src/lcd/language/language_gl.h +++ b/Marlin/src/lcd/language/language_gl.h @@ -129,6 +129,7 @@ #define MSG_E3STEPS _UxGT("E3 pasos/mm") #define MSG_E4STEPS _UxGT("E4 pasos/mm") #define MSG_E5STEPS _UxGT("E5 pasos/mm") +#define MSG_E6STEPS _UxGT("E6 pasos/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movemento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h index efdeae8b5b..1e972778de 100644 --- a/Marlin/src/lcd/language/language_hr.h +++ b/Marlin/src/lcd/language/language_hr.h @@ -129,6 +129,7 @@ #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") #define MSG_E5STEPS _UxGT("E5steps/mm") +#define MSG_E6STEPS _UxGT("E6steps/mm") #define MSG_TEMPERATURE _UxGT("Temperature") #define MSG_MOTION _UxGT("Gibanje") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 8609c25acd..65edf237ce 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -232,6 +232,7 @@ #define MSG_E3STEPS _UxGT("E3passi/mm") #define MSG_E4STEPS _UxGT("E4passi/mm") #define MSG_E5STEPS _UxGT("E5passi/mm") +#define MSG_E6STEPS _UxGT("E6passi/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h index 128bceaf41..44ac63e3ab 100644 --- a/Marlin/src/lcd/language/language_nl.h +++ b/Marlin/src/lcd/language/language_nl.h @@ -136,6 +136,7 @@ #define MSG_E3STEPS _UxGT("E3steps/mm") #define MSG_E4STEPS _UxGT("E4steps/mm") #define MSG_E5STEPS _UxGT("E5steps/mm") +#define MSG_E6STEPS _UxGT("E6steps/mm") #define MSG_TEMPERATURE _UxGT("Temperatuur") #define MSG_MOTION _UxGT("Beweging") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h index 6ac55ff47e..07fbc11954 100644 --- a/Marlin/src/lcd/language/language_pl.h +++ b/Marlin/src/lcd/language/language_pl.h @@ -129,6 +129,7 @@ #define MSG_E3STEPS _UxGT("krokiE3/mm") #define MSG_E4STEPS _UxGT("krokiE4/mm") #define MSG_E5STEPS _UxGT("krokiE5/mm") +#define MSG_E6STEPS _UxGT("krokiE6/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Ruch") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_pt-br.h b/Marlin/src/lcd/language/language_pt-br.h index 0d7ffe84c4..0763127345 100644 --- a/Marlin/src/lcd/language/language_pt-br.h +++ b/Marlin/src/lcd/language/language_pt-br.h @@ -237,6 +237,7 @@ #define MSG_E3STEPS _UxGT("E3/mm") #define MSG_E4STEPS _UxGT("E4/mm") #define MSG_E5STEPS _UxGT("E5/mm") +#define MSG_E6STEPS _UxGT("E6/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h index a3e1256f6a..67500a087f 100644 --- a/Marlin/src/lcd/language/language_pt.h +++ b/Marlin/src/lcd/language/language_pt.h @@ -126,6 +126,7 @@ #define MSG_E3STEPS _UxGT("E3 passo/mm") #define MSG_E4STEPS _UxGT("E4 passo/mm") #define MSG_E5STEPS _UxGT("E5 passo/mm") +#define MSG_E6STEPS _UxGT("E6 passo/mm") #define MSG_TEMPERATURE _UxGT("Temperatura") #define MSG_MOTION _UxGT("Movimento") #define MSG_FILAMENT _UxGT("Filamento") diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h index 1f419607bd..e0135a884b 100644 --- a/Marlin/src/lcd/language/language_ru.h +++ b/Marlin/src/lcd/language/language_ru.h @@ -227,6 +227,7 @@ #define MSG_E3STEPS _UxGT("E3шаг/мм") #define MSG_E4STEPS _UxGT("E4шаг/мм") #define MSG_E5STEPS _UxGT("E5шаг/мм") +#define MSG_E6STEPS _UxGT("E6шаг/мм") #define MSG_TEMPERATURE _UxGT("Температура") #define MSG_MOTION _UxGT("Движение") #define MSG_FILAMENT _UxGT("Филамент") diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h index 271830087c..5e18b09d1e 100644 --- a/Marlin/src/lcd/language/language_sk.h +++ b/Marlin/src/lcd/language/language_sk.h @@ -246,6 +246,7 @@ #define MSG_E3STEPS _UxGT("E3krokov/mm") #define MSG_E4STEPS _UxGT("E4krokov/mm") #define MSG_E5STEPS _UxGT("E5krokov/mm") +#define MSG_E6STEPS _UxGT("E6krokov/mm") #define MSG_TEMPERATURE _UxGT("Teplota") #define MSG_MOTION _UxGT("Pohyb") #define MSG_FILAMENT _UxGT("Filament") diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h index 7b15a57000..6134b868ac 100644 --- a/Marlin/src/lcd/language/language_tr.h +++ b/Marlin/src/lcd/language/language_tr.h @@ -135,7 +135,8 @@ #define MSG_E2STEPS _UxGT("E2steps/mm") // E2steps/mm #define MSG_E3STEPS _UxGT("E3steps/mm") // E3steps/mm #define MSG_E4STEPS _UxGT("E4steps/mm") // E4steps/mm -#define MSG_E5STEPS _UxGT("E5steps/mm") // E4steps/mm +#define MSG_E5STEPS _UxGT("E5steps/mm") // E5steps/mm +#define MSG_E6STEPS _UxGT("E6steps/mm") // E6steps/mm #define MSG_TEMPERATURE _UxGT("Sıcaklık") // Sıcaklık #define MSG_MOTION _UxGT("Hareket") // Hareket #define MSG_FILAMENT _UxGT("Filaman") // Filaman diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h index 384a90c669..6236320589 100644 --- a/Marlin/src/lcd/language/language_uk.h +++ b/Marlin/src/lcd/language/language_uk.h @@ -129,6 +129,7 @@ #define MSG_E3STEPS _UxGT("E3кроків/мм") #define MSG_E4STEPS _UxGT("E4кроків/мм") #define MSG_E5STEPS _UxGT("E5кроків/мм") +#define MSG_E6STEPS _UxGT("E6кроків/мм") #define MSG_TEMPERATURE _UxGT("Температура") #define MSG_MOTION _UxGT("Рух") #define MSG_FILAMENT _UxGT("Волокно") diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h index 6cf63f6e1d..020073ddd0 100644 --- a/Marlin/src/lcd/language/language_zh_CN.h +++ b/Marlin/src/lcd/language/language_zh_CN.h @@ -226,6 +226,7 @@ #define MSG_E3STEPS _UxGT("挤出机3步数/mm") //"E3steps/mm" #define MSG_E4STEPS _UxGT("挤出机4步数/mm") //"E4steps/mm" #define MSG_E5STEPS _UxGT("挤出机5步数/mm") //"E5steps/mm" +#define MSG_E6STEPS _UxGT("挤出机6步数/mm") //"E6steps/mm" #define MSG_TEMPERATURE _UxGT("温度") //"Temperature" #define MSG_MOTION _UxGT("运动") //"Motion" #define MSG_FILAMENT _UxGT("丝料测容") //"Filament" lcd_control_volumetric_menu diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h index 8455843773..8500a4f9a8 100644 --- a/Marlin/src/lcd/language/language_zh_TW.h +++ b/Marlin/src/lcd/language/language_zh_TW.h @@ -226,6 +226,7 @@ #define MSG_E3STEPS _UxGT("擠出機3步數/mm") //"E3steps/mm" #define MSG_E4STEPS _UxGT("擠出機4步數/mm") //"E4steps/mm" #define MSG_E5STEPS _UxGT("擠出機5步數/mm") //"E5steps/mm" +#define MSG_E6STEPS _UxGT("擠出機6步數/mm") //"E6steps/mm" #define MSG_TEMPERATURE _UxGT("溫度") //"Temperature" #define MSG_MOTION _UxGT("運作") //"Motion" #define MSG_FILAMENT _UxGT("絲料測容") //"Filament" lcd_control_volumetric_menu diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 943edc153e..070d127850 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -1402,6 +1402,9 @@ void lcd_quick_feedback(const bool clear_buttons) { void watch_temp_callback_E3() { _WATCH_FUNC(3); } #if HOTENDS > 4 void watch_temp_callback_E4() { _WATCH_FUNC(4); } + #if HOTENDS > 5 + void watch_temp_callback_E5() { _WATCH_FUNC(5); } + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1434,6 +1437,9 @@ void lcd_quick_feedback(const bool clear_buttons) { inline void _lcd_refresh_e_factor_3() { planner.refresh_e_factor(3); } #if EXTRUDERS > 4 inline void _lcd_refresh_e_factor_4() { planner.refresh_e_factor(4); } + #if EXTRUDERS > 5 + inline void _lcd_refresh_e_factor_5() { planner.refresh_e_factor(5); } + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -1486,6 +1492,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N4, &thermalManager.target_temperature[3], 0, HEATER_3_MAXTEMP - 15, watch_temp_callback_E3); #if HOTENDS > 4 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N5, &thermalManager.target_temperature[4], 0, HEATER_4_MAXTEMP - 15, watch_temp_callback_E4); + #if HOTENDS > 5 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N6, &thermalManager.target_temperature[5], 0, HEATER_5_MAXTEMP - 15, watch_temp_callback_E5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1538,6 +1547,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N4, &planner.flow_percentage[3], 10, 999, _lcd_refresh_e_factor_3); #if EXTRUDERS > 4 MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N5, &planner.flow_percentage[4], 10, 999, _lcd_refresh_e_factor_4); + #if EXTRUDERS > 5 + MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N6, &planner.flow_percentage[5], 10, 999, _lcd_refresh_e_factor_5); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -1672,6 +1684,14 @@ void lcd_quick_feedback(const bool clear_buttons) { void lcd_preheat_m1_e4() { _lcd_preheat(4, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } void lcd_preheat_m2_e4() { _lcd_preheat(4, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } #endif + #if HOTENDS > 5 + void lcd_preheat_m1_e5_only() { _lcd_preheat(5, lcd_preheat_hotend_temp[0], -1, lcd_preheat_fan_speed[0]); } + void lcd_preheat_m2_e5_only() { _lcd_preheat(5, lcd_preheat_hotend_temp[1], -1, lcd_preheat_fan_speed[1]); } + #if HAS_HEATED_BED + void lcd_preheat_m1_e5() { _lcd_preheat(5, lcd_preheat_hotend_temp[0], lcd_preheat_bed_temp[0], lcd_preheat_fan_speed[0]); } + void lcd_preheat_m2_e5() { _lcd_preheat(5, lcd_preheat_hotend_temp[1], lcd_preheat_bed_temp[1], lcd_preheat_fan_speed[1]); } + #endif + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1685,6 +1705,9 @@ void lcd_quick_feedback(const bool clear_buttons) { thermalManager.setTargetHotend(lcd_preheat_hotend_temp[0], 3); #if HOTENDS > 4 thermalManager.setTargetHotend(lcd_preheat_hotend_temp[0], 4); + #if HOTENDS > 5 + thermalManager.setTargetHotend(lcd_preheat_hotend_temp[0], 5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1704,6 +1727,9 @@ void lcd_quick_feedback(const bool clear_buttons) { thermalManager.setTargetHotend(lcd_preheat_hotend_temp[1], 3); #if HOTENDS > 4 thermalManager.setTargetHotend(lcd_preheat_hotend_temp[1], 4); + #if HOTENDS > 5 + thermalManager.setTargetHotend(lcd_preheat_hotend_temp[1], 5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1765,6 +1791,14 @@ void lcd_quick_feedback(const bool clear_buttons) { #else MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H5, lcd_preheat_m1_e4_only); #endif + #if HOTENDS > 5 + #if HAS_HEATED_BED + MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H6, lcd_preheat_m1_e5); + MENU_ITEM(function, MSG_PREHEAT_1_END " " MSG_E6, lcd_preheat_m1_e5_only); + #else + MENU_ITEM(function, MSG_PREHEAT_1_N MSG_H6, lcd_preheat_m1_e5_only); + #endif + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1817,6 +1851,14 @@ void lcd_quick_feedback(const bool clear_buttons) { #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4_only); #endif + #if HOTENDS > 5 + #if HAS_HEATED_BED + MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5); + MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E6, lcd_preheat_m2_e5_only); + #else + MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5_only); + #endif + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -3061,6 +3103,9 @@ void lcd_quick_feedback(const bool clear_buttons) { case 3: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E4); break; #if E_MANUAL > 4 case 4: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E5); break; + #if E_MANUAL > 5 + case 5: pos_label = PSTR(MSG_MOVE_E MSG_MOVE_E6); break; + #endif // E_MANUAL > 5 #endif // E_MANUAL > 4 #endif // E_MANUAL > 3 #endif // E_MANUAL > 2 @@ -3087,6 +3132,9 @@ void lcd_quick_feedback(const bool clear_buttons) { void lcd_move_e3() { _lcd_move_e(3); } #if E_MANUAL > 4 void lcd_move_e4() { _lcd_move_e(4); } + #if E_MANUAL > 5 + void lcd_move_e5() { _lcd_move_e(5); } + #endif // E_MANUAL > 5 #endif // E_MANUAL > 4 #endif // E_MANUAL > 3 #endif // E_MANUAL > 2 @@ -3147,6 +3195,9 @@ void lcd_quick_feedback(const bool clear_buttons) { void lcd_move_get_e3_amount() { _lcd_move_distance_menu(E_AXIS, lcd_move_e3); } #if E_MANUAL > 4 void lcd_move_get_e4_amount() { _lcd_move_distance_menu(E_AXIS, lcd_move_e4); } + #if E_MANUAL > 5 + void lcd_move_get_e5_amount() { _lcd_move_distance_menu(E_AXIS, lcd_move_e5); } + #endif // E_MANUAL > 5 #endif // E_MANUAL > 4 #endif // E_MANUAL > 3 #endif // E_MANUAL > 2 @@ -3199,7 +3250,16 @@ void lcd_quick_feedback(const bool clear_buttons) { #if ENABLED(SWITCHING_EXTRUDER) || ENABLED(SWITCHING_NOZZLE) - #if EXTRUDERS == 4 + #if EXTRUDERS == 6 + switch (active_extruder) { + case 0: MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1")); break; + case 1: MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0")); break; + case 2: MENU_ITEM(gcode, MSG_SELECT " " MSG_E4, PSTR("T3")); break; + case 3: MENU_ITEM(gcode, MSG_SELECT " " MSG_E3, PSTR("T2")); break; + case 4: MENU_ITEM(gcode, MSG_SELECT " " MSG_E6, PSTR("T5")); break; + case 5: MENU_ITEM(gcode, MSG_SELECT " " MSG_E5, PSTR("T4")); break; + } + #elif EXTRUDERS == 5 || EXTRUDERS == 4 switch (active_extruder) { case 0: MENU_ITEM(gcode, MSG_SELECT " " MSG_E2, PSTR("T1")); break; case 1: MENU_ITEM(gcode, MSG_SELECT " " MSG_E1, PSTR("T0")); break; @@ -3253,6 +3313,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E4, lcd_move_get_e3_amount); #if E_MANUAL > 4 MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E5, lcd_move_get_e4_amount); + #if E_MANUAL > 5 + MENU_ITEM(submenu, MSG_MOVE_E MSG_MOVE_E6, lcd_move_get_e5_amount); + #endif // E_MANUAL > 5 #endif // E_MANUAL > 4 #endif // E_MANUAL > 3 #endif // E_MANUAL > 2 @@ -3412,6 +3475,9 @@ void lcd_quick_feedback(const bool clear_buttons) { DEFINE_PIDTEMP_FUNCS(3); #if HOTENDS > 4 DEFINE_PIDTEMP_FUNCS(4); + #if HOTENDS > 5 + DEFINE_PIDTEMP_FUNCS(5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -3444,6 +3510,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N4, &thermalManager.target_temperature[3], 0, HEATER_3_MAXTEMP - 15, watch_temp_callback_E3); #if HOTENDS > 4 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N5, &thermalManager.target_temperature[4], 0, HEATER_4_MAXTEMP - 15, watch_temp_callback_E4); + #if HOTENDS > 5 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N6, &thermalManager.target_temperature[5], 0, HEATER_5_MAXTEMP - 15, watch_temp_callback_E5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -3568,6 +3637,9 @@ void lcd_quick_feedback(const bool clear_buttons) { PID_MENU_ITEMS(" " MSG_E4, 3); #if HOTENDS > 4 PID_MENU_ITEMS(" " MSG_E5, 4); + #if HOTENDS > 5 + PID_MENU_ITEMS(" " MSG_E6, 5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -3583,7 +3655,10 @@ void lcd_quick_feedback(const bool clear_buttons) { #if DISABLED(SLIM_LCD_MENUS) void _lcd_configuration_temperature_preheat_settings_menu(const uint8_t material) { - #if HOTENDS > 4 + #if HOTENDS > 5 + #define MINTEMP_ALL MIN5(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP, HEATER_3_MINTEMP, HEATER_4_MINTEMP, HEATER_5_MINTEMP) + #define MAXTEMP_ALL MAX5(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP, HEATER_5_MAXTEMP) + #elif HOTENDS > 4 #define MINTEMP_ALL MIN5(HEATER_0_MINTEMP, HEATER_1_MINTEMP, HEATER_2_MINTEMP, HEATER_3_MINTEMP, HEATER_4_MINTEMP) #define MAXTEMP_ALL MAX5(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP) #elif HOTENDS > 3 @@ -3639,6 +3714,9 @@ void lcd_quick_feedback(const bool clear_buttons) { void _reset_e3_acceleration_rate() { _reset_e_acceleration_rate(3); } #if E_STEPPERS > 4 void _reset_e4_acceleration_rate() { _reset_e_acceleration_rate(4); } + #if E_STEPPERS > 5 + void _reset_e5_acceleration_rate() { _reset_e_acceleration_rate(5); } + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -3660,6 +3738,9 @@ void lcd_quick_feedback(const bool clear_buttons) { void _planner_refresh_e3_positioning() { _planner_refresh_e_positioning(3); } #if E_STEPPERS > 4 void _planner_refresh_e4_positioning() { _planner_refresh_e_positioning(4); } + #if E_STEPPERS > 5 + void _planner_refresh_e5_positioning() { _planner_refresh_e_positioning(5); } + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -3685,6 +3766,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E4, &planner.max_feedrate_mm_s[E_AXIS + 3], 1, 999); #if E_STEPPERS > 4 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E5, &planner.max_feedrate_mm_s[E_AXIS + 4], 1, 999); + #if E_STEPPERS > 5 + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E6, &planner.max_feedrate_mm_s[E_AXIS + 5], 1, 999); + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -3730,6 +3814,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E4, &planner.max_acceleration_mm_per_s2[E_AXIS + 3], 100, 99000, _reset_e3_acceleration_rate); #if E_STEPPERS > 4 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E5, &planner.max_acceleration_mm_per_s2[E_AXIS + 4], 100, 99000, _reset_e4_acceleration_rate); + #if E_STEPPERS > 5 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E6, &planner.max_acceleration_mm_per_s2[E_AXIS + 5], 100, 99000, _reset_e5_acceleration_rate); + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -3787,6 +3874,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E4STEPS, &planner.axis_steps_per_mm[E_AXIS + 3], 5, 9999, _planner_refresh_e3_positioning); #if E_STEPPERS > 4 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E5STEPS, &planner.axis_steps_per_mm[E_AXIS + 4], 5, 9999, _planner_refresh_e4_positioning); + #if E_STEPPERS > 5 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E6STEPS, &planner.axis_steps_per_mm[E_AXIS + 5], 5, 9999, _planner_refresh_e5_positioning); + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -3865,6 +3955,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E4, &planner.extruder_advance_K[3], 0, 999); #if EXTRUDERS > 4 MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E5, &planner.extruder_advance_K[4], 0, 999); + #if EXTRUDERS > 5 + MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E6, &planner.extruder_advance_K[5], 0, 999); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -3914,6 +4007,9 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E4, &planner.extruder_advance_K[3], 0, 999); #if EXTRUDERS > 4 MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E5, &planner.extruder_advance_K[4], 0, 999); + #if EXTRUDERS > 5 + MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E6, &planner.extruder_advance_K[5], 0, 999); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -3932,10 +4028,13 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); #if EXTRUDERS > 2 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); - #if EXTRUDERS > 3 - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); - #if EXTRUDERS > 4 + #if EXTRUDERS > 3 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); + #if EXTRUDERS > 4 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); + #if EXTRUDERS > 5 + MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E6, &planner.filament_size[5], 1.5f, 3.25f, planner.calculate_volumetric_multipliers); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -3960,10 +4059,13 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E2, &filament_change_unload_length[1], 0, extrude_maxlength); #if EXTRUDERS > 2 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E3, &filament_change_unload_length[2], 0, extrude_maxlength); - #if EXTRUDERS > 3 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E4, &filament_change_unload_length[3], 0, extrude_maxlength); - #if EXTRUDERS > 4 + #if EXTRUDERS > 3 + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E4, &filament_change_unload_length[3], 0, extrude_maxlength); + #if EXTRUDERS > 4 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E5, &filament_change_unload_length[4], 0, extrude_maxlength); + #if EXTRUDERS > 5 + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E6, &filament_change_unload_length[5], 0, extrude_maxlength); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -3977,10 +4079,13 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E2, &filament_change_load_length[1], 0, extrude_maxlength); #if EXTRUDERS > 2 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E3, &filament_change_load_length[2], 0, extrude_maxlength); - #if EXTRUDERS > 3 - MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E4, &filament_change_load_length[3], 0, extrude_maxlength); - #if EXTRUDERS > 4 + #if EXTRUDERS > 3 + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E4, &filament_change_load_length[3], 0, extrude_maxlength); + #if EXTRUDERS > 4 MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E5, &filament_change_load_length[4], 0, extrude_maxlength); + #if EXTRUDERS > 5 + MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E6, &filament_change_load_length[5], 0, extrude_maxlength); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -4405,6 +4510,9 @@ void lcd_quick_feedback(const bool clear_buttons) { case 3: max_temp = HEATER_3_MAXTEMP; break; #if HOTENDS > 4 case 4: max_temp = HEATER_4_MAXTEMP; break; + #if HOTENDS > 5 + case 5: max_temp = HEATER_5_MAXTEMP; break; + #endif #endif #endif #endif @@ -4486,6 +4594,13 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM_P(submenu, msg4, lcd_temp_menu_e4_filament_change); else MENU_ITEM_P(gcode, msg4, PSTR("M600 B0 T4")); + #if E_STEPPERS > 5 + PGM_P msg5 = PSTR(MSG_FILAMENTCHANGE " " MSG_E6); + if (thermalManager.targetTooColdToExtrude(5)) + MENU_ITEM_P(submenu, msg5, lcd_temp_menu_e5_filament_change); + else + MENU_ITEM_P(gcode, msg5, PSTR("M600 B0 T5")); + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -4529,6 +4644,13 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM_P(submenu, msg4, lcd_temp_menu_e4_filament_load); else MENU_ITEM_P(gcode, msg4, PSTR("M701 T4")); + #if E_STEPPERS > 5 + PGM_P msg5 = PSTR(MSG_FILAMENTLOAD " " MSG_E6); + if (thermalManager.targetTooColdToExtrude(5)) + MENU_ITEM_P(submenu, msg5, lcd_temp_menu_e5_filament_load); + else + MENU_ITEM_P(gcode, msg5, PSTR("M701 T5")); + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -4551,6 +4673,9 @@ void lcd_quick_feedback(const bool clear_buttons) { && thermalManager.targetHotEnoughToExtrude(3) #if E_STEPPERS > 4 && thermalManager.targetHotEnoughToExtrude(4) + #if E_STEPPERS > 5 + && thermalManager.targetHotEnoughToExtrude(5) + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 @@ -4583,6 +4708,12 @@ void lcd_quick_feedback(const bool clear_buttons) { MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E5, PSTR("M702 T4")); else MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E5, lcd_temp_menu_e4_filament_unload); + #if E_STEPPERS > 5 + if (thermalManager.targetHotEnoughToExtrude(5)) + MENU_ITEM(gcode, MSG_FILAMENTUNLOAD " " MSG_E6, PSTR("M702 T5")); + else + MENU_ITEM(submenu, MSG_FILAMENTUNLOAD " " MSG_E6, lcd_temp_menu_e5_filament_unload); + #endif // E_STEPPERS > 5 #endif // E_STEPPERS > 4 #endif // E_STEPPERS > 3 #endif // E_STEPPERS > 2 diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index 3703d27b37..031bb2830a 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -37,7 +37,7 @@ */ // Change EEPROM version if the structure changes -#define EEPROM_VERSION "V57" +#define EEPROM_VERSION "V58" #define EEPROM_OFFSET 100 // Check the integrity of data offsets. @@ -213,7 +213,7 @@ typedef struct SettingsDataStruct { // // PIDTEMP // - PIDC hotendPID[MAX_EXTRUDERS]; // M301 En PIDC / M303 En U + PIDC hotendPID[HOTENDS]; // M301 En PIDC / M303 En U int16_t lpq_len; // M301 L @@ -244,14 +244,14 @@ typedef struct SettingsDataStruct { // !NO_VOLUMETRIC // bool parser_volumetric_enabled; // M200 D parser.volumetric_enabled - float planner_filament_size[MAX_EXTRUDERS]; // M200 T D planner.filament_size[] + float planner_filament_size[EXTRUDERS]; // M200 T D planner.filament_size[] // // HAS_TRINAMIC // #define TMC_AXES (MAX_EXTRUDERS + 7) - uint16_t tmc_stepper_current[TMC_AXES]; // M906 X Y Z X2 Y2 Z2 Z3 E0 E1 E2 E3 E4 - uint32_t tmc_hybrid_threshold[TMC_AXES]; // M913 X Y Z X2 Y2 Z2 Z3 E0 E1 E2 E3 E4 + uint16_t tmc_stepper_current[TMC_AXES]; // M906 X Y Z X2 Y2 Z2 Z3 E0 E1 E2 E3 E4 E5 + uint32_t tmc_hybrid_threshold[TMC_AXES]; // M913 X Y Z X2 Y2 Z2 Z3 E0 E1 E2 E3 E4 E5 int16_t tmc_sgt[XYZ]; // M914 X Y Z // @@ -279,8 +279,8 @@ typedef struct SettingsDataStruct { // // ADVANCED_PAUSE_FEATURE // - float filament_change_unload_length[MAX_EXTRUDERS], // M603 T U - filament_change_load_length[MAX_EXTRUDERS]; // M603 T L + float filament_change_unload_length[EXTRUDERS], // M603 T U + filament_change_load_length[EXTRUDERS]; // M603 T L } SettingsData; @@ -629,29 +629,23 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(lcd_preheat_bed_temp); EEPROM_WRITE(lcd_preheat_fan_speed); - for (uint8_t e = 0; e < MAX_EXTRUDERS; e++) { - + for (uint8_t e = 0; e < HOTENDS; e++) { #if ENABLED(PIDTEMP) - if (e < HOTENDS) { - EEPROM_WRITE(PID_PARAM(Kp, e)); - EEPROM_WRITE(PID_PARAM(Ki, e)); - EEPROM_WRITE(PID_PARAM(Kd, e)); - #if ENABLED(PID_EXTRUSION_SCALING) - EEPROM_WRITE(PID_PARAM(Kc, e)); - #else - dummy = 1.0f; // 1.0 = default kc - EEPROM_WRITE(dummy); - #endif - } - else - #endif // !PIDTEMP - { - dummy = DUMMY_PID_VALUE; // When read, will not change the existing value - EEPROM_WRITE(dummy); // Kp - dummy = 0; - for (uint8_t q = 3; q--;) EEPROM_WRITE(dummy); // Ki, Kd, Kc - } - + EEPROM_WRITE(PID_PARAM(Kp, e)); + EEPROM_WRITE(PID_PARAM(Ki, e)); + EEPROM_WRITE(PID_PARAM(Kd, e)); + #if ENABLED(PID_EXTRUSION_SCALING) + EEPROM_WRITE(PID_PARAM(Kc, e)); + #else + dummy = 1.0f; // 1.0 = default kc + EEPROM_WRITE(dummy); + #endif + #else + dummy = DUMMY_PID_VALUE; // When read, will not change the existing value + EEPROM_WRITE(dummy); // Kp + dummy = 0; + for (uint8_t q = 3; q--;) EEPROM_WRITE(dummy); // Ki, Kd, Kc + #endif } // Hotends Loop _FIELD_TEST(lpq_len); @@ -705,17 +699,15 @@ void MarlinSettings::postprocess() { EEPROM_WRITE(parser.volumetric_enabled); // Save filament sizes - for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) { - if (q < COUNT(planner.filament_size)) dummy = planner.filament_size[q]; - EEPROM_WRITE(dummy); - } + for (uint8_t q = 0; q < COUNT(planner.filament_size); q++) + EEPROM_WRITE(planner.filament_size[q]); #else const bool volumetric_enabled = false; dummy = DEFAULT_NOMINAL_FILAMENT_DIA; EEPROM_WRITE(volumetric_enabled); - for (uint8_t q = MAX_EXTRUDERS; q--;) EEPROM_WRITE(dummy); + for (uint8_t q = EXTRUDERS; q--;) EEPROM_WRITE(dummy); #endif @@ -762,31 +754,48 @@ void MarlinSettings::postprocess() { #else 0, #endif - #if AXIS_IS_TMC(E0) - stepperE0.getCurrent(), - #else - 0, - #endif - #if AXIS_IS_TMC(E1) - stepperE1.getCurrent(), - #else - 0, - #endif - #if AXIS_IS_TMC(E2) - stepperE2.getCurrent(), - #else - 0, - #endif - #if AXIS_IS_TMC(E3) - stepperE3.getCurrent(), - #else - 0, - #endif - #if AXIS_IS_TMC(E4) - stepperE4.getCurrent() - #else - 0 - #endif + #if MAX_EXTRUDERS + #if AXIS_IS_TMC(E0) + stepperE0.getCurrent(), + #else + 0, + #endif + #if MAX_EXTRUDERS > 1 + #if AXIS_IS_TMC(E1) + stepperE1.getCurrent(), + #else + 0, + #endif + #if MAX_EXTRUDERS > 2 + #if AXIS_IS_TMC(E2) + stepperE2.getCurrent(), + #else + 0, + #endif + #if MAX_EXTRUDERS > 3 + #if AXIS_IS_TMC(E3) + stepperE3.getCurrent(), + #else + 0, + #endif + #if MAX_EXTRUDERS > 4 + #if AXIS_IS_TMC(E4) + stepperE4.getCurrent() + #else + 0 + #endif + #if MAX_EXTRUDERS > 5 + #if AXIS_IS_TMC(E5) + stepperE5.getCurrent() + #else + 0 + #endif + #endif // MAX_EXTRUDERS > 5 + #endif // MAX_EXTRUDERS > 4 + #endif // MAX_EXTRUDERS > 3 + #endif // MAX_EXTRUDERS > 2 + #endif // MAX_EXTRUDERS > 1 + #endif // MAX_EXTRUDERS #else 0 #endif @@ -836,35 +845,69 @@ void MarlinSettings::postprocess() { #else Z3_HYBRID_THRESHOLD, #endif - #if AXIS_HAS_STEALTHCHOP(E0) - TMC_GET_PWMTHRS(E, E0), - #else - E0_HYBRID_THRESHOLD, - #endif - #if AXIS_HAS_STEALTHCHOP(E1) - TMC_GET_PWMTHRS(E, E1), - #else - E1_HYBRID_THRESHOLD, - #endif - #if AXIS_HAS_STEALTHCHOP(E2) - TMC_GET_PWMTHRS(E, E2), - #else - E2_HYBRID_THRESHOLD, - #endif - #if AXIS_HAS_STEALTHCHOP(E3) - TMC_GET_PWMTHRS(E, E3), - #else - E3_HYBRID_THRESHOLD, - #endif - #if AXIS_HAS_STEALTHCHOP(E4) - TMC_GET_PWMTHRS(E, E4) - #else - E4_HYBRID_THRESHOLD - #endif + #if MAX_EXTRUDERS + #if AXIS_HAS_STEALTHCHOP(E0) + TMC_GET_PWMTHRS(E, E0), + #else + E0_HYBRID_THRESHOLD, + #endif + #if MAX_EXTRUDERS > 1 + #if AXIS_HAS_STEALTHCHOP(E1) + TMC_GET_PWMTHRS(E, E1), + #else + E1_HYBRID_THRESHOLD, + #endif + #if MAX_EXTRUDERS > 2 + #if AXIS_HAS_STEALTHCHOP(E2) + TMC_GET_PWMTHRS(E, E2), + #else + E2_HYBRID_THRESHOLD, + #endif + #if MAX_EXTRUDERS > 3 + #if AXIS_HAS_STEALTHCHOP(E3) + TMC_GET_PWMTHRS(E, E3), + #else + E3_HYBRID_THRESHOLD, + #endif + #if MAX_EXTRUDERS > 4 + #if AXIS_HAS_STEALTHCHOP(E4) + TMC_GET_PWMTHRS(E, E4) + #else + E4_HYBRID_THRESHOLD + #endif + #if MAX_EXTRUDERS > 5 + #if AXIS_HAS_STEALTHCHOP(E5) + TMC_GET_PWMTHRS(E, E5) + #else + E5_HYBRID_THRESHOLD + #endif + #endif // MAX_EXTRUDERS > 5 + #endif // MAX_EXTRUDERS > 4 + #endif // MAX_EXTRUDERS > 3 + #endif // MAX_EXTRUDERS > 2 + #endif // MAX_EXTRUDERS > 1 + #endif // MAX_EXTRUDERS #else - 100, 100, 3, // X, Y, Z - 100, 100, 3, 3, // X2, Y2, Z2, Z3 - 30, 30, 30, 30, 30 // E0, E1, E2, E3, E4 + 100, 100, 3, // X, Y, Z + 100, 100, 3, 3 // X2, Y2, Z2, Z3 + #if MAX_EXTRUDERS + , 30 // E0 + #if MAX_EXTRUDERS > 1 + , 30 // E1 + #if MAX_EXTRUDERS > 2 + , 30 // E2 + #if MAX_EXTRUDERS > 3 + , 30 // E3 + #if MAX_EXTRUDERS > 4 + , 30 // E4 + #if MAX_EXTRUDERS > 5 + , 30 // E5 + #endif + #endif + #endif + #endif + #endif + #endif #endif }; EEPROM_WRITE(tmc_hybrid_threshold); @@ -951,17 +994,13 @@ void MarlinSettings::postprocess() { _FIELD_TEST(filament_change_unload_length); #if ENABLED(ADVANCED_PAUSE_FEATURE) - for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) { - if (q < COUNT(filament_change_unload_length)) dummy = filament_change_unload_length[q]; - EEPROM_WRITE(dummy); - } - for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) { - if (q < COUNT(filament_change_load_length)) dummy = filament_change_load_length[q]; - EEPROM_WRITE(dummy); + for (uint8_t q = 0; q < COUNT(filament_change_unload_length); q++) { + EEPROM_WRITE(filament_change_unload_length[q]); + EEPROM_WRITE(filament_change_load_length[q]); } #else dummy = 0; - for (uint8_t q = MAX_EXTRUDERS * 2; q--;) EEPROM_WRITE(dummy); + for (uint8_t q = EXTRUDERS * 2; q--;) EEPROM_WRITE(dummy); #endif // @@ -1271,9 +1310,9 @@ void MarlinSettings::postprocess() { // #if ENABLED(PIDTEMP) - for (uint8_t e = 0; e < MAX_EXTRUDERS; e++) { + for (uint8_t e = 0; e < HOTENDS; e++) { EEPROM_READ(dummy); // Kp - if (e < HOTENDS && dummy != DUMMY_PID_VALUE) { + if (dummy != DUMMY_PID_VALUE) { // do not need to scale PID values as the values in EEPROM are already scaled if (!validating) PID_PARAM(Kp, e) = dummy; EEPROM_READ(PID_PARAM(Ki, e)); @@ -1284,13 +1323,12 @@ void MarlinSettings::postprocess() { EEPROM_READ(dummy); #endif } - else { + else for (uint8_t q=3; q--;) EEPROM_READ(dummy); // Ki, Kd, Kc - } } #else // !PIDTEMP // 4 x 4 = 16 slots for PID parameters - for (uint8_t q = MAX_EXTRUDERS * 4; q--;) EEPROM_READ(dummy); // Kp, Ki, Kd, Kc + for (uint8_t q = HOTENDS * 4; q--;) EEPROM_READ(dummy); // Kp, Ki, Kd, Kc #endif // !PIDTEMP // @@ -1359,16 +1397,15 @@ void MarlinSettings::postprocess() { EEPROM_READ(parser.volumetric_enabled); - for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) { + for (uint8_t q = 0; q < COUNT(planner.filament_size); q++) { EEPROM_READ(dummy); - if (!validating && q < COUNT(planner.filament_size)) - planner.filament_size[q] = dummy; + if (!validating) planner.filament_size[q] = dummy; } #else EEPROM_READ(dummyb); - for (uint8_t q=MAX_EXTRUDERS; q--;) EEPROM_READ(dummy); + for (uint8_t q=EXTRUDERS; q--;) EEPROM_READ(dummy); #endif @@ -1422,6 +1459,9 @@ void MarlinSettings::postprocess() { #if AXIS_IS_TMC(E4) SET_CURR(E4); #endif + #if AXIS_IS_TMC(E5) + SET_CURR(E5); + #endif } #else uint16_t val; @@ -1469,6 +1509,9 @@ void MarlinSettings::postprocess() { #if AXIS_HAS_STEALTHCHOP(E4) TMC_SET_PWMTHRS(E, E4); #endif + #if AXIS_HAS_STEALTHCHOP(E5) + TMC_SET_PWMTHRS(E, E5); + #endif } #else uint32_t thrs_val; @@ -1580,16 +1623,14 @@ void MarlinSettings::postprocess() { _FIELD_TEST(filament_change_unload_length); #if ENABLED(ADVANCED_PAUSE_FEATURE) - for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) { + for (uint8_t q = 0; q < COUNT(filament_change_unload_length); q++) { EEPROM_READ(dummy); if (!validating && q < COUNT(filament_change_unload_length)) filament_change_unload_length[q] = dummy; - } - for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) { EEPROM_READ(dummy); if (!validating && q < COUNT(filament_change_load_length)) filament_change_load_length[q] = dummy; } #else - for (uint8_t q = MAX_EXTRUDERS * 2; q--;) EEPROM_READ(dummy); + for (uint8_t q = EXTRUDERS * 2; q--;) EEPROM_READ(dummy); #endif eeprom_error = size_error(eeprom_index - (EEPROM_OFFSET)); @@ -2176,6 +2217,11 @@ void MarlinSettings::reset(PORTARG_SOLO) { CONFIG_ECHO_START; SERIAL_ECHOPAIR_P(port, " M200 T4 D", LINEAR_UNIT(planner.filament_size[4])); SERIAL_EOL_P(port); + #if EXTRUDERS > 5 + CONFIG_ECHO_START; + SERIAL_ECHOPAIR_P(port, " M200 T5 D", LINEAR_UNIT(planner.filament_size[5])); + SERIAL_EOL_P(port); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -2681,6 +2727,10 @@ void MarlinSettings::reset(PORTARG_SOLO) { say_M906(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T4 E", stepperE4.getCurrent()); #endif + #if E_STEPPERS > 5 && AXIS_IS_TMC(E5) + say_M906(PORTVAR_SOLO); + SERIAL_ECHOLNPAIR_P(port, " T5 E", stepperE5.getCurrent()); + #endif SERIAL_EOL_P(port); /** @@ -2748,6 +2798,10 @@ void MarlinSettings::reset(PORTARG_SOLO) { say_M913(PORTVAR_SOLO); SERIAL_ECHOLNPAIR_P(port, " T4 E", TMC_GET_PWMTHRS(E, E4)); #endif + #if E_STEPPERS > 5 && AXIS_IS_TMC(E5) + say_M913(PORTVAR_SOLO); + SERIAL_ECHOLNPAIR_P(port, " T5 E", TMC_GET_PWMTHRS(E, E5)); + #endif SERIAL_EOL_P(port); #endif // HYBRID_THRESHOLD @@ -2871,6 +2925,12 @@ void MarlinSettings::reset(PORTARG_SOLO) { say_M603(PORTVAR_SOLO); SERIAL_ECHOPAIR_P(port, "T4 L", LINEAR_UNIT(filament_change_load_length[4])); SERIAL_ECHOLNPAIR_P(port, " U", LINEAR_UNIT(filament_change_unload_length[4])); + #if EXTRUDERS > 5 + CONFIG_ECHO_START; + say_M603(PORTVAR_SOLO); + SERIAL_ECHOPAIR_P(port, "T5 L", LINEAR_UNIT(filament_change_load_length[5])); + SERIAL_ECHOLNPAIR_P(port, " U", LINEAR_UNIT(filament_change_unload_length[5])); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 98a40fcca1..190e2f75cc 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -1849,6 +1849,9 @@ bool Planner::_populate_block(block_t * const block, bool split_move, DISABLE_IDLE_E(3); #if EXTRUDERS > 4 DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -1871,6 +1874,9 @@ bool Planner::_populate_block(block_t * const block, bool split_move, DISABLE_IDLE_E(3); #if EXTRUDERS > 4 DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -1885,6 +1891,9 @@ bool Planner::_populate_block(block_t * const block, bool split_move, DISABLE_IDLE_E(3); #if EXTRUDERS > 4 DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif #endif #endif enable_E2(); @@ -1897,6 +1906,9 @@ bool Planner::_populate_block(block_t * const block, bool split_move, DISABLE_IDLE_E(2); #if EXTRUDERS > 4 DISABLE_IDLE_E(4); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif #endif enable_E3(); g_uc_extruder_last_move[3] = (BLOCK_BUFFER_SIZE) * 2; @@ -1907,9 +1919,23 @@ bool Planner::_populate_block(block_t * const block, bool split_move, DISABLE_IDLE_E(1); DISABLE_IDLE_E(2); DISABLE_IDLE_E(3); + #if EXTRUDERS > 5 + DISABLE_IDLE_E(5); + #endif enable_E4(); g_uc_extruder_last_move[4] = (BLOCK_BUFFER_SIZE) * 2; break; + #if EXTRUDERS > 5 + case 5: + DISABLE_IDLE_E(0); + DISABLE_IDLE_E(1); + DISABLE_IDLE_E(2); + DISABLE_IDLE_E(3); + DISABLE_IDLE_E(4); + enable_E5(); + g_uc_extruder_last_move[5] = (BLOCK_BUFFER_SIZE) * 2; + break; + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -1921,6 +1947,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move, enable_E2(); enable_E3(); enable_E4(); + enable_E5(); #endif } diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 9bcf62501c..a83fbd85b0 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -1982,6 +1982,9 @@ void Stepper::init() { #if HAS_E4_DIR E4_DIR_INIT; #endif + #if HAS_E5_DIR + E5_DIR_INIT; + #endif // Init Enable Pins - steppers default to disabled. #if HAS_X_ENABLE @@ -2032,6 +2035,10 @@ void Stepper::init() { E4_ENABLE_INIT; if (!E_ENABLE_ON) E4_ENABLE_WRITE(HIGH); #endif + #if HAS_E5_ENABLE + E5_ENABLE_INIT; + if (!E_ENABLE_ON) E5_ENABLE_WRITE(HIGH); + #endif #define _STEP_INIT(AXIS) AXIS ##_STEP_INIT #define _WRITE_STEP(AXIS, HIGHLOW) AXIS ##_STEP_WRITE(HIGHLOW) @@ -2088,6 +2095,9 @@ void Stepper::init() { #if E_STEPPERS > 4 && HAS_E4_STEP E_AXIS_INIT(4); #endif + #if E_STEPPERS > 5 && HAS_E5_STEP + E_AXIS_INIT(5); + #endif // Init Stepper ISR to 122 Hz for quick starting HAL_timer_start(STEP_TIMER_NUM, 122); @@ -2524,6 +2534,10 @@ void Stepper::report_positions() { SET_OUTPUT(E4_MS1_PIN); SET_OUTPUT(E4_MS2_PIN); #endif + #if HAS_E5_MICROSTEPS + SET_OUTPUT(E5_MS1_PIN); + SET_OUTPUT(E5_MS2_PIN); + #endif static const uint8_t microstep_modes[] = MICROSTEP_MODES; for (uint16_t i = 0; i < COUNT(microstep_modes); i++) microstep_mode(i, microstep_modes[i]); @@ -2553,6 +2567,9 @@ void Stepper::report_positions() { #if HAS_E4_MICROSTEPS case 7: WRITE(E4_MS1_PIN, ms1); break; #endif + #if HAS_E5_MICROSTEPS + case 8: WRITE(E5_MS1_PIN, ms1); break; + #endif } if (ms2 >= 0) switch (driver) { case 0: WRITE(X_MS2_PIN, ms2); break; @@ -2577,6 +2594,9 @@ void Stepper::report_positions() { #if HAS_E4_MICROSTEPS case 7: WRITE(E4_MS2_PIN, ms2); break; #endif + #if HAS_E5_MICROSTEPS + case 8: WRITE(E5_MS2_PIN, ms2); break; + #endif } } @@ -2638,6 +2658,11 @@ void Stepper::report_positions() { SERIAL_PROTOCOL(READ(E4_MS1_PIN)); SERIAL_PROTOCOLLN(READ(E4_MS2_PIN)); #endif + #if HAS_E5_MICROSTEPS + SERIAL_PROTOCOLPGM("E5: "); + SERIAL_PROTOCOL(READ(E5_MS1_PIN)); + SERIAL_PROTOCOLLN(READ(E5_MS2_PIN)); + #endif } #endif // HAS_MICROSTEPS diff --git a/Marlin/src/module/stepper_indirection.h b/Marlin/src/module/stepper_indirection.h index c56ccd4b30..28a1e54069 100644 --- a/Marlin/src/module/stepper_indirection.h +++ b/Marlin/src/module/stepper_indirection.h @@ -482,11 +482,48 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E4_STEP_WRITE(STATE) WRITE(E4_STEP_PIN,STATE) #define E4_STEP_READ READ(E4_STEP_PIN) +// E5 Stepper +#if AXIS_DRIVER_TYPE(E5, L6470) + extern L6470 stepperE5; + #define E5_ENABLE_INIT NOOP + #define E5_ENABLE_WRITE(STATE) do{ if (STATE) stepperE5.Step_Clock(stepperE5.getStatus() & STATUS_HIZ); else stepperE5.softFree(); }while(0) + #define E5_ENABLE_READ (stepperE5.getStatus() & STATUS_HIZ) + #define E5_DIR_INIT NOOP + #define E5_DIR_WRITE(STATE) stepperE5.Step_Clock(STATE) + #define E5_DIR_READ (stepperE5.getStatus() & STATUS_DIR) +#else + #if AXIS_DRIVER_TYPE(E5, TMC26X) + extern TMC26XStepper stepperE5; + #define E5_ENABLE_INIT NOOP + #define E5_ENABLE_WRITE(STATE) stepperE5.setEnabled(STATE) + #define E5_ENABLE_READ stepperE5.isEnabled() + #else + #if AXIS_DRIVER_TYPE(E5, TMC2130) + extern TMC2130Stepper stepperE5; + #elif AXIS_DRIVER_TYPE(E5, TMC2208) + extern TMC2208Stepper stepperE5; + #endif + #define E5_ENABLE_INIT SET_OUTPUT(E5_ENABLE_PIN) + #define E5_ENABLE_WRITE(STATE) WRITE(E5_ENABLE_PIN,STATE) + #define E5_ENABLE_READ READ(E5_ENABLE_PIN) + #endif + #define E5_DIR_INIT SET_OUTPUT(E5_DIR_PIN) + #define E5_DIR_WRITE(STATE) WRITE(E5_DIR_PIN,STATE) + #define E5_DIR_READ READ(E5_DIR_PIN) +#endif +#define E5_STEP_INIT SET_OUTPUT(E5_STEP_PIN) +#define E5_STEP_WRITE(STATE) WRITE(E5_STEP_PIN,STATE) +#define E5_STEP_READ READ(E5_STEP_PIN) + /** * Extruder indirection for the single E axis */ #if ENABLED(SWITCHING_EXTRUDER) // One stepper driver per two extruders, reversed on odd index - #if EXTRUDERS > 4 + #if EXTRUDERS > 5 + #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else { E2_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE( INVERT_E1_DIR); break; case 4: E2_DIR_WRITE(!INVERT_E2_DIR); case 5: E2_DIR_WRITE( INVERT_E2_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE( INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 4: E2_DIR_WRITE( INVERT_E2_DIR); case 5: E2_DIR_WRITE(!INVERT_E2_DIR); } }while(0) + #elif EXTRUDERS > 4 #define E_STEP_WRITE(E,V) do{ if (E < 2) { E0_STEP_WRITE(V); } else if (E < 4) { E1_STEP_WRITE(V); } else { E2_STEP_WRITE(V); } }while(0) #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE( INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE( INVERT_E1_DIR); break; case 4: E2_DIR_WRITE(!INVERT_E2_DIR); } }while(0) #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE( INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 4: E2_DIR_WRITE( INVERT_E2_DIR); } }while(0) @@ -507,6 +544,10 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset #define E_STEP_WRITE(E,V) E0_STEP_WRITE(V) #define NORM_E_DIR(E) do{ E0_DIR_WRITE(TEST(E, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR); }while(0) #define REV_E_DIR(E) do{ E0_DIR_WRITE(TEST(E, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR); }while(0) +#elif E_STEPPERS > 5 + #define E_STEP_WRITE(E,V) do{ switch (E) { case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); break; case 3: E3_STEP_WRITE(V); break; case 4: E4_STEP_WRITE(V); case 5: E5_STEP_WRITE(V); } }while(0) + #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); case 5: E5_DIR_WRITE(!INVERT_E5_DIR); } }while(0) + #define REV_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE( INVERT_E0_DIR); break; case 1: E1_DIR_WRITE( INVERT_E1_DIR); break; case 2: E2_DIR_WRITE( INVERT_E2_DIR); break; case 3: E3_DIR_WRITE( INVERT_E3_DIR); break; case 4: E4_DIR_WRITE( INVERT_E4_DIR); case 5: E5_DIR_WRITE( INVERT_E5_DIR); } }while(0) #elif E_STEPPERS > 4 #define E_STEP_WRITE(E,V) do{ switch (E) { case 0: E0_STEP_WRITE(V); break; case 1: E1_STEP_WRITE(V); break; case 2: E2_STEP_WRITE(V); break; case 3: E3_STEP_WRITE(V); break; case 4: E4_STEP_WRITE(V); } }while(0) #define NORM_E_DIR(E) do{ switch (E) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); } }while(0) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 67c30d0c05..6a91f8a1b9 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -74,6 +74,7 @@ Temperature thermalManager; (HOTENDS > 2 && (E) == 2) ? PSTR(MSG_E3 " " MSG) : \ (HOTENDS > 3 && (E) == 3) ? PSTR(MSG_E4 " " MSG) : \ (HOTENDS > 4 && (E) == 4) ? PSTR(MSG_E5 " " MSG) : \ + (HOTENDS > 5 && (E) == 5) ? PSTR(MSG_E6 " " MSG) : \ PSTR(MSG_E1 " " MSG) #else #define TEMP_ERR_PSTR(MSG, E) \ @@ -81,6 +82,7 @@ Temperature thermalManager; (HOTENDS > 2 && (E) == 2) ? PSTR(MSG_E3 " " MSG) : \ (HOTENDS > 3 && (E) == 3) ? PSTR(MSG_E4 " " MSG) : \ (HOTENDS > 4 && (E) == 4) ? PSTR(MSG_E5 " " MSG) : \ + (HOTENDS > 5 && (E) == 5) ? PSTR(MSG_E6 " " MSG) : \ PSTR(MSG_E1 " " MSG) #endif @@ -149,7 +151,7 @@ int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 }, #endif #if ENABLED(BABYSTEPPING) - volatile int Temperature::babystepsTodo[XYZ] = { 0 }; + volatile int16_t Temperature::babystepsTodo[XYZ] = { 0 }; #endif #if WATCH_HOTENDS @@ -527,13 +529,14 @@ int Temperature::getHeaterPower(const int heater) { #if HAS_AUTO_FAN void Temperature::checkExtruderAutoFans() { - static const pin_t fanPin[] PROGMEM = { E0_AUTO_FAN_PIN, E1_AUTO_FAN_PIN, E2_AUTO_FAN_PIN, E3_AUTO_FAN_PIN, E4_AUTO_FAN_PIN, CHAMBER_AUTO_FAN_PIN }; + static const pin_t fanPin[] PROGMEM = { E0_AUTO_FAN_PIN, E1_AUTO_FAN_PIN, E2_AUTO_FAN_PIN, E3_AUTO_FAN_PIN, E4_AUTO_FAN_PIN, E5_AUTO_FAN_PIN, CHAMBER_AUTO_FAN_PIN }; static const uint8_t fanBit[] PROGMEM = { 0, AUTO_1_IS_0 ? 0 : 1, AUTO_2_IS_0 ? 0 : AUTO_2_IS_1 ? 1 : 2, AUTO_3_IS_0 ? 0 : AUTO_3_IS_1 ? 1 : AUTO_3_IS_2 ? 2 : 3, - AUTO_4_IS_0 ? 0 : AUTO_4_IS_1 ? 1 : AUTO_4_IS_2 ? 2 : AUTO_4_IS_3 ? 3 : 4, + AUTO_4_IS_0 ? 0 : AUTO_4_IS_1 ? 1 : AUTO_4_IS_2 ? 2 : AUTO_4_IS_3 ? 3 : 4, + AUTO_5_IS_0 ? 0 : AUTO_5_IS_1 ? 1 : AUTO_5_IS_2 ? 2 : AUTO_5_IS_3 ? 3 : AUTO_5_IS_4 ? 4 : 5, AUTO_CHAMBER_IS_0 ? 0 : AUTO_CHAMBER_IS_1 ? 1 : AUTO_CHAMBER_IS_2 ? 2 : AUTO_CHAMBER_IS_3 ? 3 : AUTO_CHAMBER_IS_4 ? 4 : 5 }; uint8_t fanState = 0; @@ -1193,6 +1196,9 @@ void Temperature::init() { #if HAS_TEMP_ADC_4 HAL_ANALOG_SELECT(TEMP_4_PIN); #endif + #if HAS_TEMP_ADC_5 + HAL_ANALOG_SELECT(TEMP_5_PIN); + #endif #if HAS_HEATED_BED HAL_ANALOG_SELECT(TEMP_BED_PIN); #endif @@ -1226,7 +1232,7 @@ void Temperature::init() { SET_OUTPUT(E1_AUTO_FAN_PIN); #endif #endif - #if HAS_AUTO_FAN_2 && !AUTO_2_IS_0 && !AUTO_2_IS_1 + #if HAS_AUTO_FAN_2 && !(AUTO_2_IS_0 || AUTO_2_IS_1) #if E2_AUTO_FAN_PIN == FAN1_PIN SET_OUTPUT(E2_AUTO_FAN_PIN); #if ENABLED(FAST_PWM_FAN) @@ -1236,7 +1242,7 @@ void Temperature::init() { SET_OUTPUT(E2_AUTO_FAN_PIN); #endif #endif - #if HAS_AUTO_FAN_3 && !AUTO_3_IS_0 && !AUTO_3_IS_1 && !AUTO_3_IS_2 + #if HAS_AUTO_FAN_3 && !(AUTO_3_IS_0 || AUTO_3_IS_1 || AUTO_3_IS_2) #if E3_AUTO_FAN_PIN == FAN1_PIN SET_OUTPUT(E3_AUTO_FAN_PIN); #if ENABLED(FAST_PWM_FAN) @@ -1246,7 +1252,7 @@ void Temperature::init() { SET_OUTPUT(E3_AUTO_FAN_PIN); #endif #endif - #if HAS_AUTO_FAN_4 && !AUTO_4_IS_0 && !AUTO_4_IS_1 && !AUTO_4_IS_2 && !AUTO_4_IS_3 + #if HAS_AUTO_FAN_4 && !(AUTO_4_IS_0 || AUTO_4_IS_1 || AUTO_4_IS_2 || AUTO_4_IS_3) #if E4_AUTO_FAN_PIN == FAN1_PIN SET_OUTPUT(E4_AUTO_FAN_PIN); #if ENABLED(FAST_PWM_FAN) @@ -1256,7 +1262,17 @@ void Temperature::init() { SET_OUTPUT(E4_AUTO_FAN_PIN); #endif #endif - #if HAS_AUTO_CHAMBER_FAN && !AUTO_CHAMBER_IS_0 && !AUTO_CHAMBER_IS_1 && !AUTO_CHAMBER_IS_2 && !AUTO_CHAMBER_IS_3 && ! AUTO_CHAMBER_IS_4 + #if HAS_AUTO_FAN_5 && !(AUTO_5_IS_0 || AUTO_5_IS_1 || AUTO_5_IS_2 || AUTO_5_IS_3 || AUTO_5_IS_4) + #if E5_AUTO_FAN_PIN == FAN1_PIN + SET_OUTPUT(E5_AUTO_FAN_PIN); + #if ENABLED(FAST_PWM_FAN) + setPwmFrequency(E5_AUTO_FAN_PIN, 1); // No prescaling. Pwm frequency = F_CPU/256/8 + #endif + #else + SET_OUTPUT(E5_AUTO_FAN_PIN); + #endif + #endif + #if HAS_AUTO_CHAMBER_FAN && !(AUTO_CHAMBER_IS_0 || AUTO_CHAMBER_IS_1 || AUTO_CHAMBER_IS_2 || AUTO_CHAMBER_IS_3 || AUTO_CHAMBER_IS_4 || AUTO_CHAMBER_IS_5) #if CHAMBER_AUTO_FAN_PIN == FAN1_PIN SET_OUTPUT(CHAMBER_AUTO_FAN_PIN); #if ENABLED(FAST_PWM_FAN) @@ -1321,6 +1337,14 @@ void Temperature::init() { #ifdef HEATER_4_MAXTEMP TEMP_MAX_ROUTINE(4); #endif + #if HOTENDS > 5 + #ifdef HEATER_5_MINTEMP + TEMP_MIN_ROUTINE(5); + #endif + #ifdef HEATER_5_MAXTEMP + TEMP_MAX_ROUTINE(5); + #endif + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1539,6 +1563,9 @@ void Temperature::disable_all_heaters() { DISABLE_HEATER(3); #if HOTENDS > 4 DISABLE_HEATER(4); + #if HOTENDS > 5 + DISABLE_HEATER(5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1665,10 +1692,13 @@ void Temperature::set_current_temp_raw() { current_temperature_raw[3] = raw_temp_value[3]; #if HAS_TEMP_ADC_4 current_temperature_raw[4] = raw_temp_value[4]; - #endif - #endif - #endif - #endif + #if HAS_TEMP_ADC_5 + current_temperature_raw[5] = raw_temp_value[5]; + #endif // HAS_TEMP_ADC_5 + #endif // HAS_TEMP_ADC_4 + #endif // HAS_TEMP_ADC_3 + #endif // HAS_TEMP_ADC_2 + #endif // HAS_TEMP_ADC_1 #if HAS_HEATED_BED current_temperature_bed_raw = raw_temp_bed_value; @@ -1718,6 +1748,9 @@ void Temperature::readings_ready() { , TEMPDIR(3) #if HOTENDS > 4 , TEMPDIR(4) + #if HOTENDS > 5 + , TEMPDIR(5) + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1815,6 +1848,9 @@ void Temperature::isr() { ISR_STATICS(3); #if HOTENDS > 4 ISR_STATICS(4); + #if HOTENDS > 5 + ISR_STATICS(5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1851,6 +1887,10 @@ void Temperature::isr() { #if HOTENDS > 4 soft_pwm_count_4 = (soft_pwm_count_4 & pwm_mask) + soft_pwm_amount[4]; WRITE_HEATER_4(soft_pwm_count_4 > pwm_mask ? HIGH : LOW); + #if HOTENDS > 5 + soft_pwm_count_5 = (soft_pwm_count_5 & pwm_mask) + soft_pwm_amount[5]; + WRITE_HEATER_5(soft_pwm_count_5 > pwm_mask ? HIGH : LOW); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1886,6 +1926,9 @@ void Temperature::isr() { if (soft_pwm_count_3 <= pwm_count_tmp) WRITE_HEATER_3(LOW); #if HOTENDS > 4 if (soft_pwm_count_4 <= pwm_count_tmp) WRITE_HEATER_4(LOW); + #if HOTENDS > 5 + if (soft_pwm_count_5 <= pwm_count_tmp) WRITE_HEATER_5(LOW); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1968,6 +2011,9 @@ void Temperature::isr() { SLOW_PWM_ROUTINE(3); #if HOTENDS > 4 SLOW_PWM_ROUTINE(4); + #if HOTENDS > 5 + SLOW_PWM_ROUTINE(5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -1987,6 +2033,9 @@ void Temperature::isr() { PWM_OFF_ROUTINE(3); #if HOTENDS > 4 PWM_OFF_ROUTINE(4); + #if HOTENDS > 5 + PWM_OFF_ROUTINE(5); + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -2047,6 +2096,9 @@ void Temperature::isr() { if (state_timer_heater_3 > 0) state_timer_heater_3--; #if HOTENDS > 4 if (state_timer_heater_4 > 0) state_timer_heater_4--; + #if HOTENDS > 5 + if (state_timer_heater_5 > 0) state_timer_heater_5--; + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -2169,6 +2221,15 @@ void Temperature::isr() { break; #endif + #if HAS_TEMP_ADC_5 + case PrepareTemp_5: + HAL_START_ADC(TEMP_5_PIN); + break; + case MeasureTemp_5: + ACCUMULATE_ADC(raw_temp_value[5]); + break; + #endif + #if ENABLED(FILAMENT_WIDTH_SENSOR) case Prepare_FILWIDTH: HAL_START_ADC(FILWIDTH_PIN); @@ -2218,7 +2279,7 @@ void Temperature::isr() { #if ENABLED(BABYSTEPPING) LOOP_XYZ(axis) { - const int curTodo = babystepsTodo[axis]; // get rid of volatile for performance + const int16_t curTodo = babystepsTodo[axis]; // get rid of volatile for performance if (curTodo) { stepper.babystep((AxisEnum)axis, curTodo > 0); if (curTodo > 0) babystepsTodo[axis]--; diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index e8b80f97b5..f91de03b57 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -163,7 +163,7 @@ class Temperature { #endif #if ENABLED(BABYSTEPPING) - static volatile int babystepsTodo[3]; + static volatile int16_t babystepsTodo[3]; #endif #if ENABLED(PREVENT_COLD_EXTRUSION) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 279c13a130..03d336baa5 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -468,6 +468,15 @@ #ifndef E4_MS3_PIN #define E4_MS3_PIN -1 #endif +#ifndef E5_MS1_PIN + #define E5_MS1_PIN -1 +#endif +#ifndef E5_MS2_PIN + #define E5_MS2_PIN -1 +#endif +#ifndef E5_MS3_PIN + #define E5_MS3_PIN -1 +#endif #ifndef E0_STEP_PIN #define E0_STEP_PIN -1 @@ -514,6 +523,15 @@ #ifndef E4_ENABLE_PIN #define E4_ENABLE_PIN -1 #endif +#ifndef E5_STEP_PIN + #define E5_STEP_PIN -1 +#endif +#ifndef E5_DIR_PIN + #define E5_DIR_PIN -1 +#endif +#ifndef E5_ENABLE_PIN + #define E5_ENABLE_PIN -1 +#endif #ifndef X_CS_PIN #define X_CS_PIN -1 @@ -539,6 +557,9 @@ #ifndef E4_CS_PIN #define E4_CS_PIN -1 #endif +#ifndef E5_CS_PIN + #define E5_CS_PIN -1 +#endif #ifndef FAN_PIN #define FAN_PIN -1 @@ -578,6 +599,9 @@ #ifndef HEATER_4_PIN #define HEATER_4_PIN -1 #endif +#ifndef HEATER_5_PIN + #define HEATER_5_PIN -1 +#endif #ifndef HEATER_BED_PIN #define HEATER_BED_PIN -1 #endif @@ -597,6 +621,9 @@ #ifndef TEMP_4_PIN #define TEMP_4_PIN -1 #endif +#ifndef TEMP_5_PIN + #define TEMP_5_PIN -1 +#endif #ifndef TEMP_BED_PIN #define TEMP_BED_PIN -1 #endif @@ -669,6 +696,13 @@ #define E4_AUTO_FAN_PIN -1 #endif #endif +#ifndef E5_AUTO_FAN_PIN + #ifdef ORIG_E5_AUTO_FAN_PIN + #define E5_AUTO_FAN_PIN ORIG_E5_AUTO_FAN_PIN + #else + #define E5_AUTO_FAN_PIN -1 + #endif +#endif #ifndef CHAMBER_AUTO_FAN_PIN #ifdef ORIG_CHAMBER_AUTO_FAN_PIN #define CHAMBER_AUTO_FAN_PIN ORIG_CHAMBER_AUTO_FAN_PIN @@ -683,6 +717,7 @@ #define _E2_PINS #define _E3_PINS #define _E4_PINS +#define _E5_PINS #if ENABLED(SWITCHING_EXTRUDER) // Tools 0 and 1 use E0 @@ -706,6 +741,10 @@ #if EXTRUDERS > 4 #undef _E4_PINS #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, E4_MS1_PIN, E4_MS2_PIN, E4_MS3_PIN, E4_CS_PIN, + #if EXTRUDERS > 5 + #undef _E5_PINS + #define _E5_PINS E5_STEP_PIN, E5_DIR_PIN, E5_ENABLE_PIN, E5_MS1_PIN, E5_MS2_PIN, E5_MS3_PIN, E5_CS_PIN, + #endif // EXTRUDERS > 5 #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -716,6 +755,7 @@ #define _H2_PINS #define _H3_PINS #define _H4_PINS +#define _H5_PINS #if HOTENDS > 1 #undef _H1_PINS @@ -728,7 +768,11 @@ #define _H3_PINS HEATER_3_PIN, E3_AUTO_FAN_PIN, analogInputToDigitalPin(TEMP_3_PIN), #if HOTENDS > 4 #undef _H4_PINS - #define _H4_PINS HEATER_4_PIN, analogInputToDigitalPin(TEMP_4_PIN), + #define _H4_PINS HEATER_4_PIN, E4_AUTO_FAN_PIN, analogInputToDigitalPin(TEMP_4_PIN), + #if HOTENDS > 5 + #undef _H5_PINS + #define _H5_PINS HEATER_5_PIN, E5_AUTO_FAN_PIN, analogInputToDigitalPin(TEMP_5_PIN), + #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 @@ -744,6 +788,10 @@ #if MIXING_STEPPERS > 4 #undef _E4_PINS #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, E4_MS1_PIN, E4_MS2_PIN, E4_CS_PIN, + #if MIXING_STEPPERS > 5 + #undef _E5_PINS + #define _E5_PINS E5_STEP_PIN, E5_DIR_PIN, E5_ENABLE_PIN, E5_MS1_PIN, E5_MS2_PIN, E5_CS_PIN, + #endif // MIXING_STEPPERS > 5 #endif // MIXING_STEPPERS > 4 #endif // MIXING_STEPPERS > 3 #endif // MIXING_STEPPERS > 2 @@ -856,7 +904,7 @@ #ifndef X2_CS_PIN #define X2_CS_PIN _EPIN(E_STEPPERS, CS) #endif - #if E_STEPPERS > 4 || !PIN_EXISTS(X2_ENABLE) + #if E_STEPPERS > MAX_EXTRUDERS || !PIN_EXISTS(X2_ENABLE) #error "No E stepper plug left for X2!" #endif #endif @@ -881,7 +929,7 @@ #ifndef Y2_CS_PIN #define Y2_CS_PIN _EPIN(Y2_E_INDEX, CS) #endif - #if Y2_E_INDEX > 4 || !PIN_EXISTS(Y2_ENABLE) + #if Y2_E_INDEX > MAX_EXTRUDERS || !PIN_EXISTS(Y2_ENABLE) #error "No E stepper plug left for Y2!" #endif #endif @@ -906,7 +954,7 @@ #ifndef Z2_CS_PIN #define Z2_CS_PIN _EPIN(Z2_E_INDEX, CS) #endif - #if Z2_E_INDEX > 4 || !PIN_EXISTS(Z2_ENABLE) + #if Z2_E_INDEX > MAX_EXTRUDERS || !PIN_EXISTS(Z2_ENABLE) #error "No E stepper plug left for Z2!" #endif #endif @@ -952,8 +1000,8 @@ Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Y_MS1_PIN, Y_MS2_PIN, Y_CS_PIN, \ Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, Z_MS1_PIN, Z_MS2_PIN, Z_MS3_PIN, Z_CS_PIN, Z_MIN_PROBE_PIN, \ PS_ON_PIN, HEATER_BED_PIN, FAN_PIN, FAN1_PIN, FAN2_PIN, CONTROLLER_FAN_PIN, \ - _E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS BED_PINS \ - _H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS \ + _E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS _E5_PINS BED_PINS \ + _H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS _H5_PINS \ _X2_PINS _Y2_PINS _Z2_PINS _Z3_PINS \ HAL_SENSITIVE_PINS \ } diff --git a/Marlin/src/pins/pinsDebug_list.h b/Marlin/src/pins/pinsDebug_list.h index a2eb5ac436..ab18338616 100644 --- a/Marlin/src/pins/pinsDebug_list.h +++ b/Marlin/src/pins/pinsDebug_list.h @@ -361,6 +361,30 @@ #if PIN_EXISTS(E4_STEP) REPORT_NAME_DIGITAL(__LINE__, E4_STEP_PIN) #endif +#if PIN_EXISTS(E5_AUTO_FAN) + REPORT_NAME_DIGITAL(__LINE__, E5_AUTO_FAN_PIN) +#endif +#if PIN_EXISTS(E5_CS) + REPORT_NAME_DIGITAL(__LINE__, E5_CS_PIN) +#endif +#if PIN_EXISTS(E5_DIR) + REPORT_NAME_DIGITAL(__LINE__, E5_DIR_PIN) +#endif +#if PIN_EXISTS(E5_ENABLE) + REPORT_NAME_DIGITAL(__LINE__, E5_ENABLE_PIN) +#endif +#if PIN_EXISTS(E5_MS1) + REPORT_NAME_DIGITAL(__LINE__, E5_MS1_PIN) +#endif +#if PIN_EXISTS(E5_MS2) + REPORT_NAME_DIGITAL(__LINE__, E5_MS2_PIN) +#endif +#if PIN_EXISTS(E5_MS3) + REPORT_NAME_DIGITAL(__LINE__, E5_MS3_PIN) +#endif +#if PIN_EXISTS(E5_STEP) + REPORT_NAME_DIGITAL(__LINE__, E5_STEP_PIN) +#endif #if defined(ENET_CRS) && ENET_CRS >= 0 REPORT_NAME_DIGITAL(__LINE__, ENET_CRS) #endif @@ -578,6 +602,9 @@ #if PIN_EXISTS(ORIG_E4_AUTO_FAN) REPORT_NAME_DIGITAL(__LINE__, ORIG_E4_AUTO_FAN_PIN) #endif +#if PIN_EXISTS(ORIG_E5_AUTO_FAN) + REPORT_NAME_DIGITAL(__LINE__, ORIG_E5_AUTO_FAN_PIN) +#endif #if PIN_EXISTS(PHOTOGRAPH) REPORT_NAME_DIGITAL(__LINE__, PHOTOGRAPH_PIN) #endif @@ -689,6 +716,9 @@ #if PIN_EXISTS(SOL4) REPORT_NAME_DIGITAL(__LINE__, SOL4_PIN) #endif +#if PIN_EXISTS(SOL5) + REPORT_NAME_DIGITAL(__LINE__, SOL5_PIN) +#endif #if defined(SPARE_IO) && SPARE_IO >= 0 REPORT_NAME_DIGITAL(__LINE__, SPARE_IO) #endif @@ -1043,3 +1073,9 @@ #if PIN_EXISTS(E4_SERIAL_RX) REPORT_NAME_DIGITAL(__LINE__, E4_SERIAL_RX_PIN) #endif +#if PIN_EXISTS(E5_SERIAL_TX) + REPORT_NAME_DIGITAL(__LINE__, E5_SERIAL_TX_PIN) +#endif +#if PIN_EXISTS(E5_SERIAL_RX) + REPORT_NAME_DIGITAL(__LINE__, E5_SERIAL_RX_PIN) +#endif