|
@ -1297,7 +1297,12 @@ void homeaxis(const AxisEnum axis) { |
|
|
|
|
|
|
|
|
// Homing Z towards the bed? Deploy the Z probe or endstop.
|
|
|
// Homing Z towards the bed? Deploy the Z probe or endstop.
|
|
|
#if HOMING_Z_WITH_PROBE |
|
|
#if HOMING_Z_WITH_PROBE |
|
|
if (axis == Z_AXIS && DEPLOY_PROBE()) return; |
|
|
if (axis == Z_AXIS) { |
|
|
|
|
|
if (DEPLOY_PROBE()) return; |
|
|
|
|
|
#if ENABLED(BLTOUCH) |
|
|
|
|
|
if (set_bltouch_deployed(true)) return; |
|
|
|
|
|
#endif |
|
|
|
|
|
} |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// Set flags for X, Y, Z motor locking
|
|
|
// Set flags for X, Y, Z motor locking
|
|
@ -1322,8 +1327,9 @@ void homeaxis(const AxisEnum axis) { |
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 1 Fast:"); |
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 1 Fast:"); |
|
|
#endif |
|
|
#endif |
|
|
do_homing_move(axis, 1.5f * max_length(axis) * axis_home_dir); |
|
|
do_homing_move(axis, 1.5f * max_length(axis) * axis_home_dir); |
|
|
|
|
|
|
|
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |
|
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |
|
|
// BLTOUCH needs to be stowed after trigger to let rearm itself
|
|
|
// BLTOUCH needs to be stowed after trigger to rearm itself
|
|
|
if (axis == Z_AXIS) set_bltouch_deployed(false); |
|
|
if (axis == Z_AXIS) set_bltouch_deployed(false); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -1353,17 +1359,13 @@ void homeaxis(const AxisEnum axis) { |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |
|
|
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH) |
|
|
// BLTOUCH needs to deploy everytime
|
|
|
// BLTOUCH needs to be deployed every time
|
|
|
if (axis == Z_AXIS && set_bltouch_deployed(true)) return; |
|
|
if (axis == Z_AXIS && set_bltouch_deployed(true)) return; |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
do_homing_move(axis, 2 * bump, get_homing_bump_feedrate(axis)); |
|
|
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) |
|
|
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS) |
|
|
const bool pos_dir = axis_home_dir > 0; |
|
|
const bool pos_dir = axis_home_dir > 0; |
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
@ -1436,6 +1438,16 @@ void homeaxis(const AxisEnum axis) { |
|
|
|
|
|
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
// Put away the Z probe
|
|
|
|
|
|
#if HOMING_Z_WITH_PROBE |
|
|
|
|
|
if (axis == Z_AXIS) { |
|
|
|
|
|
#if ENABLED(BLTOUCH) |
|
|
|
|
|
if (set_bltouch_deployed(false)) return; |
|
|
|
|
|
#endif |
|
|
|
|
|
if (STOW_PROBE()) return; |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
// Clear retracted status if homing the Z axis
|
|
|
// Clear retracted status if homing the Z axis
|
|
|
#if ENABLED(FWRETRACT) |
|
|
#if ENABLED(FWRETRACT) |
|
|
if (axis == Z_AXIS) fwretract.hop_amount = 0.0; |
|
|
if (axis == Z_AXIS) fwretract.hop_amount = 0.0; |
|
|