From c4ec01d59ba987a8de660a1c2b400012ad6cc885 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 19 Feb 2018 10:59:23 -0600 Subject: [PATCH] Conditionals for SWITCHING_EXTRUDER In reference to #5367. SWITCHING_EXTRUDER was not fully implemented for EXTRUDERS > 2. --- Marlin/src/inc/Conditionals_LCD.h | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 0524d202a1..5cec44b004 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -421,18 +421,28 @@ #define HOTEND_INDEX e #endif -#if ENABLED(SWITCHING_EXTRUDER) || ENABLED(MIXING_EXTRUDER) // Unified E axis - #if ENABLED(MIXING_EXTRUDER) - #define E_STEPPERS MIXING_STEPPERS +#if ENABLED(SWITCHING_EXTRUDER) // One stepper for every two EXTRUDERS + #if EXTRUDERS > 4 + #define E_STEPPERS 3 + #define E_MANUAL 3 + #define TOOL_E_INDEX current_block->active_extruder + #elif EXTRUDERS > 2 + #define E_STEPPERS 2 + #define E_MANUAL 2 + #define TOOL_E_INDEX current_block->active_extruder #else - #define E_STEPPERS 1 // One E stepper + #define E_STEPPERS 1 + #define TOOL_E_INDEX 0 #endif - #define E_MANUAL 1 - #define TOOL_E_INDEX 0 + #define E_MANUAL E_STEPPERS +#elif ENABLED(MIXING_EXTRUDER) + #define E_STEPPERS MIXING_STEPPERS + #define E_MANUAL 1 + #define TOOL_E_INDEX 0 #else - #define E_STEPPERS EXTRUDERS - #define E_MANUAL EXTRUDERS - #define TOOL_E_INDEX current_block->active_extruder + #define E_STEPPERS EXTRUDERS + #define E_MANUAL EXTRUDERS + #define TOOL_E_INDEX current_block->active_extruder #endif /**