G28 O respects HOME_AFTER_DEACTIVATE

Addressing #11271
This commit is contained in:
Scott Lahteine 2018-11-05 02:19:55 -06:00
parent 3866aeac52
commit 427bc64ba1
2 changed files with 17 additions and 9 deletions

View File

@ -192,7 +192,14 @@ void GcodeSuite::G28(const bool always_home_all) {
} }
#endif #endif
if (all_axes_known() && parser.boolval('O')) { // home only if needed if (parser.boolval('O')) {
if (
#if ENABLED(HOME_AFTER_DEACTIVATE)
all_axes_known() // homing needed anytime steppers deactivate
#else
all_axes_homed() // homing needed only if never homed
#endif
) {
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) { if (DEBUGGING(LEVELING)) {
SERIAL_ECHOLNPGM("> homing not needed, skip"); SERIAL_ECHOLNPGM("> homing not needed, skip");
@ -201,6 +208,7 @@ void GcodeSuite::G28(const bool always_home_all) {
#endif #endif
return; return;
} }
}
// Wait for planner moves to finish! // Wait for planner moves to finish!
planner.synchronize(); planner.synchronize();

View File

@ -1157,7 +1157,7 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
#if ENABLED(HOME_AFTER_DEACTIVATE) || ENABLED(Z_SAFE_HOMING) #if ENABLED(HOME_AFTER_DEACTIVATE) || ENABLED(Z_SAFE_HOMING)
#error "DISABLE_[XYZ] is not compatible with HOME_AFTER_DEACTIVATE or Z_SAFE_HOMING." #error "DISABLE_[XYZ] is not compatible with HOME_AFTER_DEACTIVATE or Z_SAFE_HOMING."
#endif #endif
#endif // DISABLE_[XYZ] #endif
/** /**
* Filament Width Sensor * Filament Width Sensor