Shorthand for home-after-deactivate
This commit is contained in:
		| @@ -200,17 +200,9 @@ 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 (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28"); | ||||
|       return; | ||||
|     } | ||||
|   if (!homing_needed() && parser.boolval('O')) { | ||||
|     if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28"); | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   // Wait for planner moves to finish! | ||||
|   | ||||
| @@ -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 New Issue
	
	Block a user