Shorthand for home-after-deactivate
This commit is contained in:
parent
30a3db4f22
commit
49627069a5
2 changed files with 13 additions and 11 deletions
|
@ -200,18 +200,10 @@ void GcodeSuite::G28(const bool always_home_all) {
|
|||
}
|
||||
#endif
|
||||
|
||||
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 (!homing_needed() && parser.boolval('O')) {
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Wait for planner moves to finish!
|
||||
planner.synchronize();
|
||||
|
|
|
@ -42,6 +42,16 @@ FORCE_INLINE bool all_axes_known() { return (axis_known_position & xyz_bits) ==
|
|||
FORCE_INLINE void set_all_unhomed() { axis_homed = 0; }
|
||||
FORCE_INLINE void set_all_unknown() { axis_known_position = 0; }
|
||||
|
||||
FORCE_INLINE bool homing_needed() {
|
||||
return !(
|
||||
#if ENABLED(HOME_AFTER_DEACTIVATE)
|
||||
all_axes_known()
|
||||
#else
|
||||
all_axes_homed()
|
||||
#endif
|
||||
);
|
||||
}
|
||||
|
||||
// Error margin to work around float imprecision
|
||||
constexpr float slop = 0.0001;
|
||||
|
||||
|
|
Reference in a new issue