-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
Fix bilinear levelling z offset #6251
Fix bilinear levelling z offset #6251
Conversation
Since run_probe was altered to return the probe Z position rather than the nozzle Z position bilinear levelling has been broken because the Z-offset has been applied twice - once in the run_probe function, and then again in the G29 code for bilinear levelling.
zoffset is an offset that can be given with the subcommand Z, in that case we PROBE_MANUALLY. If you are not from the command zoffset Z is 0 ...
Since we are with the PROBE_MANUALLY HAS_BED_PROBE is false then zoffset is zero or the value given by the command Z. |
OK. If I understand you correctly, my change is going to 'fix' the Z probe offset being applied twice but only by accident, and is also going to break passing a Z subcommand to G29. In that case, is the way to address the double-addition of the Z probe offset to the bilinear correction grid simply to remove these lines?
|
I compiled and tested with my initial proposed change reverted and the Let me know what to do with this PR - I'm happy to update/close/resubmit as appropriate. |
you're right! |
follow some recent change:s committed in MarlinFirmware#6181 problem identified and fix suggested in: MarlinFirmware#6251 MarlinFirmware#6233
@MagoKimbra @thinkyhead - I'm a little confused now. This was merged as-is, with my original proposed change, which seemed to be flawed. Won't the Z parameter to G29 now be ignored? |
The fix in MarlinFirmware#6251 for bilinear Z offset was flawed and broke the Z parameter of G29 for bilinear levelling. This is reverted and a different fix is used for the double-addition of the Z-probe offset to the bilinear correction grid.
Better fix for bilinear Z offset and G29 Z (update to #6251)
Thanks for #6258. That makes more sense. |
Since run_probe was altered to return the probe Z position rather than the nozzle Z position bilinear levelling has been broken because the Z-offset has been applied twice - once in the run_probe function, and then again in the G29 code for bilinear levelling. This results in Z0 being below the bed when the Z-offset is negative.
On the assumption that the change to run_probe is needed elsewhere, this PR removes the extra addition of the Z offset in the G29 code for bilinear levelling.