|
@ -1449,7 +1449,7 @@ static void set_axis_is_at_home(AxisEnum axis) { |
|
|
if (axis == X_AXIS || axis == Y_AXIS) { |
|
|
if (axis == X_AXIS || axis == Y_AXIS) { |
|
|
|
|
|
|
|
|
float homeposition[XYZ]; |
|
|
float homeposition[XYZ]; |
|
|
LOOP_XYZ(i) homeposition[i] = LOGICAL_POSITION(base_home_pos(i), i); |
|
|
LOOP_XYZ(i) homeposition[i] = LOGICAL_POSITION(base_home_pos((AxisEnum)i), i); |
|
|
|
|
|
|
|
|
// SERIAL_ECHOPAIR("homeposition X:", homeposition[X_AXIS]);
|
|
|
// SERIAL_ECHOPAIR("homeposition X:", homeposition[X_AXIS]);
|
|
|
// SERIAL_ECHOLNPAIR(" Y:", homeposition[Y_AXIS]);
|
|
|
// SERIAL_ECHOLNPAIR(" Y:", homeposition[Y_AXIS]);
|
|
@ -4283,7 +4283,7 @@ inline void gcode_G28() { |
|
|
float retract_mm[XYZ]; |
|
|
float retract_mm[XYZ]; |
|
|
LOOP_XYZ(i) { |
|
|
LOOP_XYZ(i) { |
|
|
float dist = destination[i] - current_position[i]; |
|
|
float dist = destination[i] - current_position[i]; |
|
|
retract_mm[i] = fabs(dist) < G38_MINIMUM_MOVE ? 0 : home_bump_mm(i) * (dist > 0 ? -1 : 1); |
|
|
retract_mm[i] = fabs(dist) < G38_MINIMUM_MOVE ? 0 : home_bump_mm((AxisEnum)i) * (dist > 0 ? -1 : 1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
stepper.synchronize(); // wait until the machine is idle
|
|
|
stepper.synchronize(); // wait until the machine is idle
|
|
@ -6666,7 +6666,7 @@ inline void gcode_M428() { |
|
|
bool err = false; |
|
|
bool err = false; |
|
|
LOOP_XYZ(i) { |
|
|
LOOP_XYZ(i) { |
|
|
if (axis_homed[i]) { |
|
|
if (axis_homed[i]) { |
|
|
float base = (current_position[i] > (soft_endstop_min[i] + soft_endstop_max[i]) * 0.5) ? base_home_pos(i) : 0, |
|
|
float base = (current_position[i] > (soft_endstop_min[i] + soft_endstop_max[i]) * 0.5) ? base_home_pos((AxisEnum)i) : 0, |
|
|
diff = current_position[i] - LOGICAL_POSITION(base, i); |
|
|
diff = current_position[i] - LOGICAL_POSITION(base, i); |
|
|
if (diff > -20 && diff < 20) { |
|
|
if (diff > -20 && diff < 20) { |
|
|
set_home_offset((AxisEnum)i, home_offset[i] - diff); |
|
|
set_home_offset((AxisEnum)i, home_offset[i] - diff); |
|
|