Browse Source

[2.0.x] fix bltouch homing (#11379)

Partially revert. Seems to solve the issue, but one report says G29 still fails.
pull/1/head
Giuliano 6 years ago
committed by Scott Lahteine
parent
commit
5ce5ff8e9b
  1. 28
      Marlin/src/module/motion.cpp

28
Marlin/src/module/motion.cpp

@ -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;

Loading…
Cancel
Save