|
|
@ -516,7 +516,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
|
|
|
|
#if TOTAL_PROBING == 2
|
|
|
|
#if TOTAL_PROBING == 2
|
|
|
|
|
|
|
|
|
|
|
|
// Do a first probe at the fast speed
|
|
|
|
// Do a first probe at the fast speed
|
|
|
|
if (try_to_probe(PSTR("FAST"), z_probe_low_point, MMM_TO_MMS(Z_PROBE_SPEED_FAST),
|
|
|
|
if (try_to_probe(PSTR("FAST"), z_probe_low_point, z_probe_fast_mm_s,
|
|
|
|
sanity_check, Z_CLEARANCE_BETWEEN_PROBES) ) return NAN;
|
|
|
|
sanity_check, Z_CLEARANCE_BETWEEN_PROBES) ) return NAN;
|
|
|
|
|
|
|
|
|
|
|
|
const float first_probe_z = current_position.z;
|
|
|
|
const float first_probe_z = current_position.z;
|
|
|
@ -524,7 +524,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
|
|
|
|
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("1st Probe Z:", first_probe_z);
|
|
|
|
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("1st Probe Z:", first_probe_z);
|
|
|
|
|
|
|
|
|
|
|
|
// Raise to give the probe clearance
|
|
|
|
// Raise to give the probe clearance
|
|
|
|
do_blocking_move_to_z(current_position.z + Z_CLEARANCE_MULTI_PROBE, MMM_TO_MMS(Z_PROBE_SPEED_FAST));
|
|
|
|
do_blocking_move_to_z(current_position.z + Z_CLEARANCE_MULTI_PROBE, z_probe_fast_mm_s);
|
|
|
|
|
|
|
|
|
|
|
|
#elif Z_PROBE_SPEED_FAST != Z_PROBE_SPEED_SLOW
|
|
|
|
#elif Z_PROBE_SPEED_FAST != Z_PROBE_SPEED_SLOW
|
|
|
|
|
|
|
|
|
|
|
@ -533,8 +533,8 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
|
|
|
|
const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0 + (offset.z < 0 ? -offset.z : 0);
|
|
|
|
const float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0 + (offset.z < 0 ? -offset.z : 0);
|
|
|
|
if (current_position.z > z) {
|
|
|
|
if (current_position.z > z) {
|
|
|
|
// Probe down fast. If the probe never triggered, raise for probe clearance
|
|
|
|
// Probe down fast. If the probe never triggered, raise for probe clearance
|
|
|
|
if (!probe_down_to_z(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST)))
|
|
|
|
if (!probe_down_to_z(z, z_probe_fast_mm_s))
|
|
|
|
do_blocking_move_to_z(current_position.z + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST));
|
|
|
|
do_blocking_move_to_z(current_position.z + Z_CLEARANCE_BETWEEN_PROBES, z_probe_fast_mm_s);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -582,7 +582,7 @@ float Probe::run_z_probe(const bool sanity_check/*=true*/) {
|
|
|
|
#if EXTRA_PROBING > 0
|
|
|
|
#if EXTRA_PROBING > 0
|
|
|
|
< TOTAL_PROBING - 1
|
|
|
|
< TOTAL_PROBING - 1
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
) do_blocking_move_to_z(z + Z_CLEARANCE_MULTI_PROBE, MMM_TO_MMS(Z_PROBE_SPEED_FAST));
|
|
|
|
) do_blocking_move_to_z(z + Z_CLEARANCE_MULTI_PROBE, z_probe_fast_mm_s);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -672,7 +672,7 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise
|
|
|
|
if (!isnan(measured_z)) {
|
|
|
|
if (!isnan(measured_z)) {
|
|
|
|
const bool big_raise = raise_after == PROBE_PT_BIG_RAISE;
|
|
|
|
const bool big_raise = raise_after == PROBE_PT_BIG_RAISE;
|
|
|
|
if (big_raise || raise_after == PROBE_PT_RAISE)
|
|
|
|
if (big_raise || raise_after == PROBE_PT_RAISE)
|
|
|
|
do_blocking_move_to_z(current_position.z + (big_raise ? 25 : Z_CLEARANCE_BETWEEN_PROBES), MMM_TO_MMS(Z_PROBE_SPEED_FAST));
|
|
|
|
do_blocking_move_to_z(current_position.z + (big_raise ? 25 : Z_CLEARANCE_BETWEEN_PROBES), z_probe_fast_mm_s);
|
|
|
|
else if (raise_after == PROBE_PT_STOW)
|
|
|
|
else if (raise_after == PROBE_PT_STOW)
|
|
|
|
if (stow()) measured_z = NAN; // Error on stow?
|
|
|
|
if (stow()) measured_z = NAN; // Error on stow?
|
|
|
|
|
|
|
|
|
|
|
|