|
|
@ -1117,16 +1117,9 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa |
|
|
|
|
|
|
|
if (is_home_dir) { |
|
|
|
|
|
|
|
if (axis == Z_AXIS) { |
|
|
|
#if HOMING_Z_WITH_PROBE |
|
|
|
#if ENABLED(BLTOUCH) |
|
|
|
set_bltouch_deployed(true); |
|
|
|
#endif |
|
|
|
#if QUIET_PROBING |
|
|
|
probing_pause(true); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
#if HOMING_Z_WITH_PROBE && QUIET_PROBING |
|
|
|
if (axis == Z_AXIS) probing_pause(true); |
|
|
|
#endif |
|
|
|
|
|
|
|
// Disable stealthChop if used. Enable diag1 pin on driver.
|
|
|
|
#if ENABLED(SENSORLESS_HOMING) |
|
|
@ -1152,16 +1145,9 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa |
|
|
|
|
|
|
|
if (is_home_dir) { |
|
|
|
|
|
|
|
if (axis == Z_AXIS) { |
|
|
|
#if HOMING_Z_WITH_PROBE |
|
|
|
#if QUIET_PROBING |
|
|
|
probing_pause(false); |
|
|
|
#endif |
|
|
|
#if ENABLED(BLTOUCH) |
|
|
|
set_bltouch_deployed(false); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
#if HOMING_Z_WITH_PROBE && QUIET_PROBING |
|
|
|
if (axis == Z_AXIS) probing_pause(false); |
|
|
|
#endif |
|
|
|
|
|
|
|
endstops.validate_homing_move(); |
|
|
|
|
|
|
@ -1336,6 +1322,10 @@ void homeaxis(const AxisEnum axis) { |
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 1 Fast:"); |
|
|
|
#endif |
|
|
|
do_homing_move(axis, 1.5f * max_length(axis) * axis_home_dir); |
|
|
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |
|
|
|
// BLTOUCH needs to be stowed after trigger to let rearm itself
|
|
|
|
if (axis == Z_AXIS) set_bltouch_deployed(false); |
|
|
|
#endif |
|
|
|
|
|
|
|
// When homing Z with probe respect probe clearance
|
|
|
|
const float bump = axis_home_dir * ( |
|
|
@ -1361,9 +1351,19 @@ void homeaxis(const AxisEnum axis) { |
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 2 Slow:"); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |
|
|
|
// BLTOUCH needs to deploy everytime
|
|
|
|
if (axis == Z_AXIS && set_bltouch_deployed(true)) return; |
|
|
|
#endif |
|
|
|
do_homing_move(axis, 2 * bump, get_homing_bump_feedrate(axis)); |
|
|
|
} |
|
|
|
|
|
|
|
// Put away the Z probe
|
|
|
|
#if HOMING_Z_WITH_PROBE |
|
|
|
if (axis == Z_AXIS && STOW_PROBE()) return; |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) |
|
|
|
const bool pos_dir = axis_home_dir > 0; |
|
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
@ -1436,11 +1436,6 @@ void homeaxis(const AxisEnum axis) { |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
// Put away the Z probe
|
|
|
|
#if HOMING_Z_WITH_PROBE |
|
|
|
if (axis == Z_AXIS && STOW_PROBE()) return; |
|
|
|
#endif |
|
|
|
|
|
|
|
// Clear retracted status if homing the Z axis
|
|
|
|
#if ENABLED(FWRETRACT) |
|
|
|
if (axis == Z_AXIS) fwretract.hop_amount = 0.0; |
|
|
|