|
|
@ -2416,8 +2416,20 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
: !position_is_reachable_by_probe(rx, ry)
|
|
|
|
: !position_is_reachable_by_probe(rx, ry)
|
|
|
|
) return NAN;
|
|
|
|
) return NAN;
|
|
|
|
|
|
|
|
|
|
|
|
// Move the probe to the given XY
|
|
|
|
const float nz =
|
|
|
|
do_blocking_move_to_xy(nx, ny, XY_PROBE_FEEDRATE_MM_S);
|
|
|
|
#if ENABLED(DELTA)
|
|
|
|
|
|
|
|
// Move below clip height or xy move will be aborted by do_blocking_move_to
|
|
|
|
|
|
|
|
min(current_position[Z_AXIS], delta_clip_start_height)
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
current_position[Z_AXIS]
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const float old_feedrate_mm_s = feedrate_mm_s;
|
|
|
|
|
|
|
|
feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Move the probe to the starting XYZ
|
|
|
|
|
|
|
|
do_blocking_move_to(nx, ny, nz);
|
|
|
|
|
|
|
|
|
|
|
|
float measured_z = NAN;
|
|
|
|
float measured_z = NAN;
|
|
|
|
if (!DEPLOY_PROBE()) {
|
|
|
|
if (!DEPLOY_PROBE()) {
|
|
|
@ -2443,6 +2455,8 @@ static void clean_up_after_endstop_or_probe_move() {
|
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< probe_pt");
|
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< probe_pt");
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
feedrate_mm_s = old_feedrate_mm_s;
|
|
|
|
|
|
|
|
|
|
|
|
if (isnan(measured_z)) {
|
|
|
|
if (isnan(measured_z)) {
|
|
|
|
LCD_MESSAGEPGM(MSG_ERR_PROBING_FAILED);
|
|
|
|
LCD_MESSAGEPGM(MSG_ERR_PROBING_FAILED);
|
|
|
|
SERIAL_ERROR_START();
|
|
|
|
SERIAL_ERROR_START();
|
|
|
|