Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5921,6 +5921,25 @@ inline void gcode_M17() { | |
return true; | ||
} | ||
|
||
static void ensure_safe_temperature() { | ||
bool did_show = false; | ||
wait_for_heatup = true; | ||
while (wait_for_heatup) { | ||
idle(); | ||
wait_for_heatup = false; | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong. |
||
HOTEND_LOOP() { | ||
if (thermalManager.degTargetHotend(e) && abs(thermalManager.degHotend(e) - thermalManager.degTargetHotend(e)) > 3) { | ||
wait_for_heatup = true; | ||
if (!did_show) { // Show "wait for heating" | ||
lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_WAIT_FOR_NOZZLES_TO_HEAT); | ||
This comment has been minimized.
Sorry, something went wrong.
tcm0116
Contributor
|
||
did_show = true; | ||
} | ||
break; | ||
} | ||
} | ||
} | ||
} | ||
|
||
static void wait_for_filament_reload(int8_t max_beep_count = 0) { | ||
bool nozzle_timed_out = false; | ||
|
||
|
@@ -5937,8 +5956,7 @@ inline void gcode_M17() { | |
nozzle_timed_out |= thermalManager.is_heater_idle(e); | ||
|
||
#if ENABLED(ULTIPANEL) | ||
if (nozzle_timed_out) | ||
lcd_advanced_pause_show_message(ADVANCED_PAUSE_MESSAGE_CLICK_TO_HEAT_NOZZLE); | ||
if (nozzle_timed_out) ensure_safe_temperature(); | ||
This comment has been minimized.
Sorry, something went wrong.
tcm0116
Contributor
|
||
#endif | ||
|
||
idle(true); | ||
|
@@ -9204,6 +9222,8 @@ inline void gcode_M503() { | |
*/ | ||
inline void gcode_M600() { | ||
|
||
ensure_safe_temperature(); | ||
This comment has been minimized.
Sorry, something went wrong.
tcm0116
Contributor
|
||
|
||
// Initial retract before move to filament change position | ||
const float retract = parser.seen('E') ? parser.value_axis_units(E_AXIS) : 0 | ||
#if defined(PAUSE_PARK_RETRACT_LENGTH) && PAUSE_PARK_RETRACT_LENGTH > 0 | ||
|
Per my comment on #6407, I think we need to add
if (!wait_for_heatup) break;
here after the call toidle()
to allow M108 to abort the heatup.