Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] UBL with PROBE_MANUALLY can crash into the bed when "Mesh Edit" or "Fine Tune All" or "Fine Tune Closest" from LCD #19804

Closed
qurvento opened this issue Oct 18, 2020 · 11 comments · Fixed by #20248

Comments

@qurvento
Copy link

qurvento commented Oct 18, 2020

Bug Description

UBL with PROBE_MANUALLY crashes into the bed when running "Mesh Edit" or "Fine Tune All" or "Fine Tune Closest" from LCD. The printer tries twice to set Z=0 and crashes into the bed if current point's Z>0.

My Configurations

Creality Ender-3 v4.2.2
Marlin 2.0.7.1
AUTO_BED_LEVELING_UBL, PROBE_MANUALLY, LCD_BED_LEVELING, MESH_EDIT_MENU, UBL_MESH_EDIT_MOVES_Z
cfg.zip

Steps to Reproduce

  1. Select "Motion/Unified Bed Leveling/Mesh Edit" or "Motion/Unified Bed Leveling/UBL Tools/Edit Mesh/Fine Tune All" or "Motion/Unified Bed Leveling/UBL Tools/Edit Mesh/Fine Tune Closest".

Expected behavior: moves to mesh point's Z plus paper width

Actual behavior: moves Z=0, back to Z_CLEARANCE_BETWEEN_PROBES and again to Z=0.

In unified_bed_leveling::fine_tune_mesh():
0 if 'H' option is missing. Could be set to MANUAL_PROBE_START_Z instead:

    #if ENABLED(UBL_MESH_EDIT_MOVES_Z)
        const float h_offset = parser.seenval('H') ? parser.value_linear_units() : 0;

Redundant Z move after moving to start position:

      do_blocking_move_to_xy_z(pos, Z_CLEARANCE_BETWEEN_PROBES);  // Move to the given XY with probe clearance
      TERN_(UBL_MESH_EDIT_MOVES_Z, do_blocking_move_to_z(h_offset));  // Move Z to the given 'H' offset
@qurvento qurvento changed the title [BUG] UBL with PROBE_MANUALLY crashes into the bed when "Mesh Edit" or "Fine Tune All" or "Fine Tune Closest" from LCD [BUG] UBL with PROBE_MANUALLY can crash into the bed when "Mesh Edit" or "Fine Tune All" or "Fine Tune Closest" from LCD Oct 19, 2020
@boelle
Copy link
Contributor

boelle commented Oct 20, 2020

is this related to #19814 ?

@qurvento
Copy link
Author

no

@sjasonsmith
Copy link
Contributor

Don't be fooled by the "Merged" PR above, that was a similar issue that I thought might have shared a root cause with this. It is very similar, but in different code.

@sjasonsmith sjasonsmith linked a pull request Nov 22, 2020 that will close this issue
@sjasonsmith
Copy link
Contributor

@qurvento I've posted a PR with your recommended changes. Can you look at it and verify that it works how you would expect?

@Foxies-CSTL

This comment has been minimized.

@sjasonsmith

This comment has been minimized.

@Foxies-CSTL

This comment has been minimized.

@sjasonsmith

This comment has been minimized.

@Foxies-CSTL

This comment has been minimized.

@sjasonsmith
Copy link
Contributor

Closing this as resolved, since we haven't heard back from @qurvento after the merged PR.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants