|
|
|
@ -985,11 +985,11 @@ void prepare_move_to_destination() {
|
|
|
|
|
#endif // HAS_AXIS_UNHOMED_ERR
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The homing feedrate may vary
|
|
|
|
|
* Homing bump feedrate (mm/s)
|
|
|
|
|
*/
|
|
|
|
|
inline float get_homing_bump_feedrate(const AxisEnum axis) {
|
|
|
|
|
#if HOMING_Z_WITH_PROBE
|
|
|
|
|
if (axis == Z_AXIS) return Z_PROBE_SPEED_SLOW;
|
|
|
|
|
if (axis == Z_AXIS) return MMM_TO_MMS(Z_PROBE_SPEED_SLOW);
|
|
|
|
|
#endif
|
|
|
|
|
static const uint8_t homing_bump_divisor[] PROGMEM = HOMING_BUMP_DIVISOR;
|
|
|
|
|
uint8_t hbd = pgm_read_byte(&homing_bump_divisor[axis]);
|
|
|
|
@ -1294,7 +1294,7 @@ void homeaxis(const AxisEnum axis) {
|
|
|
|
|
// When homing Z with probe respect probe clearance
|
|
|
|
|
const float bump = axis_home_dir * (
|
|
|
|
|
#if HOMING_Z_WITH_PROBE
|
|
|
|
|
(axis == Z_AXIS && Z_HOME_BUMP_MM) ? max(Z_CLEARANCE_BETWEEN_PROBES, home_bump_mm(Z_AXIS)) :
|
|
|
|
|
(axis == Z_AXIS && (Z_HOME_BUMP_MM)) ? max(Z_CLEARANCE_BETWEEN_PROBES, Z_HOME_BUMP_MM) :
|
|
|
|
|
#endif
|
|
|
|
|
home_bump_mm(axis)
|
|
|
|
|
);
|
|
|
|
@ -1305,7 +1305,11 @@ void homeaxis(const AxisEnum axis) {
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Move Away:");
|
|
|
|
|
#endif
|
|
|
|
|
do_homing_move(axis, -bump);
|
|
|
|
|
do_homing_move(axis, -bump
|
|
|
|
|
#if HOMING_Z_WITH_PROBE
|
|
|
|
|
, MMM_TO_MMS(Z_PROBE_SPEED_FAST)
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// Slow move towards endstop until triggered
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
|
|
|
|