From 39ff97d6b240ff57cc3b308c1fc1da376e1ede4e Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Thu, 8 Nov 2018 21:55:51 -0500 Subject: [PATCH 1/2] Prevent error thrown by octoprint when calling T0 on connection with single extruder --- Marlin/src/module/tool_change.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index cdaf4294eb4e..0d2ef953f695 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -499,9 +499,10 @@ inline void invalid_extruder_error(const uint8_t e) { */ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) { #if EXTRUDERS < 2 - - return invalid_extruder_error(tmp_extruder); - + { + if(tmp_extruder) return invalid_extruder_error(tmp_extruder); + return; + } #elif ENABLED(MIXING_EXTRUDER) && MIXING_VIRTUAL_TOOLS > 1 if (tmp_extruder >= MIXING_VIRTUAL_TOOLS) From 7987e1a5afe1796cd99bcff312b79077fda71c3e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 9 Nov 2018 00:11:47 -0600 Subject: [PATCH 2/2] Don't break MIXING_EXTRUDER in tool_change --- Marlin/src/module/tool_change.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 0d2ef953f695..1d255a88fbc5 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -498,12 +498,7 @@ 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 EXTRUDERS < 2 - { - if(tmp_extruder) return invalid_extruder_error(tmp_extruder); - return; - } - #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); @@ -512,6 +507,11 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n UNUSED(fr_mm_s); UNUSED(no_move); + #elif EXTRUDERS < 2 + + if (tmp_extruder) invalid_extruder_error(tmp_extruder); + return; + #else #if DISABLED(MIXING_EXTRUDER)