Scott Lahteine
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
18 additions and
9 deletions
-
Marlin/Configuration.h
-
Marlin/src/gcode/calibrate/G28.cpp
-
Marlin/src/module/motion.cpp
|
@ -1065,12 +1065,14 @@ |
|
|
|
|
|
|
|
|
// @section homing
|
|
|
// @section homing
|
|
|
|
|
|
|
|
|
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
|
|
|
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
|
|
|
|
|
|
|
|
|
//#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]
|
|
|
|
@ -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) |
|
|
probe.move_z_after_probing(); |
|
|
#if Z_AFTER_HOMING > Z_AFTER_PROBING |
|
|
|
|
|
do_blocking_move_to_z(Z_AFTER_HOMING); |
|
|
|
|
|
#else |
|
|
|
|
|
probe.move_z_after_probing(); |
|
|
|
|
|
#endif |
|
|
|
|
|
#elif defined(Z_AFTER_HOMING) |
|
|
|
|
|
do_blocking_move_to_z(Z_AFTER_HOMING); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
} // doZ
|
|
|
} // doZ
|
|
|
|
|
|
|
|
|
#endif // Z_HOME_DIR < 0
|
|
|
#endif // Z_HOME_DIR < 0
|
|
|
|
|
|
|
|
|
sync_plan_position(); |
|
|
sync_plan_position(); |
|
|
|
@ -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) : |
|
|