From 63f0ee954286d69800970086b0838cea3d3c18ee Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 19 Sep 2017 12:58:29 +0200 Subject: [PATCH 1/2] pause print resume: fixed bug when working with absolute coordinates for extruder --- Firmware/ultralcd.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7c5b98708..1970d8da9 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -560,10 +560,16 @@ void lcd_commands() strcpy(cmd1, "G1 Z"); strcat(cmd1, ftostr32(pause_lastpos[Z_AXIS])); enquecommand(cmd1); - if (axis_relative_modes[3] == true) enquecommand_P(PSTR("M83")); // set extruder to relative mode. - else enquecommand_P(PSTR("M82")); // set extruder to absolute mode - enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract - enquecommand_P(PSTR("G90")); //absolute positioning + + if (axis_relative_modes[3] == false) { + enquecommand_P(PSTR("M83")); // set extruder to relative mode + enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract + enquecommand_P(PSTR("M82")); // set extruder to absolute mode + } + else { + enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract + } + lcd_commands_step = 1; } if (lcd_commands_step == 3 && !blocks_queued()) { //wait for nozzle to reach target temp @@ -578,7 +584,7 @@ void lcd_commands() strcpy(cmd1, "M104 S"); strcat(cmd1, ftostr3(HotendTempBckp)); enquecommand(cmd1); - + enquecommand_P(PSTR("G90")); //absolute positioning strcpy(cmd1, "G1 X"); strcat(cmd1, ftostr32(pause_lastpos[X_AXIS])); strcat(cmd1, " Y"); From 130b49200c163a00b5ebdb8fc79bad6a826d1aee Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 19 Sep 2017 13:06:40 +0200 Subject: [PATCH 2/2] changed version --- Firmware/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 0f8b2986a..5c7266b78 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -5,7 +5,7 @@ #include "Configuration_prusa.h" // Firmware version -#define FW_version "3.0.12-7" +#define FW_version "3.0.12-8" #define FW_PRUSA3D_MAGIC "PRUSA3DFW" #define FW_PRUSA3D_MAGIC_LEN 10