From 6471a75a228d8d60416f7b405e888064e7e8c8da Mon Sep 17 00:00:00 2001 From: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Date: Tue, 6 Nov 2018 22:52:20 -0500 Subject: [PATCH] Combine more tool-change variables (#12137) --- Marlin/Configuration.h | 14 - Marlin/Configuration_adv.h | 27 ++ Marlin/src/config/default/Configuration.h | 14 - Marlin/src/config/default/Configuration_adv.h | 27 ++ .../AlephObjects/TAZ4/Configuration.h | 14 - .../AlephObjects/TAZ4/Configuration_adv.h | 27 ++ .../AliExpress/CL-260/Configuration.h | 14 - .../config/examples/Anet/A2/Configuration.h | 14 - .../examples/Anet/A2/Configuration_adv.h | 27 ++ .../examples/Anet/A2plus/Configuration.h | 14 - .../examples/Anet/A2plus/Configuration_adv.h | 27 ++ .../config/examples/Anet/A6/Configuration.h | 14 - .../examples/Anet/A6/Configuration_adv.h | 27 ++ .../config/examples/Anet/A8/Configuration.h | 14 - .../examples/Anet/A8/Configuration_adv.h | 27 ++ .../src/config/examples/ArmEd/Configuration.h | 3 - .../config/examples/ArmEd/Configuration_adv.h | 39 +- .../examples/Azteeg/X5GT/Configuration.h | 14 - .../BIBO/TouchX/cyclops/Configuration.h | 14 - .../BIBO/TouchX/cyclops/Configuration_adv.h | 27 ++ .../BIBO/TouchX/default/Configuration.h | 14 - .../BIBO/TouchX/default/Configuration_adv.h | 27 ++ .../examples/BQ/Hephestos/Configuration.h | 14 - .../examples/BQ/Hephestos/Configuration_adv.h | 27 ++ .../examples/BQ/Hephestos_2/Configuration.h | 14 - .../BQ/Hephestos_2/Configuration_adv.h | 27 ++ .../config/examples/BQ/WITBOX/Configuration.h | 14 - .../examples/BQ/WITBOX/Configuration_adv.h | 27 ++ .../config/examples/Cartesio/Configuration.h | 14 - .../examples/Cartesio/Configuration_adv.h | 27 ++ .../examples/Creality/CR-10/Configuration.h | 14 - .../Creality/CR-10/Configuration_adv.h | 27 ++ .../examples/Creality/CR-10S/Configuration.h | 14 - .../Creality/CR-10S/Configuration_adv.h | 27 ++ .../Creality/CR-10mini/Configuration.h | 14 - .../Creality/CR-10mini/Configuration_adv.h | 27 ++ .../examples/Creality/CR-8/Configuration.h | 14 - .../Creality/CR-8/Configuration_adv.h | 27 ++ .../examples/Creality/Ender-2/Configuration.h | 14 - .../Creality/Ender-2/Configuration_adv.h | 27 ++ .../examples/Creality/Ender-3/Configuration.h | 14 - .../Creality/Ender-3/Configuration_adv.h | 27 ++ .../examples/Creality/Ender-4/Configuration.h | 14 - .../Creality/Ender-4/Configuration_adv.h | 27 ++ .../examples/Einstart-S/Configuration.h | 14 - .../examples/Einstart-S/Configuration_adv.h | 27 ++ .../src/config/examples/Felix/Configuration.h | 14 - .../config/examples/Felix/Configuration_adv.h | 27 ++ .../examples/Felix/DUAL/Configuration.h | 14 - .../FolgerTech/i3-2020/Configuration.h | 14 - .../FolgerTech/i3-2020/Configuration_adv.h | 27 ++ .../examples/Formbot/Raptor/Configuration.h | 14 - .../Formbot/Raptor/Configuration_adv.h | 27 ++ .../examples/Formbot/T_Rex_2+/Configuration.h | 14 - .../Formbot/T_Rex_2+/Configuration_adv.h | 27 ++ .../examples/Formbot/T_Rex_3/Configuration.h | 14 - .../Formbot/T_Rex_3/Configuration_adv.h | 27 ++ .../examples/Geeetech/GT2560/Configuration.h | 14 - .../Geeetech/I3_Pro_X-GT2560/Configuration.h | 14 - .../Geeetech/MeCreator2/Configuration.h | 14 - .../Geeetech/MeCreator2/Configuration_adv.h | 27 ++ .../Prusa i3 Pro B/bltouch/Configuration.h | 14 - .../Prusa i3 Pro B/noprobe/Configuration.h | 14 - .../Geeetech/Prusa i3 Pro C/Configuration.h | 14 - .../Prusa i3 Pro C/Configuration_adv.h | 27 ++ .../Geeetech/Prusa i3 Pro W/Configuration.h | 14 - .../Prusa i3 Pro W/Configuration_adv.h | 27 ++ .../examples/Infitary/i3-M508/Configuration.h | 14 - .../Infitary/i3-M508/Configuration_adv.h | 27 ++ .../examples/JGAurora/A5/Configuration.h | 14 - .../examples/JGAurora/A5/Configuration_adv.h | 27 ++ .../examples/MakerParts/Configuration.h | 14 - .../examples/MakerParts/Configuration_adv.h | 27 ++ .../examples/Malyan/M150/Configuration.h | 14 - .../examples/Malyan/M150/Configuration_adv.h | 27 ++ .../examples/Malyan/M200/Configuration.h | 14 - .../examples/Malyan/M200/Configuration_adv.h | 27 ++ .../Micromake/C1/basic/Configuration.h | 14 - .../Micromake/C1/enhanced/Configuration.h | 14 - .../Micromake/C1/enhanced/Configuration_adv.h | 27 ++ .../config/examples/Mks/Sbase/Configuration.h | 14 - .../examples/Mks/Sbase/Configuration_adv.h | 27 ++ .../examples/RepRapPro/Huxley/Configuration.h | 14 - .../RepRapWorld/Megatronics/Configuration.h | 14 - .../config/examples/RigidBot/Configuration.h | 14 - .../examples/RigidBot/Configuration_adv.h | 27 ++ .../src/config/examples/SCARA/Configuration.h | 14 - .../config/examples/SCARA/Configuration_adv.h | 27 ++ .../config/examples/STM32F10/Configuration.h | 14 - .../config/examples/STM32F4/Configuration.h | 14 - .../examples/Sanguinololu/Configuration.h | 14 - .../examples/Sanguinololu/Configuration_adv.h | 27 ++ .../config/examples/TheBorg/Configuration.h | 14 - .../examples/TheBorg/Configuration_adv.h | 27 ++ .../config/examples/TinyBoy2/Configuration.h | 14 - .../examples/TinyBoy2/Configuration_adv.h | 27 ++ .../config/examples/Tronxy/X1/Configuration.h | 14 - .../examples/Tronxy/X3A/Configuration.h | 14 - .../examples/Tronxy/X3A/Configuration_adv.h | 27 ++ .../examples/Tronxy/X5S/Configuration.h | 14 - .../examples/Tronxy/XY100/Configuration.h | 14 - .../UltiMachine/Archim2/Configuration.h | 14 - .../UltiMachine/Archim2/Configuration_adv.h | 27 ++ .../examples/Velleman/K8200/Configuration.h | 14 - .../Velleman/K8200/Configuration_adv.h | 27 ++ .../examples/Velleman/K8400/Configuration.h | 14 - .../Velleman/K8400/Configuration_adv.h | 27 ++ .../Velleman/K8400/Dual-head/Configuration.h | 14 - .../Wanhao/Duplicator 6/Configuration.h | 14 - .../Wanhao/Duplicator 6/Configuration_adv.h | 27 ++ .../examples/adafruit/ST7565/Configuration.h | 14 - .../delta/Anycubic/Kossel/Configuration.h | 14 - .../delta/Anycubic/Kossel/Configuration_adv.h | 27 ++ .../FLSUN/auto_calibrate/Configuration.h | 14 - .../FLSUN/auto_calibrate/Configuration_adv.h | 27 ++ .../delta/FLSUN/kossel/Configuration.h | 14 - .../delta/FLSUN/kossel/Configuration_adv.h | 27 ++ .../delta/FLSUN/kossel_mini/Configuration.h | 14 - .../FLSUN/kossel_mini/Configuration_adv.h | 27 ++ .../delta/Hatchbox_Alpha/Configuration.h | 14 - .../examples/delta/generic/Configuration.h | 14 - .../delta/generic/Configuration_adv.h | 27 ++ .../delta/kossel_mini/Configuration.h | 14 - .../delta/kossel_mini/Configuration_adv.h | 27 ++ .../examples/delta/kossel_pro/Configuration.h | 14 - .../examples/delta/kossel_xl/Configuration.h | 14 - .../delta/kossel_xl/Configuration_adv.h | 27 ++ .../examples/gCreate/gMax1.5+/Configuration.h | 14 - .../gCreate/gMax1.5+/Configuration_adv.h | 27 ++ .../config/examples/makibox/Configuration.h | 14 - .../examples/makibox/Configuration_adv.h | 27 ++ .../examples/stm32f103ret6/Configuration.h | 14 - .../examples/tvrrug/Round2/Configuration.h | 14 - .../tvrrug/Round2/Configuration_adv.h | 27 ++ .../src/config/examples/wt150/Configuration.h | 14 - .../config/examples/wt150/Configuration_adv.h | 27 ++ Marlin/src/gcode/config/M217.cpp | 26 +- Marlin/src/inc/SanityCheck.h | 46 +- Marlin/src/lcd/menu/menu_configuration.cpp | 2 +- Marlin/src/module/configuration_store.cpp | 24 +- Marlin/src/module/tool_change.cpp | 442 ++++++++---------- Marlin/src/module/tool_change.h | 8 +- buildroot/share/tests/STM32F1_tests | 2 +- 143 files changed, 1827 insertions(+), 1382 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index d50562f04..09ad249b4 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 1767b4e3c..de9c1015b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1095,6 +1095,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/default/Configuration.h b/Marlin/src/config/default/Configuration.h index d50562f04..09ad249b4 100644 --- a/Marlin/src/config/default/Configuration.h +++ b/Marlin/src/config/default/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index 1767b4e3c..de9c1015b 100755 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -1095,6 +1095,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h index c54f497a6..df5e48e91 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -965,9 +954,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 250 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index 0bfa47c9f..9a66d6906 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h index 68b3cc25f..350fa70e2 100644 --- a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h +++ b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 260 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Anet/A2/Configuration.h b/Marlin/src/config/examples/Anet/A2/Configuration.h index ac1996bb8..cef7791da 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h index 3fe750cc6..15899240f 100644 --- a/Marlin/src/config/examples/Anet/A2/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration.h b/Marlin/src/config/examples/Anet/A2plus/Configuration.h index 5186720c4..e4ea1c1ff 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h index 3fe750cc6..15899240f 100644 --- a/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Anet/A6/Configuration.h b/Marlin/src/config/examples/Anet/A6/Configuration.h index 118e2061a..88ad69adc 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1060,9 +1049,6 @@ #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index 7e38ce46d..e44b75091 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -1093,6 +1093,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Anet/A8/Configuration.h b/Marlin/src/config/examples/Anet/A8/Configuration.h index 9a540ac88..3b729240a 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration.h @@ -155,17 +155,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -952,9 +941,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 240 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index c1667c7f0..960f71758 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/ArmEd/Configuration.h b/Marlin/src/config/examples/ArmEd/Configuration.h index fe34dab29..cdf74682f 100644 --- a/Marlin/src/config/examples/ArmEd/Configuration.h +++ b/Marlin/src/config/examples/ArmEd/Configuration.h @@ -946,9 +946,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/ArmEd/Configuration_adv.h b/Marlin/src/config/examples/ArmEd/Configuration_adv.h index 94627c8e7..b0259df42 100644 --- a/Marlin/src/config/examples/ArmEd/Configuration_adv.h +++ b/Marlin/src/config/examples/ArmEd/Configuration_adv.h @@ -1023,6 +1023,15 @@ // @section extras +/** + * Extra Fan Speed + * Adds a secondary fan speed for each print-cooling fan. + * 'M106 P T3-255' : Set a secondary speed for + * 'M106 P T2' : Use the set secondary speed + * 'M106 P T1' : Restore the previous fan speed + */ +//#define EXTRA_FAN_SPEED + /** * Firmware-based and LCD-controlled retract * @@ -1059,13 +1068,31 @@ #endif /** - * Extra Fan Speed - * Adds a secondary fan speed for each print-cooling fan. - * 'M106 P T3-255' : Set a secondary speed for - * 'M106 P T2' : Use the set secondary speed - * 'M106 P T1' : Restore the previous fan speed + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. */ -//#define EXTRA_FAN_SPEED +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif /** * Advanced Pause diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h index 1855b8280..9daade4b7 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h index 134e2b923..160817eae 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. #define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS 186 #define Z_MAX_POS 186 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 c8ee18398..0290c42d1 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -1093,6 +1093,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h index a09a5ddf1..83e8e9a32 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS 93 #define Z_MAX_POS 186 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 96c2bbd62..83c2de2fe 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h index 9ae3f12f3..d05631d63 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -933,9 +922,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 180 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index 1af0e18af..e4c67c895 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h index 15d4c6ef3..0cbd50718 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h @@ -162,17 +162,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -946,9 +935,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 210 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 5c9f98a58..9fdf4e428 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -1102,6 +1102,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h index d26e708fe..f1fd8318b 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -933,9 +922,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index 1af0e18af..e4c67c895 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Cartesio/Configuration.h b/Marlin/src/config/examples/Cartesio/Configuration.h index e87adeca8..b7404119e 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration.h +++ b/Marlin/src/config/examples/Cartesio/Configuration.h @@ -155,17 +155,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -944,9 +933,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 400 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index 0fb70e050..cd3f21730 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration.h b/Marlin/src/config/examples/Creality/CR-10/Configuration.h index d9470209c..cede057f4 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -955,9 +944,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 400 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 a72f53bf0..33dca58df 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h index fde3fc31c..21435c635 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS 306 // 4mm Extra space behind the bed #define Z_MAX_POS 400 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 767696ba5..7320d4f91 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h index bb366f48b..d43352d40 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h @@ -163,17 +163,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -964,9 +953,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 300 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 2012592f2..417925a2c 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration.h b/Marlin/src/config/examples/Creality/CR-8/Configuration.h index 0460596c4..862352661 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -955,9 +944,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 310 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 01cede88c..5b8d3c5f5 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h index b7607a76f..7f2818e13 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -949,9 +938,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 4819a438e..4f38bcae8 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h index 416df1388..0e532a9dc 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -949,9 +938,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 250 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 b52d9259f..8a5daeb0a 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h index 99b836c11..f03d73f16 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -955,9 +944,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 310 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 106a850bf..4594d85e4 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Einstart-S/Configuration.h b/Marlin/src/config/examples/Einstart-S/Configuration.h index 86e0293d4..652f27fbd 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -955,9 +944,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 165 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h index 09a8d7002..9930139e4 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration_adv.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Felix/Configuration.h b/Marlin/src/config/examples/Felix/Configuration.h index 94881681b..d48a140b2 100644 --- a/Marlin/src/config/examples/Felix/Configuration.h +++ b/Marlin/src/config/examples/Felix/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -927,9 +916,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 235 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index b1e790617..613938999 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Felix/DUAL/Configuration.h b/Marlin/src/config/examples/Felix/DUAL/Configuration.h index 6546c809e..ce9e6cf40 100644 --- a/Marlin/src/config/examples/Felix/DUAL/Configuration.h +++ b/Marlin/src/config/examples/Felix/DUAL/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -927,9 +916,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 235 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h index 5d13b50d3..d9a60e48d 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -951,9 +940,6 @@ #define Y_MAX_POS 182 #define Z_MAX_POS 175 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 2fa8e0abb..084ef9a07 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Formbot/Raptor/Configuration.h b/Marlin/src/config/examples/Formbot/Raptor/Configuration.h index ab5060986..e44136589 100644 --- a/Marlin/src/config/examples/Formbot/Raptor/Configuration.h +++ b/Marlin/src/config/examples/Formbot/Raptor/Configuration.h @@ -195,17 +195,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1041,9 +1030,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 500 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h b/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h index 4664e102e..964de539d 100644 --- a/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h +++ b/Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 563a4c9f4..fbf0d71fc 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h @@ -157,17 +157,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -987,9 +976,6 @@ #define Z_MAX_POS 500 #endif -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 69d7108be..bfff9cd95 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 @@ -1098,6 +1098,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 2cdbfc835..776119cca 100644 --- a/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h +++ b/Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h @@ -158,17 +158,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -970,9 +959,6 @@ #define Z_MAX_POS 500 #endif -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 7122a7006..b3d423039 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 @@ -1099,6 +1099,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h index 10f3e1cb1..f992c4b77 100644 --- a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -960,9 +949,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 2a70a8dca..bf4333174 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 @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 170 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h b/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h index ce6060870..3df7e6f95 100644 --- a/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -952,9 +941,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 162 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h b/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h index dc9c8d8ab..13b4448e0 100644 --- a/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h +++ b/Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h @@ -1095,6 +1095,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 07b0bc2f7..436c1a9c9 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 @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -961,9 +950,6 @@ #define Y_MAX_POS (-Y_MIN_POS+Y_BED_SIZE) #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 7ecd47b38..549551f2a 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 @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -960,9 +949,6 @@ #define Y_MAX_POS (-Y_MIN_POS+Y_BED_SIZE) #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 3936bc2aa..8b50a3aff 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 @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 180 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 78650f6cb..2f9ae9eae 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 @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 6b2581067..1033325fa 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 @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 180 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 78650f6cb..2f9ae9eae 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 @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h index 38dd5f06b..fb26dd6f0 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -949,9 +938,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 185 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 4b84079bd..d1ef05b4d 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration.h b/Marlin/src/config/examples/JGAurora/A5/Configuration.h index bb04a4c13..8838b110e 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration.h @@ -159,17 +159,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -957,9 +946,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 320 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h index ae40c779e..0a65c7784 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/MakerParts/Configuration.h b/Marlin/src/config/examples/MakerParts/Configuration.h index 7f8d77b6f..50f63b9bd 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration.h +++ b/Marlin/src/config/examples/MakerParts/Configuration.h @@ -174,17 +174,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -965,9 +954,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/MakerParts/Configuration_adv.h b/Marlin/src/config/examples/MakerParts/Configuration_adv.h index 78a18ebd6..c39e91a7a 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration_adv.h +++ b/Marlin/src/config/examples/MakerParts/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration.h b/Marlin/src/config/examples/Malyan/M150/Configuration.h index e8a220ab3..0b4950205 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration.h @@ -159,17 +159,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -969,9 +958,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 180 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index 3e1d0e5f0..96e9f21a7 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration.h b/Marlin/src/config/examples/Malyan/M200/Configuration.h index 5847aaf82..f6c587e7a 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -944,9 +933,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h index a9a1d9b4f..49a9126b9 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h index 53c4b0995..68f6430e2 100644 --- a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -949,9 +938,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 260 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h index dc7ed20bc..0e8ee1e38 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -949,9 +938,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 260 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 d586dea9d..d378f46b6 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration.h b/Marlin/src/config/examples/Mks/Sbase/Configuration.h index 99b965588..89368941e 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index 6feb61e03..b3977b2d7 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -1102,6 +1102,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h index 662d5c058..121f9af6b 100644 --- a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h +++ b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -994,9 +983,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 80 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h index 3180b6bf7..0e54a291e 100644 --- a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/RigidBot/Configuration.h b/Marlin/src/config/examples/RigidBot/Configuration.h index 954fcad18..0f09f1459 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration.h +++ b/Marlin/src/config/examples/RigidBot/Configuration.h @@ -157,17 +157,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -943,9 +932,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 254 // RigidBot regular and Big are 254mm -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index 27e47e5ed..9775520b5 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/SCARA/Configuration.h b/Marlin/src/config/examples/SCARA/Configuration.h index 209cd8bc1..d7aa407d1 100644 --- a/Marlin/src/config/examples/SCARA/Configuration.h +++ b/Marlin/src/config/examples/SCARA/Configuration.h @@ -185,17 +185,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -958,9 +947,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 225 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index c896f3450..4a960304b 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/STM32F10/Configuration.h b/Marlin/src/config/examples/STM32F10/Configuration.h index 5f1a9fd16..0c4fadc32 100644 --- a/Marlin/src/config/examples/STM32F10/Configuration.h +++ b/Marlin/src/config/examples/STM32F10/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -947,9 +936,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 180 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/STM32F4/Configuration.h b/Marlin/src/config/examples/STM32F4/Configuration.h index 9ae89f4e3..9b2b35788 100644 --- a/Marlin/src/config/examples/STM32F4/Configuration.h +++ b/Marlin/src/config/examples/STM32F4/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration.h b/Marlin/src/config/examples/Sanguinololu/Configuration.h index ab9feaab3..e6295d115 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -976,9 +965,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 170 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index c927205f0..4071f721e 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/TheBorg/Configuration.h b/Marlin/src/config/examples/TheBorg/Configuration.h index a8e8f1fe2..33974b0b0 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration.h +++ b/Marlin/src/config/examples/TheBorg/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/TheBorg/Configuration_adv.h b/Marlin/src/config/examples/TheBorg/Configuration_adv.h index cf2f89d7b..b4c498c8b 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration_adv.h +++ b/Marlin/src/config/examples/TheBorg/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration.h b/Marlin/src/config/examples/TinyBoy2/Configuration.h index b126b7066..ea0f35216 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration.h @@ -176,17 +176,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1001,9 +990,6 @@ #define Z_MAX_POS 158 #endif -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index 7b560fc98..6dfbc9902 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Tronxy/X1/Configuration.h b/Marlin/src/config/examples/Tronxy/X1/Configuration.h index 0324b028a..9efc861d0 100644 --- a/Marlin/src/config/examples/Tronxy/X1/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X1/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 150 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h index fe4d2910d..bb2f3a8fa 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -949,9 +938,6 @@ #define Y_MAX_POS Y_BED_SIZE - (TRONXY_Y_BED_OFFSET + 5) #define Z_MAX_POS 316 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h index 40c646af5..b6a32f3bb 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h index b50d6314c..2bd0f9f11 100644 --- a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 400 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h index 82bcaaf86..023befcb0 100644 --- a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -956,9 +945,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 130 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h index 978d5a4f2..26a93655a 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index 07a0cde4c..4b841c091 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration.h b/Marlin/src/config/examples/Velleman/K8200/Configuration.h index 4a1524cb5..a35a67766 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration.h @@ -174,17 +174,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -975,9 +964,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index c5e66d052..4ca547705 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -1107,6 +1107,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Configuration.h index 6b004dcb6..82b9c3901 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 190 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index cb4975fc4..77ffaa188 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 013a4e881..1bfbb735a 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 190 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h index 41bd8fe8c..545b7a26d 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -955,9 +944,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 170 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 b02b626c8..9a8a234b5 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h index 2139ade2d..0be2b56fc 100644 --- a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h +++ b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -945,9 +934,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 200 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h index 34842ae83..5a577ddcd 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h @@ -169,17 +169,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1133,9 +1122,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 134598bd8..50c6d0853 100644 --- a/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 05a50fa09..f7ae89e47 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1073,9 +1062,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 7e7428b9d..4337f6203 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 @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h index bb010f8ca..d29c31148 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1072,9 +1061,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 7e7428b9d..4337f6203 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. 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 3e24eeed4..6801592a3 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1072,9 +1061,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 9dafd9cc8..a2a175cdc 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 @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h index 7c8603e1f..996bb58b0 100644 --- a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -159,17 +159,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1075,9 +1064,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/delta/generic/Configuration.h b/Marlin/src/config/examples/delta/generic/Configuration.h index 288763bb6..29bb6f54f 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration.h +++ b/Marlin/src/config/examples/delta/generic/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1060,9 +1049,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index 9dafd9cc8..a2a175cdc 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h index 6ef57d047..8185306dc 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1062,9 +1051,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 9dafd9cc8..a2a175cdc 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h index 72d006d43..33f43cbec 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h @@ -158,17 +158,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1063,9 +1052,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h index 977faac22..f5aa6b593 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -1063,9 +1052,6 @@ #define Y_MAX_POS DELTA_PRINTABLE_RADIUS #define Z_MAX_POS MANUAL_Z_HOME_POS -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 5bebc15a9..462d51ea9 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -1096,6 +1096,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h index 6b9670484..a4d41f019 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h @@ -159,17 +159,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -959,9 +948,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 500 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * 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 8bcc53640..615fb398f 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/makibox/Configuration.h b/Marlin/src/config/examples/makibox/Configuration.h index 73119f6ef..98d83e367 100644 --- a/Marlin/src/config/examples/makibox/Configuration.h +++ b/Marlin/src/config/examples/makibox/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -948,9 +937,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 86 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index 8defed95e..be1b1c0e4 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/stm32f103ret6/Configuration.h b/Marlin/src/config/examples/stm32f103ret6/Configuration.h index f75c6131b..16b2ffc4e 100644 --- a/Marlin/src/config/examples/stm32f103ret6/Configuration.h +++ b/Marlin/src/config/examples/stm32f103ret6/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -947,9 +936,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 180 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h index 765b37a19..47b16f0a3 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -940,9 +929,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 120 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index 2751e9812..751914c8f 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -1094,6 +1094,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/config/examples/wt150/Configuration.h b/Marlin/src/config/examples/wt150/Configuration.h index a40e9842c..0f7296fba 100644 --- a/Marlin/src/config/examples/wt150/Configuration.h +++ b/Marlin/src/config/examples/wt150/Configuration.h @@ -154,17 +154,6 @@ // For Cyclops or any "multi-extruder" that shares a single nozzle. //#define SINGLENOZZLE -#if ENABLED(SINGLENOZZLE) - // Parameters for filament retract / prime on toolchange - #define SINGLENOZZLE_SWAP_LENGTH 12 // (mm) - #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600 // (mm/m) - #define SINGLENOZZLE_SWAP_PRIME_SPEED 3600 // (mm/m) - //#define SINGLENOZZLE_SWAP_PARK - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #define SINGLENOZZLE_TOOLCHANGE_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000 // (mm/m) - #endif -#endif /** * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants. @@ -950,9 +939,6 @@ #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 143.0 -// Z raise distance for tool-change, as needed for some extruders -#define TOOLCHANGE_ZRAISE 2 // (mm) - /** * Software Endstops * diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index a4cb3eda7..ac751eb77 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -1095,6 +1095,33 @@ #endif #endif +/** + * Universal tool change settings. + * Applies to all types of extruders except where explicitly noted. + */ +#if EXTRUDERS > 1 + // Z raise distance for tool-change, as needed for some extruders + #define TOOLCHANGE_ZRAISE 2 // (mm) + + // Retract and prime filament on tool-change + //#define TOOLCHANGE_FILAMENT_SWAP + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #define TOOLCHANGE_FIL_SWAP_LENGTH 12 // (mm) + #define TOOLCHANGE_FIL_SWAP_RETRACT_SPEED 3600 // (mm/m) + #define TOOLCHANGE_FIL_SWAP_PRIME_SPEED 3600 // (mm/m) + #endif + + /** + * Position to park head during tool change. + * Doesn't apply to SWITCHING_TOOLHEAD, DUAL_X_CARRIAGE, or PARKING_EXTRUDER + */ + //#define TOOLCHANGE_PARK + #if ENABLED(TOOLCHANGE_PARK) + #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #endif +#endif + /** * Advanced Pause * Experimental feature for filament change support and for parking the nozzle when paused. diff --git a/Marlin/src/gcode/config/M217.cpp b/Marlin/src/gcode/config/M217.cpp index 15d79da0a..c9e2c56a5 100644 --- a/Marlin/src/gcode/config/M217.cpp +++ b/Marlin/src/gcode/config/M217.cpp @@ -37,13 +37,13 @@ void M217_report(const bool eeprom=false) { const int16_t port = command_queue_port[cmd_queue_index_r]; #endif - #if ENABLED(SINGLENOZZLE) + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) serialprintPGM_P(port, eeprom ? PSTR(" M217") : PSTR("Singlenozzle:")); SERIAL_ECHOPAIR_P(port, " S", LINEAR_UNIT(toolchange_settings.swap_length)); SERIAL_ECHOPAIR_P(port, " P", LINEAR_UNIT(toolchange_settings.prime_speed)); SERIAL_ECHOPAIR_P(port, " R", LINEAR_UNIT(toolchange_settings.retract_speed)); - #if ENABLED(SINGLENOZZLE_SWAP_PARK) + #if ENABLED(TOOLCHANGE_PARK) SERIAL_ECHOPAIR_P(port, " X", LINEAR_UNIT(toolchange_settings.change_point.x)); SERIAL_ECHOPAIR_P(port, " Y", LINEAR_UNIT(toolchange_settings.change_point.y)); #endif @@ -60,8 +60,8 @@ void M217_report(const bool eeprom=false) { * S[linear] Swap length * P[linear/m] Prime speed * R[linear/m] Retract speed - * X[linear] Park X (Requires SINGLENOZZLE_SWAP_PARK) - * Y[linear] Park Y (Requires SINGLENOZZLE_SWAP_PARK) + * X[linear] Park X (Requires TOOLCHANGE_PARK) + * Y[linear] Park Y (Requires TOOLCHANGE_PARK) * Z[linear] Z Raise */ void GcodeSuite::M217() { @@ -69,7 +69,7 @@ void GcodeSuite::M217() { #define SPR_PARAM #define XY_PARAM - #if ENABLED(SINGLENOZZLE) + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) #undef SPR_PARAM #define SPR_PARAM "SPR" @@ -77,20 +77,16 @@ void GcodeSuite::M217() { if (parser.seenval('S')) { const float v = parser.value_linear_units(); toolchange_settings.swap_length = constrain(v, 0, 500); } if (parser.seenval('P')) { const int16_t v = parser.value_linear_units(); toolchange_settings.prime_speed = constrain(v, 10, 5400); } if (parser.seenval('R')) { const int16_t v = parser.value_linear_units(); toolchange_settings.retract_speed = constrain(v, 10, 5400); } - - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #undef XY_PARAM - #define XY_PARAM "XY" - if (parser.seenval('X')) { toolchange_settings.change_point.x = parser.value_linear_units(); } - if (parser.seenval('Y')) { toolchange_settings.change_point.y = parser.value_linear_units(); } - #endif - #endif - + #if ENABLED(TOOLCHANGE_PARK) + #undef XY_PARAM + #define XY_PARAM "XY" + if (parser.seenval('X')) { toolchange_settings.change_point.x = parser.value_linear_units(); } + if (parser.seenval('Y')) { toolchange_settings.change_point.y = parser.value_linear_units(); } + #endif if (parser.seenval('Z')) { toolchange_settings.z_raise = parser.value_linear_units(); } if (!parser.seen(SPR_PARAM XY_PARAM "Z")) M217_report(); - } #endif // EXTRUDERS > 1 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 09c9fbabc..77945e245 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -313,6 +313,18 @@ #error "TOOLCHANGE_PARK_ZLIFT and TOOLCHANGE_UNPARK_ZLIFT are now TOOLCHANGE_ZRAISE. Please update your configuration." #elif defined(SINGLENOZZLE_TOOLCHANGE_ZRAISE) #error "SINGLENOZZLE_TOOLCHANGE_ZRAISE is now TOOLCHANGE_ZRAISE. Please update your configuration." +#elif defined(SINGLENOZZLE_SWAP_LENGTH) + #error "SINGLENOZZLE_SWAP_LENGTH is now TOOLCHANGE_FIL_SWAP_LENGTH. Please update your configuration." +#elif defined(SINGLENOZZLE_SWAP_RETRACT_SPEED) + #error "SINGLENOZZLE_SWAP_RETRACT_SPEED is now TOOLCHANGE_FIL_SWAP_RETRACT_SPEED. Please update your configuration." +#elif defined(SINGLENOZZLE_SWAP_PRIME_SPEED) + #error "SINGLENOZZLE_SWAP_PRIME_SPEED is now TOOLCHANGE_FIL_SWAP_PRIME_SPEED. Please update your configuration." +#elif defined(SINGLENOZZLE_SWAP_PARK) + #error "SINGLENOZZLE_SWAP_PARK is now TOOLCHANGE_PARK. Please update your configuration." +#elif defined(SINGLENOZZLE_TOOLCHANGE_XY) + #error "SINGLENOZZLE_TOOLCHANGE_XY is now TOOLCHANGE_PARK_XY. Please update your configuration." +#elif defined(SINGLENOZZLE_PARK_XY_FEEDRATE) + #error "SINGLENOZZLE_PARK_XY_FEEDRATE is now TOOLCHANGE_PARK_XY_FEEDRATE. Please update your configuration." #elif defined(PARKING_EXTRUDER_SECURITY_RAISE) #error "PARKING_EXTRUDER_SECURITY_RAISE is now TOOLCHANGE_ZRAISE. Please update your configuration." #elif defined(SWITCHING_TOOLHEAD_SECURITY_RAISE) @@ -627,26 +639,26 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, #error "EXTRUDERS must be 1 with HEATERS_PARALLEL." #endif - #if ENABLED(SINGLENOZZLE) - #ifndef SINGLENOZZLE_SWAP_LENGTH - #error "SINGLENOZZLE requires SINGLENOZZLE_SWAP_LENGTH. Please update your Configuration." - #elif !defined(SINGLENOZZLE_SWAP_RETRACT_SPEED) - #error "SINGLENOZZLE requires SINGLENOZZLE_SWAP_RETRACT_SPEED. Please update your Configuration." - #elif !defined(SINGLENOZZLE_SWAP_PRIME_SPEED) - #error "SINGLENOZZLE requires SINGLENOZZLE_SWAP_PRIME_SPEED. Please update your Configuration." + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + #ifndef TOOLCHANGE_FIL_SWAP_LENGTH + #error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FIL_SWAP_LENGTH. Please update your Configuration." + #elif !defined(TOOLCHANGE_FIL_SWAP_RETRACT_SPEED) + #error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FIL_SWAP_RETRACT_SPEED. Please update your Configuration." + #elif !defined(TOOLCHANGE_FIL_SWAP_PRIME_SPEED) + #error "TOOLCHANGE_FILAMENT_SWAP requires TOOLCHANGE_FIL_SWAP_PRIME_SPEED. Please update your Configuration." #endif - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - #ifndef SINGLENOZZLE_TOOLCHANGE_XY - #error "SINGLENOZZLE_SWAP_PARK requires SINGLENOZZLE_TOOLCHANGE_XY. Please update your Configuration." - #elif !defined(SINGLENOZZLE_PARK_XY_FEEDRATE) - #error "SINGLENOZZLE_SWAP_PARK requires SINGLENOZZLE_PARK_XY_FEEDRATE. Please update your Configuration." - #endif - #else - #ifndef TOOLCHANGE_ZRAISE - #error "SINGLENOZZLE requires TOOLCHANGE_ZRAISE. Please update your Configuration." - #endif + #endif + #if ENABLED(TOOLCHANGE_PARK) + #ifndef TOOLCHANGE_PARK_XY + #error "TOOLCHANGE_PARK requires TOOLCHANGE_PARK_XY. Please update your Configuration." + #elif !defined(TOOLCHANGE_PARK_XY_FEEDRATE) + #error "TOOLCHANGE_PARK requires TOOLCHANGE_PARK_XY_FEEDRATE. Please update your Configuration." #endif #endif + + #ifndef TOOLCHANGE_ZRAISE + #error "TOOLCHANGE_ZRAISE required for EXTRUDERS > 1. Please update your Configuration." + #endif #elif ENABLED(MK2_MULTIPLEXER) #error "MK2_MULTIPLEXER requires 2 or more EXTRUDERS." diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index 0773c6c11..4905f1db5 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -96,7 +96,7 @@ static void lcd_factory_settings() { void menu_tool_change() { START_MENU(); MENU_BACK(MSG_MAIN); - #if ENABLED(SINGLENOZZLE) + #if ENABLED(TOOLCHANGE_PARK) MENU_ITEM_EDIT(float3, MSG_FILAMENT_SWAP_LENGTH, &toolchange_settings.swap_length, 0, 200); MENU_MULTIPLIER_ITEM_EDIT(int4, MSG_SINGLENOZZLE_RETRACT_SPD, &toolchange_settings.retract_speed, 10, 5400); MENU_MULTIPLIER_ITEM_EDIT(int4, MSG_SINGLENOZZLE_PRIME_SPD, &toolchange_settings.prime_speed, 10, 5400); diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index 1a02a1337..dbac3377a 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -266,7 +266,7 @@ typedef struct SettingsDataStruct { fil_change_settings_t fc_settings[EXTRUDERS]; // M603 T U L // - // SINGLENOZZLE toolchange values + // Tool-change settings // #if EXTRUDERS > 1 toolchange_settings_t toolchange_settings; // M217 S P R @@ -990,7 +990,7 @@ void MarlinSettings::postprocess() { } // - // SINGLENOZZLE + // Multiple Extruders // #if EXTRUDERS > 1 @@ -1637,7 +1637,7 @@ void MarlinSettings::postprocess() { } // - // SINGLENOZZLE toolchange values + // Tool-change settings // #if EXTRUDERS > 1 _FIELD_TEST(toolchange_settings); @@ -1905,13 +1905,13 @@ void MarlinSettings::reset(PORTARG_SOLO) { #endif #if EXTRUDERS > 1 - #if ENABLED(SINGLENOZZLE) - toolchange_settings.swap_length = SINGLENOZZLE_SWAP_LENGTH; - toolchange_settings.prime_speed = SINGLENOZZLE_SWAP_PRIME_SPEED; - toolchange_settings.retract_speed = SINGLENOZZLE_SWAP_RETRACT_SPEED; - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - toolchange_settings.change_point = SINGLENOZZLE_TOOLCHANGE_XY; - #endif + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + toolchange_settings.swap_length = TOOLCHANGE_FIL_SWAP_LENGTH; + toolchange_settings.prime_speed = TOOLCHANGE_FIL_SWAP_PRIME_SPEED; + toolchange_settings.retract_speed = TOOLCHANGE_FIL_SWAP_RETRACT_SPEED; + #endif + #if ENABLED(TOOLCHANGE_PARK) + toolchange_settings.change_point = TOOLCHANGE_PARK_XY; #endif toolchange_settings.z_raise = TOOLCHANGE_ZRAISE; #endif @@ -2978,10 +2978,10 @@ void MarlinSettings::reset(PORTARG_SOLO) { #endif // EXTRUDERS == 1 #endif // ADVANCED_PAUSE_FEATURE - #if ENABLED(SINGLENOZZLE) + #if EXTRUDERS > 1 CONFIG_ECHO_START; if (!forReplay) { - SERIAL_ECHOLNPGM_P(port, "SINGLENOZZLE:"); + SERIAL_ECHOLNPGM_P(port, "Tool-changing:"); CONFIG_ECHO_START; } M217_report(true); diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index db75f90b6..da3fa4f34 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -441,30 +441,16 @@ inline void invalid_extruder_error(const uint8_t e) { const float xhome = x_home_pos(active_extruder); if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE && IsRunning() - && (delayed_move_time || current_position[X_AXIS] != xhome) + && (delayed_move_time || current_position[X_AXIS] != xhome) && ! no_move ) { - float raised_z = current_position[Z_AXIS] + toolchange_settings.z_raise; - #if ENABLED(MAX_SOFTWARE_ENDSTOPS) - NOMORE(raised_z, soft_endstop_max[Z_AXIS]); - #endif + #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) { - SERIAL_ECHOLNPAIR("Raise to ", raised_z); SERIAL_ECHOLNPAIR("MoveX to ", xhome); - SERIAL_ECHOLNPAIR("Lower to ", current_position[Z_AXIS]); } #endif - // Park old head: 1) raise 2) move to park position 3) lower - - #define CUR_X current_position[X_AXIS] - #define CUR_Y current_position[Y_AXIS] - #define CUR_Z current_position[Z_AXIS] - #define CUR_E current_position[E_AXIS] - - planner.buffer_line(CUR_X, CUR_Y, raised_z, CUR_E, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder); - planner.buffer_line(xhome, CUR_Y, raised_z, CUR_E, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder); - planner.buffer_line(xhome, CUR_Y, CUR_Z, CUR_E, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder); - + // Park old head + planner.buffer_line(xhome, current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder); planner.synchronize(); } @@ -482,9 +468,6 @@ inline void invalid_extruder_error(const uint8_t e) { if (DEBUGGING(LEVELING)) DEBUG_POS("New Extruder", current_position); #endif - // Only when auto-parking are carriages safe to move - if (dual_x_carriage_mode != DXC_AUTO_PARK_MODE) no_move = true; - switch (dual_x_carriage_mode) { case DXC_FULL_CONTROL_MODE: // New current position is the position of the activated extruder @@ -493,12 +476,8 @@ inline void invalid_extruder_error(const uint8_t e) { inactive_extruder_x_pos = destination[X_AXIS]; break; case DXC_AUTO_PARK_MODE: - // record raised toolhead position for use by unpark + // record current raised toolhead position for use by unpark COPY(raised_parked_position, current_position); - raised_parked_position[Z_AXIS] += toolchange_settings.z_raise; - #if ENABLED(MAX_SOFTWARE_ENDSTOPS) - NOMORE(raised_parked_position[Z_AXIS], soft_endstop_max[Z_AXIS]); - #endif active_extruder_parked = true; delayed_move_time = 0; break; @@ -510,8 +489,6 @@ inline void invalid_extruder_error(const uint8_t e) { DEBUG_POS("New extruder (parked)", current_position); } #endif - - // No extra case for HAS_ABL in DUAL_X_CARRIAGE. Does that mean they don't work together? } #endif // DUAL_X_CARRIAGE @@ -521,30 +498,35 @@ inline void invalid_extruder_error(const uint8_t e) { * previous tool out of the way and the new tool into place. */ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) { - #if DISABLED(MIXING_EXTRUDER) - planner.synchronize(); - #endif + #if EXTRUDERS < 2 - #if ENABLED(DUAL_X_CARRIAGE) // Only T0 allowed if the Printer is in DXC_DUPLICATION_MODE or DXC_SCALED_DUPLICATION_MODE - if (tmp_extruder != 0 && dxc_is_duplicating()) - return invalid_extruder_error(tmp_extruder); - #endif + return invalid_extruder_error(tmp_extruder); - #if HAS_LEVELING - // Set current position to the physical position - const bool leveling_was_active = planner.leveling_active; - set_bed_leveling_enabled(false); - #endif + #elif ENABLED(MIXING_EXTRUDER) && MIXING_VIRTUAL_TOOLS > 1 - #if ENABLED(MIXING_EXTRUDER) && MIXING_VIRTUAL_TOOLS > 1 - if (tmp_extruder >= MIXING_VIRTUAL_TOOLS) - return invalid_extruder_error(tmp_extruder); - // T0-Tnnn: Switch virtual tool by changing the index to the mix - mixer.T(uint_fast8_t(tmp_extruder)); - UNUSED(fr_mm_s); - UNUSED(no_move); + if (tmp_extruder >= MIXING_VIRTUAL_TOOLS) + return invalid_extruder_error(tmp_extruder); + // T0-Tnnn: Switch virtual tool by changing the index to the mix + mixer.T(uint_fast8_t(tmp_extruder)); + UNUSED(fr_mm_s); + UNUSED(no_move); - #else // !MIXING_EXTRUDER || MIXING_VIRTUAL_TOOLS <= 1 + #else + + #if DISABLED(MIXING_EXTRUDER) + planner.synchronize(); + #endif + + #if ENABLED(DUAL_X_CARRIAGE) // Only T0 allowed if the Printer is in DXC_DUPLICATION_MODE or DXC_SCALED_DUPLICATION_MODE + if (tmp_extruder != 0 && dxc_is_duplicating()) + return invalid_extruder_error(tmp_extruder); + #endif + + #if HAS_LEVELING + // Set current position to the physical position + const bool leveling_was_active = planner.leveling_active; + set_bed_leveling_enabled(false); + #endif if (tmp_extruder >= EXTRUDERS) return invalid_extruder_error(tmp_extruder); @@ -556,166 +538,27 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n #endif } - #if HOTENDS > 1 + #if ENABLED(ULTIPANEL) + lcd_return_to_status(); + #endif - const float old_feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : feedrate_mm_s; - - feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : XY_PROBE_FEEDRATE_MM_S; - - if (tmp_extruder != active_extruder) { - - #if ENABLED(DUAL_X_CARRIAGE) - - #if HAS_SOFTWARE_ENDSTOPS - // Update the X software endstops early - active_extruder = tmp_extruder; - update_software_endstops(X_AXIS); - active_extruder = !tmp_extruder; - - // Don't move the new extruder out of bounds - if (!WITHIN(current_position[X_AXIS], soft_endstop_min[X_AXIS], soft_endstop_max[X_AXIS])) - no_move = true; - - #else - // No software endstops? Use the configured limits - if (active_extruder == 0) { - if (!WITHIN(current_position[X_AXIS], X2_MIN_POS, X2_MAX_POS)) - no_move = true; - } - else if (!WITHIN(current_position[X_AXIS], X1_MIN_POS, X1_MAX_POS)) - no_move = true; - #endif - - #if HAS_LCD_MENU - lcd_return_to_status(); - #endif - - if (!no_move) set_destination_from_current(); - dualx_tool_change(tmp_extruder, no_move); // Can modify no_move - - #else // !DUAL_X_CARRIAGE - - set_destination_from_current(); - - const float xdiff = hotend_offset[X_AXIS][tmp_extruder] - hotend_offset[X_AXIS][active_extruder], - ydiff = hotend_offset[Y_AXIS][tmp_extruder] - hotend_offset[Y_AXIS][active_extruder]; - - #if ENABLED(PARKING_EXTRUDER) // Dual Parking extruder - constexpr float zdiff = 0; - parking_extruder_tool_change(tmp_extruder, no_move); - #elif ENABLED(SWITCHING_TOOLHEAD) // Switching Toolhead - constexpr float zdiff = 0; - switching_toolhead_tool_change(tmp_extruder, fr_mm_s, no_move); - #else - const float zdiff = hotend_offset[Z_AXIS][tmp_extruder] - hotend_offset[Z_AXIS][active_extruder]; - #if ENABLED(SWITCHING_NOZZLE) - // Always raise by a configured distance to avoid workpiece - current_position[Z_AXIS] += MAX(-zdiff, 0.0) + toolchange_settings.z_raise; - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder); - move_nozzle_servo(tmp_extruder); - #endif - #endif - - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) { - SERIAL_ECHOPAIR("Offset Tool XY by { ", xdiff); - SERIAL_ECHOPAIR(", ", ydiff); - SERIAL_ECHOPAIR(", ", zdiff); - SERIAL_ECHOLNPGM(" }"); - } - #endif - - // The newly-selected extruder XY is actually at... - current_position[X_AXIS] += xdiff; - current_position[Y_AXIS] += ydiff; - current_position[Z_AXIS] += zdiff; - - // Set the new active extruder - active_extruder = tmp_extruder; - - #endif // !DUAL_X_CARRIAGE - - // Tell the planner the new "current position" - sync_plan_position(); - - #if ENABLED(DELTA) - //LOOP_XYZ(i) update_software_endstops(i); // or modify the constrain function - const bool safe_to_move = current_position[Z_AXIS] < delta_clip_start_height - 1; - #else - constexpr bool safe_to_move = true; - #endif - - // Raise, move, and lower again - if (safe_to_move && !no_move && IsRunning()) { - #if DISABLED(SWITCHING_NOZZLE) - // Do a small lift to avoid the workpiece in the move back (below) - current_position[Z_AXIS] += toolchange_settings.z_raise; - planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder); - #endif - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) DEBUG_POS("Move back", destination); - #endif - #if ENABLED(DUAL_X_CARRIAGE) - // Dual x carriage does not properly apply these to current position due to command ordering - // So we apply the offsets for y and z to the destination here. X cannot have an offset in this mode - // as it is utilized for X2 home position. - destination[Y_AXIS] -= hotend_offset[Y_AXIS][active_extruder] - hotend_offset[Y_AXIS][tmp_extruder]; - destination[Z_AXIS] -= hotend_offset[Z_AXIS][active_extruder] - hotend_offset[Z_AXIS][tmp_extruder]; - #endif - // Move back to the original (or tweaked) position - do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]); - #if ENABLED(DUAL_X_CARRIAGE) - active_extruder_parked = false; - #endif - } - #if ENABLED(SWITCHING_NOZZLE) - else { - // Move back down. (Including when the new tool is higher.) - do_blocking_move_to_z(destination[Z_AXIS], planner.settings.max_feedrate_mm_s[Z_AXIS]); - } - #endif - } // (tmp_extruder != active_extruder) - - planner.synchronize(); - - #if ENABLED(EXT_SOLENOID) && DISABLED(PARKING_EXTRUDER) - disable_all_solenoids(); - enable_solenoid_on_active_extruder(); + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + const bool should_swap = !no_move && toolchange_settings.swap_length; + #if ENABLED(PREVENT_COLD_EXTRUSION) + const bool too_cold = !DEBUGGING(DRYRUN) && (thermalManager.targetTooColdToExtrude(active_extruder) || thermalManager.targetTooColdToExtrude(tmp_extruder)); + #else + constexpr bool too_cold = false; #endif - - feedrate_mm_s = old_feedrate_mm_s; - - #if ENABLED(DUAL_X_CARRIAGE) - update_software_endstops(X_AXIS); - #endif - - #else // HOTENDS <= 1 - - UNUSED(fr_mm_s); - UNUSED(no_move); - - #if ENABLED(MK2_MULTIPLEXER) - if (tmp_extruder >= E_STEPPERS) return invalid_extruder_error(tmp_extruder); - select_multiplexed_stepper(tmp_extruder); - #endif - - #if ENABLED(SINGLENOZZLE) - - #if ENABLED(PREVENT_COLD_EXTRUSION) - if (!DEBUGGING(DRYRUN) && thermalManager.targetTooColdToExtrude(active_extruder) && toolchange_settings.swap_length) { - SERIAL_ERROR_START(); - SERIAL_ERRORLNPGM(MSG_ERR_HOTEND_TOO_COLD); + if (should_swap) { + if (too_cold) { + SERIAL_ERROR_START(); + SERIAL_ERRORLNPGM(MSG_ERR_HOTEND_TOO_COLD); + #if ENABLED(SINGLENOZZLE) active_extruder = tmp_extruder; return; - } - #endif - - #if FAN_COUNT > 0 - singlenozzle_fan_speed[active_extruder] = fan_speed[0]; - fan_speed[0] = singlenozzle_fan_speed[tmp_extruder]; - #endif - - if (toolchange_settings.swap_length) { + #endif + } + else { #if ENABLED(ADVANCED_PAUSE_FEATURE) do_pause_e_move(-toolchange_settings.swap_length, MMM_TO_MMS(toolchange_settings.retract_speed)); #else @@ -723,58 +566,167 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n planner.buffer_line(current_position, MMM_TO_MMS(toolchange_settings.retract_speed), active_extruder); #endif } + } + #endif // TOOLCHANGE_FILAMENT_SWAP - constexpr float snfr = - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - MMM_TO_MMS(SINGLENOZZLE_PARK_XY_FEEDRATE); - #else - 0 - #endif - ; + if (tmp_extruder != active_extruder) { + const float old_feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : feedrate_mm_s; + feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : XY_PROBE_FEEDRATE_MM_S; - float old_pos[XYZ]; + #if ENABLED(DUAL_X_CARRIAGE) - if (!no_move) { - COPY(old_pos, current_position); + #if HAS_SOFTWARE_ENDSTOPS + // Update the X software endstops early + active_extruder = tmp_extruder; + update_software_endstops(X_AXIS); + active_extruder = !tmp_extruder; + const float minx = soft_endstop_min[X_AXIS], maxx = soft_endstop_max[X_AXIS]; + #else + // No software endstops? Use the configured limits + const float minx = tmp_extruder ? X2_MIN_POS : X1_MIN_POS, + maxx = tmp_extruder ? X2_MAX_POS : X1_MAX_POS; + #endif - #if ENABLED(SINGLENOZZLE_SWAP_PARK) + // Don't move the new extruder out of bounds + if (!WITHIN(current_position[X_AXIS], minx, maxx)) no_move = true; + + #endif + + if (!no_move) { + set_destination_from_current(); + #if DISABLED(SWITCHING_NOZZLE) + // Do a small lift to avoid the workpiece in the move back (below) + #if ENABLED(TOOLCHANGE_PARK) current_position[X_AXIS] = toolchange_settings.change_point.x; current_position[Y_AXIS] = toolchange_settings.change_point.y; #endif current_position[Z_AXIS] += toolchange_settings.z_raise; - - do_blocking_move_to(current_position, snfr); - } - - singlenozzle_temp[active_extruder] = thermalManager.target_temperature[0]; - if (singlenozzle_temp[tmp_extruder] && singlenozzle_temp[tmp_extruder] != singlenozzle_temp[active_extruder]) { - thermalManager.setTargetHotend(singlenozzle_temp[tmp_extruder], 0); - #if ENABLED(ULTRA_LCD) - thermalManager.set_heating_message(0); + #if HAS_SOFTWARE_ENDSTOPS + NOMORE(current_position[Z_AXIS], soft_endstop_max[Z_AXIS]); #endif - (void)thermalManager.wait_for_hotend(0, false); // Wait for heating or cooling - } - - active_extruder = tmp_extruder; - - if (toolchange_settings.swap_length) { - #if ENABLED(ADVANCED_PAUSE_FEATURE) - do_pause_e_move(toolchange_settings.swap_length, toolchange_settings.prime_speed); - #else - current_position[E_AXIS] += toolchange_settings.swap_length / planner.e_factor[tmp_extruder]; - planner.buffer_line(current_position, toolchange_settings.prime_speed, tmp_extruder); - #endif - } - - if (!no_move) do_blocking_move_to(old_pos, snfr); - - #elif EXTRUDERS > 1 - - active_extruder = tmp_extruder; + planner.buffer_line(current_position, feedrate_mm_s, active_extruder); + #endif + planner.synchronize(); + } + #if HOTENDS > 1 + const float xdiff = hotend_offset[X_AXIS][tmp_extruder] - hotend_offset[X_AXIS][active_extruder], + ydiff = hotend_offset[Y_AXIS][tmp_extruder] - hotend_offset[Y_AXIS][active_extruder], + zdiff = hotend_offset[Z_AXIS][tmp_extruder] - hotend_offset[Z_AXIS][active_extruder]; + #else + const float xdiff = 0, ydiff = 0, zdiff = 0; #endif - #endif // HOTENDS <= 1 + #if ENABLED(DUAL_X_CARRIAGE) + dualx_tool_change(tmp_extruder, no_move); + #elif ENABLED(PARKING_EXTRUDER) // Dual Parking extruder + parking_extruder_tool_change(tmp_extruder, no_move); + #elif ENABLED(SWITCHING_TOOLHEAD) // Switching Toolhead + switching_toolhead_tool_change(tmp_extruder, fr_mm_s, no_move); + #elif ENABLED(SWITCHING_NOZZLE) + // Always raise by a configured distance to avoid workpiece + current_position[Z_AXIS] += MAX(-zdiff, 0.0) + toolchange_settings.z_raise; + #if HAS_SOFTWARE_ENDSTOPS + NOMORE(current_position[Z_AXIS], soft_endstop_max[Z_AXIS]); + #endif + if (!no_move)planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder); + move_nozzle_servo(tmp_extruder); + #endif + + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOPAIR("Offset Tool XY by { ", xdiff); + SERIAL_ECHOPAIR(", ", ydiff); + SERIAL_ECHOPAIR(", ", zdiff); + SERIAL_ECHOLNPGM(" }"); + } + #endif + + // The newly-selected extruder XY is actually at... + #if DISABLED(DUAL_X_CARRIAGE) + current_position[X_AXIS] += xdiff; + #endif + current_position[Y_AXIS] += ydiff; + current_position[Z_AXIS] += zdiff; + + // Set the new active extruder if not already done in tool specific function above + active_extruder = tmp_extruder; + + // Tell the planner the new "current position" + sync_plan_position(); + + #if ENABLED(DELTA) + //LOOP_XYZ(i) update_software_endstops(i); // or modify the constrain function + const bool safe_to_move = current_position[Z_AXIS] < delta_clip_start_height - 1; + #else + constexpr bool safe_to_move = true; + #endif + + // Return to position and lower again + if (safe_to_move && !no_move && IsRunning()) { + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) DEBUG_POS("Move back", destination); + #endif + + #if ENABLED(SINGLENOZZLE) + #if FAN_COUNT > 0 + singlenozzle_fan_speed[active_extruder] = fan_speed[0]; + fan_speed[0] = singlenozzle_fan_speed[tmp_extruder]; + #endif + + singlenozzle_temp[active_extruder] = thermalManager.target_temperature[0]; + if (singlenozzle_temp[tmp_extruder] && singlenozzle_temp[tmp_extruder] != singlenozzle_temp[active_extruder]) { + thermalManager.setTargetHotend(singlenozzle_temp[tmp_extruder], 0); + #if ENABLED(ULTRA_LCD) + thermalManager.set_heating_message(0); + #endif + (void)thermalManager.wait_for_hotend(0, false); // Wait for heating or cooling + } + active_extruder = tmp_extruder; + #endif + + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) + if (should_swap && !too_cold) { + #if ENABLED(ADVANCED_PAUSE_FEATURE) + do_pause_e_move(toolchange_settings.swap_length, toolchange_settings.prime_speed); + #else + current_position[E_AXIS] += toolchange_settings.swap_length / planner.e_factor[tmp_extruder]; + planner.buffer_line(current_position, toolchange_settings.prime_speed, tmp_extruder); + #endif + planner.synchronize(); + } + #endif + + // Move back to the original (or tweaked) position + do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]); + #if ENABLED(DUAL_X_CARRIAGE) + active_extruder_parked = false; + #endif + feedrate_mm_s = old_feedrate_mm_s; + } + #if ENABLED(SWITCHING_NOZZLE) + else { + // Move back down. (Including when the new tool is higher.) + do_blocking_move_to_z(destination[Z_AXIS], planner.settings.max_feedrate_mm_s[Z_AXIS]); + } + #endif + } // (tmp_extruder != active_extruder) + + planner.synchronize(); + + #if ENABLED(EXT_SOLENOID) && DISABLED(PARKING_EXTRUDER) + disable_all_solenoids(); + enable_solenoid_on_active_extruder(); + #endif + + #if HAS_SOFTWARE_ENDSTOPS && ENABLED(DUAL_X_CARRIAGE) + update_software_endstops(X_AXIS); + #endif + + #if ENABLED(MK2_MULTIPLEXER) + if (tmp_extruder >= E_STEPPERS) return invalid_extruder_error(tmp_extruder); + select_multiplexed_stepper(tmp_extruder); + #endif #if DO_SWITCH_EXTRUDER planner.synchronize(); @@ -793,5 +745,5 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n SERIAL_ECHO_START(); SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, int(active_extruder)); - #endif // !MIXING_EXTRUDER || MIXING_VIRTUAL_TOOLS <= 1 + #endif // EXTRUDERS <= 1 && (!MIXING_EXTRUDER || MIXING_VIRTUAL_TOOLS <= 1) } diff --git a/Marlin/src/module/tool_change.h b/Marlin/src/module/tool_change.h index 221234778..39f6a4b52 100644 --- a/Marlin/src/module/tool_change.h +++ b/Marlin/src/module/tool_change.h @@ -26,12 +26,12 @@ #if EXTRUDERS > 1 typedef struct { - #if ENABLED(SINGLENOZZLE) + #if ENABLED(TOOLCHANGE_FILAMENT_SWAP) float swap_length; int16_t prime_speed, retract_speed; - #if ENABLED(SINGLENOZZLE_SWAP_PARK) - struct { float x, y; } change_point; - #endif + #endif + #if ENABLED(TOOLCHANGE_PARK) + struct { float x, y; } change_point; #endif float z_raise; } toolchange_settings_t; diff --git a/buildroot/share/tests/STM32F1_tests b/buildroot/share/tests/STM32F1_tests index 3a672445e..ac40acc07 100755 --- a/buildroot/share/tests/STM32F1_tests +++ b/buildroot/share/tests/STM32F1_tests @@ -10,7 +10,7 @@ restore_configs opt_set MOTHERBOARD BOARD_STM32F1R opt_set EXTRUDERS 2 opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT \ - PAREN_COMMENTS GCODE_MOTION_MODES SINGLENOZZLE SINGLENOZZLE_SWAP_LENGTH + PAREN_COMMENTS GCODE_MOTION_MODES SINGLENOZZLE TOOLCHANGE_FILAMENT_SWAP TOOLCHANGE_PARK exec_test $1 $2 "STM32F1R EEPROM_SETTINGS EEPROM_CHITCHAT REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT PAREN_COMMENTS GCODE_MOTION_MODES" opt_enable SPINDLE_LASER_ENABLE