From 3afc5c0dc1087a4dd8979a6eb4b362f17446d1c5 Mon Sep 17 00:00:00 2001 From: Knutwurst <36196269+knutwurst@users.noreply.github.com> Date: Sun, 13 Feb 2022 12:34:32 +0100 Subject: [PATCH] Automatically disable steppers after stopping the print. --- Marlin/src/inc/Version.h | 4 ++-- Marlin/src/lcd/anycubic_touchscreen.cpp | 26 +++++++------------------ 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 385022f2..d575f5ba 100755 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -41,10 +41,10 @@ * here we define this default string as the date where the latest release * version was tagged. */ - #define CUSTOM_BUILD_VERSION "1.4.1" + #define CUSTOM_BUILD_VERSION "1.4.2" #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2022-02-09" + #define STRING_DISTRIBUTION_DATE "2022-02-13" #endif /** diff --git a/Marlin/src/lcd/anycubic_touchscreen.cpp b/Marlin/src/lcd/anycubic_touchscreen.cpp index 3321a0e6..e2a1ed7d 100755 --- a/Marlin/src/lcd/anycubic_touchscreen.cpp +++ b/Marlin/src/lcd/anycubic_touchscreen.cpp @@ -498,22 +498,17 @@ void AnycubicTouchscreenClass::PausePrint() { inline void AnycubicTouchscreenClass::StopPrint() { card.abortFilePrintSoon(); - + #ifdef ANYCUBIC_TFT_DEBUG SERIAL_ECHOLNPGM("DEBUG: Stopped and cleared"); #endif - print_job_timer.stop(); - thermalManager.disable_all_heaters(); - thermalManager.zero_fan_speeds(); - ai3m_pause_state = 0; #ifdef ANYCUBIC_TFT_DEBUG SERIAL_ECHOPGM("DEBUG: AI3M Pause State: ", ai3m_pause_state); SERIAL_EOL(); #endif - IsParked = true; TFTstate = ANYCUBIC_TFT_STATE_SDSTOP_REQ; } @@ -588,21 +583,14 @@ void AnycubicTouchscreenClass::ReheatNozzle() { } void AnycubicTouchscreenClass::ParkAfterStop(){ - // only park the nozzle if homing was done before - if (!homing_needed_error()) { - // raize nozzle by 25mm respecting Z_MAX_POS - do_blocking_move_to_z(_MIN(current_position[Z_AXIS] + 25, Z_MAX_POS), 5); - #ifdef ANYCUBIC_TFT_DEBUG - SERIAL_ECHOLNPGM("DEBUG: SDSTOP: Park Z"); - #endif - // move bed and hotend to park position - do_blocking_move_to_xy((X_MIN_POS + 10), (Y_MAX_POS - 10), 100); - #ifdef ANYCUBIC_TFT_DEBUG - SERIAL_ECHOLNPGM("DEBUG: SDSTOP: Park XY"); - #endif - } + + print_job_timer.stop(); + thermalManager.disable_all_heaters(); + thermalManager.zero_fan_speeds(); + queue.enqueue_now_P(PSTR("M84")); // disable stepper motors queue.enqueue_now_P(PSTR("M27")); // force report of SD status + ai3m_pause_state = 0; #ifdef ANYCUBIC_TFT_DEBUG SERIAL_ECHOPGM("DEBUG: AI3M Pause State: ", ai3m_pause_state);