Bläddra i källkod

🚑️ Fix preheat target bug

Fixes Jyers/Marlin#1651
David Ross Smith 3 år sedan
förälder
incheckning
13adcd5c08
2 ändrade filer med 12 tillägg och 14 borttagningar
  1. 4
    4
      Marlin/src/lcd/marlinui.cpp
  2. 8
    10
      Marlin/src/lcd/marlinui.h

+ 4
- 4
Marlin/src/lcd/marlinui.cpp Visa fil

@@ -150,10 +150,10 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP;
150 150
 
151 151
   void MarlinUI::apply_preheat(const uint8_t m, const uint8_t pmask, const uint8_t e/*=active_extruder*/) {
152 152
     const preheat_t &pre = material_preset[m];
153
-    TERN_(HAS_HOTEND,           if (TEST(pmask, PM_HOTEND))  thermalManager.setTargetHotend(pre.hotend_temp, e));
154
-    TERN_(HAS_HEATED_BED,       if (TEST(pmask, PM_BED))     thermalManager.setTargetBed(pre.bed_temp));
155
-    //TERN_(HAS_HEATED_CHAMBER, if (TEST(pmask, PM_CHAMBER)) thermalManager.setTargetBed(pre.chamber_temp));
156
-    TERN_(HAS_FAN,              if (TEST(pmask, PM_FAN))     thermalManager.set_fan_speed(0, pre.fan_speed));
153
+    TERN_(HAS_HOTEND,           if (TEST(pmask, PT_HOTEND))  thermalManager.setTargetHotend(pre.hotend_temp, e));
154
+    TERN_(HAS_HEATED_BED,       if (TEST(pmask, PT_BED))     thermalManager.setTargetBed(pre.bed_temp));
155
+    //TERN_(HAS_HEATED_CHAMBER, if (TEST(pmask, PT_CHAMBER)) thermalManager.setTargetBed(pre.chamber_temp));
156
+    TERN_(HAS_FAN,              if (TEST(pmask, PT_FAN))     thermalManager.set_fan_speed(0, pre.fan_speed));
157 157
   }
158 158
 #endif
159 159
 

+ 8
- 10
Marlin/src/lcd/marlinui.h Visa fil

@@ -496,22 +496,20 @@ public:
496 496
   #endif
497 497
 
498 498
   #if HAS_PREHEAT
499
-    enum PreheatMask : uint8_t { PM_HOTEND = _BV(0), PM_BED = _BV(1), PM_FAN = _BV(2), PM_CHAMBER = _BV(3) };
499
+    enum PreheatTarget : uint8_t { PT_HOTEND, PT_BED, PT_FAN, PT_CHAMBER, PT_ALL = 0xFF };
500 500
     static preheat_t material_preset[PREHEAT_COUNT];
501 501
     static PGM_P get_preheat_label(const uint8_t m);
502 502
     static void apply_preheat(const uint8_t m, const uint8_t pmask, const uint8_t e=active_extruder);
503
-    static void preheat_set_fan(const uint8_t m) { TERN_(HAS_FAN, apply_preheat(m, PM_FAN)); }
504
-    static void preheat_hotend(const uint8_t m, const uint8_t e=active_extruder) { TERN_(HAS_HOTEND, apply_preheat(m, PM_HOTEND)); }
503
+    static void preheat_set_fan(const uint8_t m) { TERN_(HAS_FAN, apply_preheat(m, _BV(PT_FAN))); }
504
+    static void preheat_hotend(const uint8_t m, const uint8_t e=active_extruder) { TERN_(HAS_HOTEND, apply_preheat(m, _BV(PT_HOTEND))); }
505 505
     static void preheat_hotend_and_fan(const uint8_t m, const uint8_t e=active_extruder) { preheat_hotend(m, e); preheat_set_fan(m); }
506
-    static void preheat_bed(const uint8_t m) { TERN_(HAS_HEATED_BED, apply_preheat(m, PM_BED)); }
507
-    static void preheat_all(const uint8_t m) { apply_preheat(m, 0xFF); }
506
+    static void preheat_bed(const uint8_t m) { TERN_(HAS_HEATED_BED, apply_preheat(m, _BV(PT_BED))); }
507
+    static void preheat_all(const uint8_t m) { apply_preheat(m, PT_ALL); }
508 508
   #endif
509 509
 
510
-  #if SCREENS_CAN_TIME_OUT
511
-    static void reset_status_timeout(const millis_t ms) { return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; }
512
-  #else
513
-    static void reset_status_timeout(const millis_t) {}
514
-  #endif
510
+  static void reset_status_timeout(const millis_t ms) {
511
+    TERN(SCREENS_CAN_TIME_OUT, return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS, UNUSED(ms));
512
+  }
515 513
 
516 514
   #if HAS_LCD_MENU
517 515
 

Laddar…
Avbryt
Spara