From 11fa9e47ab8fd09a1b02c46b40e2f073e6b7a756 Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Tue, 8 Nov 2016 10:13:28 -0600 Subject: [PATCH] Fix to output correct set & wait gcode for Sailfish and MakerWare. Fixes #3546 and reimplements #3547 --- xs/src/libslic3r/GCodeWriter.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xs/src/libslic3r/GCodeWriter.cpp b/xs/src/libslic3r/GCodeWriter.cpp index d256ab2af..a7a52cc1a 100644 --- a/xs/src/libslic3r/GCodeWriter.cpp +++ b/xs/src/libslic3r/GCodeWriter.cpp @@ -78,11 +78,9 @@ GCodeWriter::postamble() const std::string GCodeWriter::set_temperature(unsigned int temperature, bool wait, int tool) const { - if (wait && (FLAVOR_IS(gcfMakerWare) || FLAVOR_IS(gcfSailfish))) - return ""; std::string code, comment; - if (wait && FLAVOR_IS_NOT(gcfTeacup)) { + if (wait && FLAVOR_IS_NOT(gcfTeacup) && FLAVOR_IS_NOT(gcfMakerWare) && FLAVOR_IS_NOT(gcfSailfish)) { code = "M109"; comment = "set temperature and wait for it to be reached"; } else { @@ -106,6 +104,9 @@ GCodeWriter::set_temperature(unsigned int temperature, bool wait, int tool) cons if (FLAVOR_IS(gcfTeacup) && wait) gcode << "M116 ; wait for temperature to be reached\n"; + if (wait && tool !=-1 && (FLAVOR_IS(gcfMakerWare) || FLAVOR_IS(gcfSailfish))) + gcode << "M6 T" << tool << " ; wait for temperature to be reached\n"; + return gcode.str(); }