diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index b04cf67506..d2f63ac573 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -3832,15 +3832,17 @@ inline void gcode_G4() { buffer_line_to_current_position(); stepper.synchronize(); + // Re-enable stealthChop if used. Disable diag1 pin on driver. + #if ENABLED(SENSORLESS_HOMING) + delta_sensorless_homing(false); + #endif + // If an endstop was not hit, then damage can occur if homing is continued. // This can occur if the delta height not set correctly. if (!(Endstops::endstop_hit_bits & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX)))) { LCD_MESSAGEPGM(MSG_ERR_HOMING_FAILED); SERIAL_ERROR_START(); SERIAL_ERRORLNPGM(MSG_ERR_HOMING_FAILED); - #if ENABLED(SENSORLESS_HOMING) - delta_sensorless_homing(false); - #endif return false; } @@ -3852,11 +3854,6 @@ inline void gcode_G4() { HOMEAXIS(B); HOMEAXIS(C); - // Re-enable stealthChop if used. Disable diag1 pin on driver. - #if ENABLED(SENSORLESS_HOMING) - delta_sensorless_homing(false); - #endif - // Set all carriages to their home positions // Do this here all at once for Delta, because // XYZ isn't ABC. Applying this per-tower would