Browse Source
Use extra G35 BLTouch HS Mode clearance in Tramming Wizard (#20057)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
vanilla_fb_2.0.x
qwewer0
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
7 additions and
13 deletions
-
Marlin/src/gcode/bedlevel/G35.cpp
-
Marlin/src/lcd/menu/menu_tramming.cpp
-
Marlin/src/module/probe.cpp
|
|
@ -120,8 +120,7 @@ void GcodeSuite::G35() { |
|
|
|
// In BLTOUCH HS mode, the probe travels in a deployed state.
|
|
|
|
// Users of G35 might have a badly misaligned bed, so raise Z by the
|
|
|
|
// length of the deployed pin (BLTOUCH stroke < 7mm)
|
|
|
|
current_position.z = (Z_CLEARANCE_BETWEEN_PROBES) + (7 * ENABLED(BLTOUCH_HS_MODE)); |
|
|
|
|
|
|
|
do_blocking_move_to_z((Z_CLEARANCE_BETWEEN_PROBES) + TERN0(BLTOUCH_HS_MODE, 7)); |
|
|
|
const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[i], PROBE_PT_RAISE, 0, true); |
|
|
|
|
|
|
|
if (isnan(z_probed_height)) { |
|
|
|
|
|
@ -43,6 +43,10 @@ float z_measured[G35_PROBE_COUNT] = { 0 }; |
|
|
|
static uint8_t tram_index = 0; |
|
|
|
|
|
|
|
bool probe_single_point() { |
|
|
|
// In BLTOUCH HS mode, the probe travels in a deployed state.
|
|
|
|
// Users of Tramming Wizard might have a badly misaligned bed, so raise Z by the
|
|
|
|
// length of the deployed pin (BLTOUCH stroke < 7mm)
|
|
|
|
do_blocking_move_to_z((Z_CLEARANCE_BETWEEN_PROBES) + TERN0(BLTOUCH_HS_MODE, 7)); |
|
|
|
const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[tram_index], PROBE_PT_RAISE, 0, true); |
|
|
|
DEBUG_ECHOLNPAIR("probe_single_point: ", z_probed_height, "mm"); |
|
|
|
z_measured[tram_index] = z_probed_height; |
|
|
|
|
|
@ -667,8 +667,8 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise |
|
|
|
if (bltouch.triggered()) bltouch._reset(); |
|
|
|
#endif |
|
|
|
|
|
|
|
// TODO: Adapt for SCARA, where the offset rotates
|
|
|
|
xyz_pos_t npos = { rx, ry }; |
|
|
|
// On delta keep Z below clip height or do_blocking_move_to will abort
|
|
|
|
xyz_pos_t npos = { rx, ry, _MIN(TERN(DELTA, delta_clip_start_height, current_position.z), current_position.z) }; |
|
|
|
if (probe_relative) { // The given position is in terms of the probe
|
|
|
|
if (!can_reach(npos)) { |
|
|
|
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Position Not Reachable"); |
|
|
@ -678,15 +678,6 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise |
|
|
|
} |
|
|
|
else if (!position_is_reachable(npos)) return NAN; // The given position is in terms of the nozzle
|
|
|
|
|
|
|
|
npos.z = |
|
|
|
#if ENABLED(DELTA) |
|
|
|
// Move below clip height or xy move will be aborted by do_blocking_move_to
|
|
|
|
_MIN(current_position.z, delta_clip_start_height) |
|
|
|
#else |
|
|
|
current_position.z |
|
|
|
#endif |
|
|
|
; |
|
|
|
|
|
|
|
const float old_feedrate_mm_s = feedrate_mm_s; |
|
|
|
feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S; |
|
|
|
|
|
|
|