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.
This commit is contained in:
Scott Lahteine 2016-03-11 05:07:18 -08:00
parent 7bb7ac8353
commit 81aab828e2

View file

@ -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