PROBING_HEATERS_OFF sub-option WAIT_FOR_HOTEND (#20835)
This commit is contained in:
parent
bb1039d4c9
commit
735c1b6183
@ -1139,6 +1139,7 @@
|
||||
//#define PROBING_HEATERS_OFF // Turn heaters off when probing
|
||||
#if ENABLED(PROBING_HEATERS_OFF)
|
||||
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
|
||||
//#define WAIT_FOR_HOTEND // Wait for hotend to heat back up between probes (to improve accuracy & prevent cold extrude)
|
||||
#endif
|
||||
//#define PROBING_FANS_OFF // Turn fans off when probing
|
||||
//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user