[1.1] No retroactive adjustment with M851 Z #8458
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Companion to #8456
If using babystep to adjust the Z probe offset, the axis will move and the mesh will be updated at the same time, causing a doubling of the Z offset over the rest of the print.
To correct for this, the current Z position would need to be modified in the opposite direction, canceling out the additional Z offset added to the mesh. This would be confusing to users, and moreover it would not be accurate without also taking the current Z fade level and current Z height into account. And in general it would break things.
It might make sense to change the mesh in the case where no babystepping is taking place, but this could be considered an undesirable and "weird" side-effect of changing the
zprobe_zoffset
, and would only manifest on the next leveled move.One way to remedy this would be to go back to storing the mesh with
zprobe_zoffset
included, then subtractingzprobe_zoffset
from the returned Z value (i.e., frombilinear_z_offset
). Thus, a babystep moving the Z axis up 1mm could subtract 1 fromzprobe_zoffset
while adding 1 to all mesh Z values, and everything would continue to operate as normal.Without including the
zprobe_zoffset
in thez_values
there is no simple or safe way to alter the mesh in conjunction with babystepping.Meanwhile, the
delta_height
now wants to get on-board, because it might have been established using a probe. The snowball is growing.So, rather than establish a precedent for tweaking every possible thing that the
zprobe_zoffset
may have been involved in at an earlier time, thus complicating our documentation and requiring users to be more aware of these hidden traps, this PR removes all side-effects from a change ofzprobe_zoffset
, and simply prepares the offset for its next use.