|
@ -741,13 +741,13 @@ |
|
|
* This attempts to fill in locations closest to the nozzle's start location first. |
|
|
* This attempts to fill in locations closest to the nozzle's start location first. |
|
|
*/ |
|
|
*/ |
|
|
void unified_bed_leveling::probe_entire_mesh(const xy_pos_t &near, const bool do_ubl_mesh_map, const bool stow_probe, const bool do_furthest) { |
|
|
void unified_bed_leveling::probe_entire_mesh(const xy_pos_t &near, const bool do_ubl_mesh_map, const bool stow_probe, const bool do_furthest) { |
|
|
|
|
|
DEPLOY_PROBE(); // Deploy before ui.capture() to allow for PAUSE_BEFORE_DEPLOY_STOW
|
|
|
|
|
|
|
|
|
#if HAS_LCD_MENU |
|
|
#if HAS_LCD_MENU |
|
|
ui.capture(); |
|
|
ui.capture(); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
save_ubl_active_state_and_disable(); // No bed level correction so only raw data is obtained
|
|
|
save_ubl_active_state_and_disable(); // No bed level correction so only raw data is obtained
|
|
|
DEPLOY_PROBE(); |
|
|
|
|
|
|
|
|
|
|
|
uint8_t count = GRID_MAX_POINTS; |
|
|
uint8_t count = GRID_MAX_POINTS; |
|
|
|
|
|
|
|
|
mesh_index_pair best; |
|
|
mesh_index_pair best; |
|
@ -764,10 +764,10 @@ |
|
|
if (ui.button_pressed()) { |
|
|
if (ui.button_pressed()) { |
|
|
ui.quick_feedback(false); // Preserve button state for click-and-hold
|
|
|
ui.quick_feedback(false); // Preserve button state for click-and-hold
|
|
|
SERIAL_ECHOLNPGM("\nMesh only partially populated.\n"); |
|
|
SERIAL_ECHOLNPGM("\nMesh only partially populated.\n"); |
|
|
STOW_PROBE(); |
|
|
|
|
|
ui.wait_for_release(); |
|
|
ui.wait_for_release(); |
|
|
ui.quick_feedback(); |
|
|
ui.quick_feedback(); |
|
|
ui.release(); |
|
|
ui.release(); |
|
|
|
|
|
STOW_PROBE(); // Release UI before stow to allow for PAUSE_BEFORE_DEPLOY_STOW
|
|
|
return restore_ubl_active_state_and_leave(); |
|
|
return restore_ubl_active_state_and_leave(); |
|
|
} |
|
|
} |
|
|
#endif |
|
|
#endif |
|
@ -790,7 +790,9 @@ |
|
|
|
|
|
|
|
|
} while (best.pos.x >= 0 && --count); |
|
|
} while (best.pos.x >= 0 && --count); |
|
|
|
|
|
|
|
|
STOW_PROBE(); |
|
|
ui.release(); |
|
|
|
|
|
STOW_PROBE(); // Release UI during stow to allow for PAUSE_BEFORE_DEPLOY_STOW
|
|
|
|
|
|
ui.capture(); |
|
|
|
|
|
|
|
|
#ifdef Z_AFTER_PROBING |
|
|
#ifdef Z_AFTER_PROBING |
|
|
move_z_after_probing(); |
|
|
move_z_after_probing(); |
|
@ -1504,18 +1506,20 @@ |
|
|
|
|
|
|
|
|
abort_flag = isnan(measured_z); |
|
|
abort_flag = isnan(measured_z); |
|
|
|
|
|
|
|
|
if (DEBUGGING(LEVELING)) { |
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
const xy_pos_t lpos = rpos.asLogical(); |
|
|
if (DEBUGGING(LEVELING)) { |
|
|
DEBUG_CHAR('('); |
|
|
const xy_pos_t lpos = rpos.asLogical(); |
|
|
DEBUG_ECHO_F(rpos.x, 7); |
|
|
DEBUG_CHAR('('); |
|
|
DEBUG_CHAR(','); |
|
|
DEBUG_ECHO_F(rpos.x, 7); |
|
|
DEBUG_ECHO_F(rpos.y, 7); |
|
|
DEBUG_CHAR(','); |
|
|
DEBUG_ECHOPAIR_F(") logical: (", lpos.x, 7); |
|
|
DEBUG_ECHO_F(rpos.y, 7); |
|
|
DEBUG_CHAR(','); |
|
|
DEBUG_ECHOPAIR_F(") logical: (", lpos.x, 7); |
|
|
DEBUG_ECHO_F(lpos.y, 7); |
|
|
DEBUG_CHAR(','); |
|
|
DEBUG_ECHOPAIR_F(") measured: ", measured_z, 7); |
|
|
DEBUG_ECHO_F(lpos.y, 7); |
|
|
DEBUG_ECHOPAIR_F(" correction: ", get_z_correction(rpos), 7); |
|
|
DEBUG_ECHOPAIR_F(") measured: ", measured_z, 7); |
|
|
} |
|
|
DEBUG_ECHOPAIR_F(" correction: ", get_z_correction(rpos), 7); |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
measured_z -= get_z_correction(rpos) /* + probe_offset.z */ ; |
|
|
measured_z -= get_z_correction(rpos) /* + probe_offset.z */ ; |
|
|
|
|
|
|
|
|