|
@@ -744,6 +744,10 @@ float Temperature::get_pid_output(const int8_t e) {
|
744
|
744
|
*/
|
745
|
745
|
void Temperature::manage_heater() {
|
746
|
746
|
|
|
747
|
+ #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING)
|
|
748
|
+ static bool last_pause_state;
|
|
749
|
+ #endif
|
|
750
|
+
|
747
|
751
|
if (!temp_meas_ready) return;
|
748
|
752
|
|
749
|
753
|
updateTemperaturesFromRawValues(); // also resets the watchdog
|
|
@@ -820,8 +824,15 @@ void Temperature::manage_heater() {
|
820
|
824
|
#endif // WATCH_THE_BED
|
821
|
825
|
|
822
|
826
|
#if DISABLED(PIDTEMPBED)
|
823
|
|
- if (PENDING(ms, next_bed_check_ms)) return;
|
|
827
|
+ if (PENDING(ms, next_bed_check_ms)
|
|
828
|
+ #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING)
|
|
829
|
+ && paused == last_pause_state
|
|
830
|
+ #endif
|
|
831
|
+ ) return;
|
824
|
832
|
next_bed_check_ms = ms + BED_CHECK_INTERVAL;
|
|
833
|
+ #if ENABLED(PROBING_HEATERS_OFF) && ENABLED(BED_LIMIT_SWITCHING)
|
|
834
|
+ last_pause_state = paused;
|
|
835
|
+ #endif
|
825
|
836
|
#endif
|
826
|
837
|
|
827
|
838
|
#if HAS_TEMP_BED
|