From e698998343062cf8d15d79b26d14be0481ab35fe Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 8 Feb 2018 20:36:05 -0600 Subject: [PATCH] More reliable PROBING_HEATERS_OFF with BED_LIMIT_SWITCHING --- Marlin/src/module/temperature.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 824d77fb9b..975e8892fb 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -744,6 +744,10 @@ float Temperature::get_pid_output(const int8_t e) { */ void Temperature::manage_heater() { + #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING) + static bool last_pause_state; + #endif + if (!temp_meas_ready) return; updateTemperaturesFromRawValues(); // also resets the watchdog @@ -820,8 +824,15 @@ void Temperature::manage_heater() { #endif // WATCH_THE_BED #if DISABLED(PIDTEMPBED) - if (PENDING(ms, next_bed_check_ms)) return; + if (PENDING(ms, next_bed_check_ms) + #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING) + && paused == last_pause_state + #endif + ) return; next_bed_check_ms = ms + BED_CHECK_INTERVAL; + #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING) + last_pause_state = paused; + #endif #endif #if HAS_TEMP_BED