|
|
@ -152,7 +152,9 @@ |
|
|
|
* None Home to all axes with no parameters. |
|
|
|
* With QUICK_HOME enabled XY will home together, then Z. |
|
|
|
* |
|
|
|
* Cartesian parameters |
|
|
|
* Rn Raise by n mm/inches before homing |
|
|
|
* |
|
|
|
* Cartesian/SCARA parameters |
|
|
|
* |
|
|
|
* X Home to the X endstop |
|
|
|
* Y Home to the Y endstop |
|
|
@ -226,12 +228,13 @@ void GcodeSuite::G28(const bool always_home_all) { |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(UNKNOWN_Z_NO_RAISE) |
|
|
|
const float z_homing_height = axis_known_position[Z_AXIS] ? Z_HOMING_HEIGHT : 0; |
|
|
|
#else |
|
|
|
constexpr float z_homing_height = Z_HOMING_HEIGHT; |
|
|
|
#endif |
|
|
|
|
|
|
|
const float z_homing_height = ( |
|
|
|
#if ENABLED(UNKNOWN_Z_NO_RAISE) |
|
|
|
!axis_known_position[Z_AXIS] ? 0 : |
|
|
|
#endif |
|
|
|
(parser.seenval('R') ? parser.value_linear_units() : Z_HOMING_HEIGHT) |
|
|
|
); |
|
|
|
|
|
|
|
if (z_homing_height && (home_all || homeX || homeY)) { |
|
|
|
// Raise Z before homing any other axes and z is not already high enough (never lower z)
|
|
|
|
destination[Z_AXIS] = z_homing_height; |
|
|
|