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.
Scott Lahteine 9 years ago
parent
commit
81aab828e2
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      Marlin/temperature.cpp

+ 3
- 3
Marlin/temperature.cpp View File

1112
   setTargetBed(0);
1112
   setTargetBed(0);
1113
 
1113
 
1114
   #define DISABLE_HEATER(NR) { \
1114
   #define DISABLE_HEATER(NR) { \
1115
-    target_temperature[NR] = 0; \
1115
+    setTargetHotend(NR, 0); \
1116
     soft_pwm[NR] = 0; \
1116
     soft_pwm[NR] = 0; \
1117
     WRITE_HEATER_ ## NR (LOW); \
1117
     WRITE_HEATER_ ## NR (LOW); \
1118
   }
1118
   }
1119
 
1119
 
1120
-#if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
1121
-    target_temperature[0] = 0;
1120
+  #if HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675)
1121
+    setTargetHotend(0, 0);
1122
     soft_pwm[0] = 0;
1122
     soft_pwm[0] = 0;
1123
     WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
1123
     WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
1124
   #endif
1124
   #endif

Loading…
Cancel
Save