Bläddra i källkod

Merge pull request #2134 from AnHardt/preheat-all

Shift call of start_watching_heater() into setTargetHotend()
Scott Lahteine 10 år sedan
förälder
incheckning
f919a2fed1
4 ändrade filer med 15 tillägg och 27 borttagningar
  1. 0
    8
      Marlin/Marlin_main.cpp
  2. 1
    5
      Marlin/stepper.cpp
  3. 10
    5
      Marlin/temperature.h
  4. 4
    9
      Marlin/ultralcd.cpp

+ 0
- 8
Marlin/Marlin_main.cpp Visa fil

@@ -3367,10 +3367,6 @@ inline void gcode_M104() {
3367 3367
       if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0)
3368 3368
         setTargetHotend1(temp == 0.0 ? 0.0 : temp + duplicate_extruder_temp_offset);
3369 3369
     #endif
3370
-
3371
-    #ifdef THERMAL_PROTECTION_HOTENDS
3372
-      start_watching_heater(target_extruder);
3373
-    #endif
3374 3370
   }
3375 3371
 }
3376 3372
 
@@ -3482,10 +3478,6 @@ inline void gcode_M109() {
3482 3478
     if (code_seen('B')) autotemp_max = code_value();
3483 3479
   #endif
3484 3480
 
3485
-  #ifdef THERMAL_PROTECTION_HOTENDS
3486
-    start_watching_heater(target_extruder);
3487
-  #endif
3488
-
3489 3481
   millis_t temp_ms = millis();
3490 3482
 
3491 3483
   /* See if we are heating up or cooling down */

+ 1
- 5
Marlin/stepper.cpp Visa fil

@@ -278,11 +278,7 @@ void checkHitEndstops() {
278 278
         card.sdprinting = false;
279 279
         card.closefile();
280 280
         quickStop();
281
-        setTargetHotend0(0);
282
-        setTargetHotend1(0);
283
-        setTargetHotend2(0);
284
-        setTargetHotend3(0);
285
-        setTargetBed(0);
281
+        disable_all_heaters(); // switch off all heaters.
286 282
       }
287 283
     #endif
288 284
   }

+ 10
- 5
Marlin/temperature.h Visa fil

@@ -96,7 +96,16 @@ FORCE_INLINE float degBed() { return current_temperature_bed; }
96 96
 FORCE_INLINE float degTargetHotend(uint8_t extruder) { return target_temperature[extruder]; }
97 97
 FORCE_INLINE float degTargetBed() { return target_temperature_bed; }
98 98
 
99
-FORCE_INLINE void setTargetHotend(const float &celsius, uint8_t extruder) { target_temperature[extruder] = celsius; }
99
+#ifdef THERMAL_PROTECTION_HOTENDS
100
+  void start_watching_heater(int e=0);
101
+#endif
102
+
103
+FORCE_INLINE void setTargetHotend(const float &celsius, uint8_t extruder) {
104
+  target_temperature[extruder] = celsius;
105
+  #ifdef THERMAL_PROTECTION_HOTENDS
106
+    start_watching_heater(extruder);
107
+  #endif
108
+}
100 109
 FORCE_INLINE void setTargetBed(const float &celsius) { target_temperature_bed = celsius; }
101 110
 
102 111
 FORCE_INLINE bool isHeatingHotend(uint8_t extruder) { return target_temperature[extruder] > current_temperature[extruder]; }
@@ -137,10 +146,6 @@ void PID_autotune(float temp, int extruder, int ncycles);
137 146
 void setExtruderAutoFanState(int pin, bool state);
138 147
 void checkExtruderAutoFans();
139 148
 
140
-#ifdef THERMAL_PROTECTION_HOTENDS
141
-  void start_watching_heater(int e=0);
142
-#endif
143
-
144 149
 FORCE_INLINE void autotempShutdown() {
145 150
   #ifdef AUTOTEMP
146 151
     if (autotemp_enabled) {

+ 4
- 9
Marlin/ultralcd.cpp Visa fil

@@ -515,12 +515,11 @@ static void lcd_tune_menu() {
515 515
 
516 516
 void _lcd_preheat(int endnum, const float temph, const float tempb, const int fan) {
517 517
   if (temph > 0) setTargetHotend(temph, endnum);
518
-  setTargetBed(tempb);
518
+  #if TEMP_SENSOR_BED != 0
519
+    setTargetBed(tempb);
520
+  #endif
519 521
   fanSpeed = fan;
520 522
   lcd_return_to_status();
521
-  #ifdef WATCH_TEMP_PERIOD
522
-    if (endnum >= 0) start_watching_heater(endnum);
523
-  #endif
524 523
 }
525 524
 void lcd_preheat_pla0() { _lcd_preheat(0, plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed); }
526 525
 void lcd_preheat_abs0() { _lcd_preheat(0, absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed); }
@@ -602,11 +601,7 @@ void lcd_preheat_abs0() { _lcd_preheat(0, absPreheatHotendTemp, absPreheatHPBTem
602 601
 #endif // more than one temperature sensor present
603 602
 
604 603
 void lcd_cooldown() {
605
-  setTargetHotend0(0);
606
-  setTargetHotend1(0);
607
-  setTargetHotend2(0);
608
-  setTargetHotend3(0);
609
-  setTargetBed(0);
604
+  disable_all_heaters();
610 605
   fanSpeed = 0;
611 606
   lcd_return_to_status();
612 607
 }

Laddar…
Avbryt
Spara