Add R parameter to G28 to specify pre-raise

2.0.x
Scott Lahteine 7 years ago
parent 2f4b4d6076
commit 7dcd0a1cff

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

Loading…
Cancel
Save