|
@ -727,7 +727,7 @@ |
|
|
* Probe all invalidated locations of the mesh that can be reached by the probe. |
|
|
* Probe all invalidated locations of the mesh that can be reached by the probe. |
|
|
* 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 &pos, 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 &nearby, const bool do_ubl_mesh_map, const bool stow_probe, const bool do_furthest) { |
|
|
probe.deploy(); // Deploy before ui.capture() to allow for PAUSE_BEFORE_DEPLOY_STOW
|
|
|
probe.deploy(); // Deploy before ui.capture() to allow for PAUSE_BEFORE_DEPLOY_STOW
|
|
|
|
|
|
|
|
|
TERN_(HAS_LCD_MENU, ui.capture()); |
|
|
TERN_(HAS_LCD_MENU, ui.capture()); |
|
@ -758,7 +758,7 @@ |
|
|
|
|
|
|
|
|
best = do_furthest |
|
|
best = do_furthest |
|
|
? find_furthest_invalid_mesh_point() |
|
|
? find_furthest_invalid_mesh_point() |
|
|
: find_closest_mesh_point_of_type(INVALID, pos, true); |
|
|
: find_closest_mesh_point_of_type(INVALID, nearby, true); |
|
|
|
|
|
|
|
|
if (best.pos.x >= 0) { // mesh point found and is reachable by probe
|
|
|
if (best.pos.x >= 0) { // mesh point found and is reachable by probe
|
|
|
TERN_(EXTENSIBLE_UI, ExtUI::onMeshUpdate(best.pos, ExtUI::PROBE_START)); |
|
|
TERN_(EXTENSIBLE_UI, ExtUI::onMeshUpdate(best.pos, ExtUI::PROBE_START)); |
|
@ -788,8 +788,8 @@ |
|
|
restore_ubl_active_state_and_leave(); |
|
|
restore_ubl_active_state_and_leave(); |
|
|
|
|
|
|
|
|
do_blocking_move_to_xy( |
|
|
do_blocking_move_to_xy( |
|
|
constrain(pos.x - probe.offset_xy.x, MESH_MIN_X, MESH_MAX_X), |
|
|
constrain(nearby.x - probe.offset_xy.x, MESH_MIN_X, MESH_MAX_X), |
|
|
constrain(pos.y - probe.offset_xy.y, MESH_MIN_Y, MESH_MAX_Y) |
|
|
constrain(nearby.y - probe.offset_xy.y, MESH_MIN_Y, MESH_MAX_Y) |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1206,7 +1206,7 @@ |
|
|
|
|
|
|
|
|
found_a_NAN = true; |
|
|
found_a_NAN = true; |
|
|
|
|
|
|
|
|
xy_int8_t near_pos { -1, -1 }; |
|
|
xy_int8_t nearby { -1, -1 }; |
|
|
float d1, d2 = 99999.9f; |
|
|
float d1, d2 = 99999.9f; |
|
|
GRID_LOOP(k, l) { |
|
|
GRID_LOOP(k, l) { |
|
|
if (isnan(z_values[k][l])) continue; |
|
|
if (isnan(z_values[k][l])) continue; |
|
@ -1221,7 +1221,7 @@ |
|
|
|
|
|
|
|
|
if (d1 < d2) { // Invalid mesh point (i,j) is closer to the defined point (k,l)
|
|
|
if (d1 < d2) { // Invalid mesh point (i,j) is closer to the defined point (k,l)
|
|
|
d2 = d1; |
|
|
d2 = d1; |
|
|
near_pos.set(i, j); |
|
|
nearby.set(i, j); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1229,8 +1229,8 @@ |
|
|
// At this point d2 should have the near defined mesh point to invalid mesh point (i,j)
|
|
|
// At this point d2 should have the near defined mesh point to invalid mesh point (i,j)
|
|
|
//
|
|
|
//
|
|
|
|
|
|
|
|
|
if (found_a_real && near_pos.x >= 0 && d2 > farthest.distance) { |
|
|
if (found_a_real && nearby.x >= 0 && d2 > farthest.distance) { |
|
|
farthest.pos = near_pos; // Found an invalid location farther from the defined mesh point
|
|
|
farthest.pos = nearby; // Found an invalid location farther from the defined mesh point
|
|
|
farthest.distance = d2; |
|
|
farthest.distance = d2; |
|
|
} |
|
|
} |
|
|
} // GRID_LOOP
|
|
|
} // GRID_LOOP
|
|
|