|
|
@ -2847,10 +2847,12 @@ inline void gcode_G28() { |
|
|
|
saved_feedrate = feedrate; |
|
|
|
feedrate = homing_feedrate[X_AXIS]; |
|
|
|
|
|
|
|
#if MIN_Z_HEIGHT_FOR_HOMING > 0 |
|
|
|
current_position[Z_AXIS] = MESH_HOME_SEARCH_Z + MIN_Z_HEIGHT_FOR_HOMING; |
|
|
|
line_to_current_position(); |
|
|
|
#endif |
|
|
|
current_position[Z_AXIS] = MESH_HOME_SEARCH_Z |
|
|
|
#if MIN_Z_HEIGHT_FOR_HOMING > 0 |
|
|
|
+ MIN_Z_HEIGHT_FOR_HOMING |
|
|
|
#endif |
|
|
|
; |
|
|
|
line_to_current_position(); |
|
|
|
|
|
|
|
current_position[X_AXIS] = x + home_offset[X_AXIS]; |
|
|
|
current_position[Y_AXIS] = y + home_offset[Y_AXIS]; |
|
|
@ -4010,7 +4012,7 @@ inline void gcode_M42() { |
|
|
|
if (Z_start_location < Z_RAISE_BEFORE_PROBING * 2.0) |
|
|
|
do_blocking_move_to_z(Z_start_location); |
|
|
|
|
|
|
|
do_blocking_move_to_xy(X_probe_location - X_PROBE_OFFSET_FROM_EXTRUDER, Y_probe_location - Y_PROBE_OFFSET_FROM_EXTRUDER); |
|
|
|
do_blocking_move_to_xy(X_probe_location - (X_PROBE_OFFSET_FROM_EXTRUDER), Y_probe_location - (Y_PROBE_OFFSET_FROM_EXTRUDER)); |
|
|
|
|
|
|
|
/**
|
|
|
|
* OK, do the initial probe to get us close to the bed. |
|
|
@ -4070,8 +4072,8 @@ inline void gcode_M42() { |
|
|
|
while (angle < 0.0) // outside of this range. It looks like they behave correctly with
|
|
|
|
angle += 360.0; // numbers outside of the range, but just to be safe we clamp them.
|
|
|
|
|
|
|
|
X_current = X_probe_location - X_PROBE_OFFSET_FROM_EXTRUDER + cos(RADIANS(angle)) * radius; |
|
|
|
Y_current = Y_probe_location - Y_PROBE_OFFSET_FROM_EXTRUDER + sin(RADIANS(angle)) * radius; |
|
|
|
X_current = X_probe_location - (X_PROBE_OFFSET_FROM_EXTRUDER) + cos(RADIANS(angle)) * radius; |
|
|
|
Y_current = Y_probe_location - (Y_PROBE_OFFSET_FROM_EXTRUDER) + sin(RADIANS(angle)) * radius; |
|
|
|
|
|
|
|
#if DISABLED(DELTA) |
|
|
|
X_current = constrain(X_current, X_MIN_POS, X_MAX_POS); |
|
|
@ -4109,7 +4111,7 @@ inline void gcode_M42() { |
|
|
|
* height. This gets us back to the probe location at the same height that |
|
|
|
* we have been running around the circle at. |
|
|
|
*/ |
|
|
|
do_blocking_move_to_xy(X_probe_location - X_PROBE_OFFSET_FROM_EXTRUDER, Y_probe_location - Y_PROBE_OFFSET_FROM_EXTRUDER); |
|
|
|
do_blocking_move_to_xy(X_probe_location - (X_PROBE_OFFSET_FROM_EXTRUDER), Y_probe_location - (Y_PROBE_OFFSET_FROM_EXTRUDER)); |
|
|
|
if (deploy_probe_for_each_reading) |
|
|
|
sample_set[n] = probe_pt(X_probe_location, Y_probe_location, Z_RAISE_BEFORE_PROBING, ProbeDeployAndStow, verbose_level); |
|
|
|
else { |
|
|
|