From 3c2f735fb8ee8559d6aa4907fa74f39fd56b51d2 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 19 Feb 2018 10:58:06 -0600 Subject: [PATCH] Conditionals for SWITCHING_EXTRUDER In reference to #5367. SWITCHING_EXTRUDER was not fully implemented for EXTRUDERS > 2. --- Marlin/Conditionals_LCD.h | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h index 2ed21aa433..3c18f13add 100644 --- a/Marlin/Conditionals_LCD.h +++ b/Marlin/Conditionals_LCD.h @@ -402,18 +402,28 @@ #endif #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 /**