PROBING_HEATERS_OFF sub-option WAIT_FOR_HOTEND (#20835)

This commit is contained in:
Katelyn Schiesser
2021-02-25 06:28:27 -08:00
committed by Scott Lahteine
parent bb1039d4c9
commit 735c1b6183
5 changed files with 26 additions and 1 deletions

View File

@ -1318,11 +1318,16 @@ void prepare_line_to_destination() {
if (is_home_dir) {
if (TERN0(HOMING_Z_WITH_PROBE, axis == Z_AXIS)) {
#if ALL(HAS_HEATED_BED, WAIT_FOR_BED_HEATER)
#if BOTH(HAS_HEATED_BED, WAIT_FOR_BED_HEATER)
// Wait for bed to heat back up between probing points
thermalManager.wait_for_bed_heating();
#endif
#if BOTH(HAS_HOTEND, WAIT_FOR_HOTEND)
// Wait for the hotend to heat back up between probing points
thermalManager.wait_for_hotend_heating(active_extruder);
#endif
TERN_(HAS_QUIET_PROBING, if (final_approach) probe.set_probing_paused(true));
}

View File

@ -478,6 +478,10 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
thermalManager.wait_for_bed_heating();
#endif
#if BOTH(HAS_TEMP_HOTEND, WAIT_FOR_HOTEND)
thermalManager.wait_for_hotend_heating(active_extruder);
#endif
if (TERN0(BLTOUCH_SLOW_MODE, bltouch.deploy())) return true; // Deploy in LOW SPEED MODE on every probe action
// Disable stealthChop if used. Enable diag1 pin on driver.

View File

@ -3447,6 +3447,17 @@ void Temperature::tick() {
return false;
}
#if ENABLED(WAIT_FOR_HOTEND)
void Temperature::wait_for_hotend_heating(const uint8_t target_extruder) {
if (isHeatingHotend(target_extruder)) {
SERIAL_ECHOLNPGM("Wait for hotend heating...");
LCD_MESSAGEPGM(MSG_HEATING);
wait_for_hotend(target_extruder);
ui.reset_status();
}
}
#endif
#endif // HAS_TEMP_HOTEND
#if HAS_HEATED_BED

View File

@ -630,6 +630,10 @@ class Temperature {
, const bool click_to_cancel=false
#endif
);
#if ENABLED(WAIT_FOR_HOTEND)
static void wait_for_hotend_heating(const uint8_t target_extruder);
#endif
#endif
FORCE_INLINE static bool still_heating(const uint8_t e) {