|
@@ -429,10 +429,18 @@ class Temperature {
|
429
|
429
|
static uint8_t soft_pwm_controller_speed;
|
430
|
430
|
#endif
|
431
|
431
|
|
|
432
|
+ #if BOTH(HAS_MARLINUI_MENU, PREVENT_COLD_EXTRUSION) && E_MANUAL > 0
|
|
433
|
+ static bool allow_cold_extrude_override;
|
|
434
|
+ static void set_menu_cold_override(const bool allow) { allow_cold_extrude_override = allow; }
|
|
435
|
+ #else
|
|
436
|
+ static constexpr bool allow_cold_extrude_override = false;
|
|
437
|
+ static void set_menu_cold_override(const bool) {}
|
|
438
|
+ #endif
|
|
439
|
+
|
432
|
440
|
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
433
|
441
|
static bool allow_cold_extrude;
|
434
|
442
|
static celsius_t extrude_min_temp;
|
435
|
|
- static bool tooCold(const celsius_t temp) { return allow_cold_extrude ? false : temp < extrude_min_temp - (TEMP_WINDOW); }
|
|
443
|
+ static bool tooCold(const celsius_t temp) { return !allow_cold_extrude && !allow_cold_extrude_override && temp < extrude_min_temp - (TEMP_WINDOW); }
|
436
|
444
|
static bool tooColdToExtrude(const uint8_t E_NAME) { return tooCold(wholeDegHotend(HOTEND_INDEX)); }
|
437
|
445
|
static bool targetTooColdToExtrude(const uint8_t E_NAME) { return tooCold(degTargetHotend(HOTEND_INDEX)); }
|
438
|
446
|
#else
|