|
@@ -2416,8 +2416,20 @@ static void clean_up_after_endstop_or_probe_move() {
|
2416
|
2416
|
: !position_is_reachable_by_probe(rx, ry)
|
2417
|
2417
|
) return NAN;
|
2418
|
2418
|
|
2419
|
|
- // Move the probe to the given XY
|
2420
|
|
- do_blocking_move_to_xy(nx, ny, XY_PROBE_FEEDRATE_MM_S);
|
|
2419
|
+ const float nz =
|
|
2420
|
+ #if ENABLED(DELTA)
|
|
2421
|
+ // Move below clip height or xy move will be aborted by do_blocking_move_to
|
|
2422
|
+ min(current_position[Z_AXIS], delta_clip_start_height)
|
|
2423
|
+ #else
|
|
2424
|
+ current_position[Z_AXIS]
|
|
2425
|
+ #endif
|
|
2426
|
+ ;
|
|
2427
|
+
|
|
2428
|
+ const float old_feedrate_mm_s = feedrate_mm_s;
|
|
2429
|
+ feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S;
|
|
2430
|
+
|
|
2431
|
+ // Move the probe to the starting XYZ
|
|
2432
|
+ do_blocking_move_to(nx, ny, nz);
|
2421
|
2433
|
|
2422
|
2434
|
float measured_z = NAN;
|
2423
|
2435
|
if (!DEPLOY_PROBE()) {
|
|
@@ -2443,6 +2455,8 @@ static void clean_up_after_endstop_or_probe_move() {
|
2443
|
2455
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< probe_pt");
|
2444
|
2456
|
#endif
|
2445
|
2457
|
|
|
2458
|
+ feedrate_mm_s = old_feedrate_mm_s;
|
|
2459
|
+
|
2446
|
2460
|
if (isnan(measured_z)) {
|
2447
|
2461
|
LCD_MESSAGEPGM(MSG_ERR_PROBING_FAILED);
|
2448
|
2462
|
SERIAL_ERROR_START();
|