|
@@ -423,6 +423,9 @@ void do_blocking_move_to(const float rx, const float ry, const float rz, const f
|
423
|
423
|
void do_blocking_move_to_x(const float &rx, const float &fr_mm_s/*=0.0*/) {
|
424
|
424
|
do_blocking_move_to(rx, current_position[Y_AXIS], current_position[Z_AXIS], fr_mm_s);
|
425
|
425
|
}
|
|
426
|
+void do_blocking_move_to_y(const float &ry, const float &fr_mm_s/*=0.0*/) {
|
|
427
|
+ do_blocking_move_to(current_position[Y_AXIS], ry, current_position[Z_AXIS], fr_mm_s);
|
|
428
|
+}
|
426
|
429
|
void do_blocking_move_to_z(const float &rz, const float &fr_mm_s/*=0.0*/) {
|
427
|
430
|
do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], rz, fr_mm_s);
|
428
|
431
|
}
|
|
@@ -1599,6 +1602,21 @@ void homeaxis(const AxisEnum axis) {
|
1599
|
1602
|
if (axis == Z_AXIS && STOW_PROBE()) return;
|
1600
|
1603
|
#endif
|
1601
|
1604
|
|
|
1605
|
+ #ifdef HOMING_BACKOFF_MM
|
|
1606
|
+ constexpr float endstop_backoff[XYZ] = HOMING_BACKOFF_MM;
|
|
1607
|
+ const AxisEnum backoff_mm = endstop_backoff[
|
|
1608
|
+ #if ENABLED(DELTA)
|
|
1609
|
+ Z_AXIS
|
|
1610
|
+ #else
|
|
1611
|
+ axis
|
|
1612
|
+ #endif
|
|
1613
|
+ ];
|
|
1614
|
+ if (backoff_mm) {
|
|
1615
|
+ current_position[axis] -= ABS(backoff_mm) * axis_home_dir;
|
|
1616
|
+ line_to_current_position();
|
|
1617
|
+ }
|
|
1618
|
+ #endif
|
|
1619
|
+
|
1602
|
1620
|
// Clear retracted status if homing the Z axis
|
1603
|
1621
|
#if ENABLED(FWRETRACT)
|
1604
|
1622
|
if (axis == Z_AXIS) fwretract.current_hop = 0.0;
|