Add Z_AFTER_HOMING to raise Z more in G28 (#16755)

This commit is contained in:
Scott Lahteine 2020-02-02 00:02:30 -06:00 committed by GitHub
parent ee6003be87
commit 72b4d91d2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 9 deletions

View file

@ -1070,7 +1070,9 @@
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. //#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... //#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
// Be sure you have this distance over your Z_MAX_POS in case. // Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.
//#define Z_AFTER_HOMING 10 // (mm) Height to move to after homing Z
// Direction of endstops when homing; 1=MAX, -1=MIN // Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1] // :[-1,1]

View file

@ -405,6 +405,7 @@ void GcodeSuite::G28(const bool always_home_all) {
// Home Z last if homing towards the bed // Home Z last if homing towards the bed
#if Z_HOME_DIR < 0 #if Z_HOME_DIR < 0
if (doZ) { if (doZ) {
#if ENABLED(BLTOUCH) #if ENABLED(BLTOUCH)
bltouch.init(); bltouch.init();
@ -416,10 +417,17 @@ void GcodeSuite::G28(const bool always_home_all) {
#endif #endif
#if HOMING_Z_WITH_PROBE && defined(Z_AFTER_PROBING) #if HOMING_Z_WITH_PROBE && defined(Z_AFTER_PROBING)
#if Z_AFTER_HOMING > Z_AFTER_PROBING
do_blocking_move_to_z(Z_AFTER_HOMING);
#else
probe.move_z_after_probing(); probe.move_z_after_probing();
#endif #endif
#elif defined(Z_AFTER_HOMING)
do_blocking_move_to_z(Z_AFTER_HOMING);
#endif
} // doZ } // doZ
#endif // Z_HOME_DIR < 0 #endif // Z_HOME_DIR < 0
sync_plan_position(); sync_plan_position();

View file

@ -1755,10 +1755,9 @@ void homeaxis(const AxisEnum axis) {
#endif #endif
#if DISABLED(DELTA) && defined(HOMING_BACKOFF_MM) #if DISABLED(DELTA) && defined(HOMING_BACKOFF_MM)
constexpr xyz_float_t endstop_backoff = HOMING_BACKOFF_MM; const xyz_float_t endstop_backoff = HOMING_BACKOFF_MM;
const float backoff_mm = endstop_backoff[axis]; if (endstop_backoff[axis]) {
if (backoff_mm) { current_position[axis] -= ABS(endstop_backoff[axis]) * axis_home_dir;
current_position[axis] -= ABS(backoff_mm) * axis_home_dir;
line_to_current_position( line_to_current_position(
#if HOMING_Z_WITH_PROBE #if HOMING_Z_WITH_PROBE
(axis == Z_AXIS) ? MMM_TO_MMS(Z_PROBE_SPEED_FAST) : (axis == Z_AXIS) ? MMM_TO_MMS(Z_PROBE_SPEED_FAST) :