|
@@ -192,14 +192,22 @@ void GcodeSuite::G28(const bool always_home_all) {
|
192
|
192
|
}
|
193
|
193
|
#endif
|
194
|
194
|
|
195
|
|
- if (all_axes_known() && parser.boolval('O')) { // home only if needed
|
196
|
|
- #if ENABLED(DEBUG_LEVELING_FEATURE)
|
197
|
|
- if (DEBUGGING(LEVELING)) {
|
198
|
|
- SERIAL_ECHOLNPGM("> homing not needed, skip");
|
199
|
|
- SERIAL_ECHOLNPGM("<<< G28");
|
200
|
|
- }
|
201
|
|
- #endif
|
202
|
|
- return;
|
|
195
|
+ if (parser.boolval('O')) {
|
|
196
|
+ if (
|
|
197
|
+ #if ENABLED(HOME_AFTER_DEACTIVATE)
|
|
198
|
+ all_axes_known() // homing needed anytime steppers deactivate
|
|
199
|
+ #else
|
|
200
|
+ all_axes_homed() // homing needed only if never homed
|
|
201
|
+ #endif
|
|
202
|
+ ) {
|
|
203
|
+ #if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
204
|
+ if (DEBUGGING(LEVELING)) {
|
|
205
|
+ SERIAL_ECHOLNPGM("> homing not needed, skip");
|
|
206
|
+ SERIAL_ECHOLNPGM("<<< G28");
|
|
207
|
+ }
|
|
208
|
+ #endif
|
|
209
|
+ return;
|
|
210
|
+ }
|
203
|
211
|
}
|
204
|
212
|
|
205
|
213
|
// Wait for planner moves to finish!
|