From 63235625aba1e4bc7b68e6152cdb9170d6cf9d62 Mon Sep 17 00:00:00 2001 From: Ondrej Tuma Date: Mon, 20 May 2019 14:52:48 +0200 Subject: [PATCH] pause printer by flag --- Firmware/Marlin_main.cpp | 9 ++++++++- Firmware/temperature.cpp | 5 ++++- Firmware/temperature.h | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 2cd0abe8c..a1740b240 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -156,7 +156,6 @@ //=============================imported variables============================ //=========================================================================== - //=========================================================================== //=============================public variables============================= //=========================================================================== @@ -3389,6 +3388,14 @@ extern uint8_t st_backlash_y; //!@n M999 - Restart after being stopped by error void process_commands() { + #ifdef FANCHECK + if (fan_check_error){ + fan_check_error = false; + lcd_pause_print(); + return; + } + #endif + if (!buflen) return; //empty command #ifdef FILAMENT_RUNOUT_SUPPORT SET_INPUT(FR_SENS); diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index f64c5d9de..668b857fd 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -94,6 +94,9 @@ float current_temperature_bed = 0.0; unsigned char fanSpeedSoftPwm; #endif +#ifdef FANCHECK + volatile bool fan_check_error = false; +#endif unsigned char soft_pwm_bed; @@ -527,7 +530,7 @@ void fanSpeedError(unsigned char _fan) { lcd_print_stop(); } else { - lcd_pause_print(); + fan_check_error = true; } } else { diff --git a/Firmware/temperature.h b/Firmware/temperature.h index ba9632cf6..31ab8d9f5 100644 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -238,6 +238,8 @@ void checkExtruderAutoFans(); #if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) +extern volatile bool fan_check_error; + void countFanSpeed(); void checkFanSpeed(); void fanSpeedError(unsigned char _fan);