|
|
@ -406,14 +406,13 @@ void GcodeSuite::G28(const bool always_home_all) {
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef HOMING_BACKOFF_MM
|
|
|
|
#ifdef HOMING_BACKOFF_MM
|
|
|
|
endstops.enable(false);
|
|
|
|
endstops.enable(false);
|
|
|
|
constexpr float backoff[XYZ] = HOMING_BACKOFF_MM;
|
|
|
|
constexpr float endstop_backoff[XYZ] = HOMING_BACKOFF_MM;
|
|
|
|
const float backoff_x = doX ? ABS(endstop_backoff[X_AXIS]) * (X_HOME_DIR) : 0,
|
|
|
|
const float backoff_x = doX ? ABS(endstop_backoff[X_AXIS]) * (X_HOME_DIR) : 0,
|
|
|
|
backoff_y = doY ? ABS(endstop_backoff[Y_AXIS]) * (Y_HOME_DIR) : 0,
|
|
|
|
backoff_y = doY ? ABS(endstop_backoff[Y_AXIS]) * (Y_HOME_DIR) : 0,
|
|
|
|
backoff_z = doZ ? ABS(endstop_backoff[Z_AXIS]) * (Z_HOME_DIR) : 0;
|
|
|
|
backoff_z = doZ ? ABS(endstop_backoff[Z_AXIS]) * (Z_HOME_DIR) : 0;
|
|
|
|
if (backoff_z) do_blocking_move_to_z(current_position[Z_AXIS] - backoff_z);
|
|
|
|
if (backoff_z) do_blocking_move_to_z(current_position[Z_AXIS] - backoff_z);
|
|
|
|
if (backoff_x || backoff_y) do_blocking_move_to_xy(current_position[X_AXIS] - backoff_x, current_position[Y_AXIS] - backoff_y);
|
|
|
|
if (backoff_x || backoff_y) do_blocking_move_to_xy(current_position[X_AXIS] - backoff_x, current_position[Y_AXIS] - backoff_y);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
endstops.not_homing();
|
|
|
|
endstops.not_homing();
|
|
|
|
|
|
|
|
|
|
|
|
#if BOTH(DELTA, DELTA_HOME_TO_SAFE_ZONE)
|
|
|
|
#if BOTH(DELTA, DELTA_HOME_TO_SAFE_ZONE)
|
|
|
|