Browse Source

Fix a "Heating failed" error

Addressing #3085. If the target_temperature is set directly it never invokes or disables the timer set in `start_watching_heater`, so after _stopping a print_ or turning off _all heaters_ you could get a “Heating failed” error.
pull/1/head
Scott Lahteine 9 years ago
parent
commit
81aab828e2
  1. 4
      Marlin/temperature.cpp

4
Marlin/temperature.cpp

@ -1112,13 +1112,13 @@ void disable_all_heaters() {
setTargetBed(0); setTargetBed(0);
#define DISABLE_HEATER(NR) { \ #define DISABLE_HEATER(NR) { \
target_temperature[NR] = 0; \ setTargetHotend(NR, 0); \
soft_pwm[NR] = 0; \ soft_pwm[NR] = 0; \
WRITE_HEATER_ ## NR (LOW); \ WRITE_HEATER_ ## NR (LOW); \
} }
#if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675) #if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
target_temperature[0] = 0; setTargetHotend(0, 0);
soft_pwm[0] = 0; soft_pwm[0] = 0;
WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0) WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
#endif #endif

Loading…
Cancel
Save