Skip to content

[BUG] Probe Z offset vs Home Z offset when using UBL (may only apply to DWIN display) #28061

@TheAndr0id

Description

@TheAndr0id

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

This might be a feature request, it might be a bug. I've flipped back and forth and settled on a bug because I think it's not working as intended. Maybe.

First some background. I use UBL, and I never looked into any of the ABL forms as UBL just makes sense to me.

Just for clarity, I am talking about M851 XYZ Probe Offset vs Home Offsets.

I see the UBL probe data as a topology of the bed, I perform the 100(ish) probe points with Probe Z offset = 0, then use the G29 P5 C command to unify them down by the mean average. This gives a +- topology of my bed surface. I then use a 4 point adjustment probe before each print (G29 J2) to adjust the stored UBL data.

The issue I struggled with was how to handle nozzle changes. I wasn't looking forward to having to redo the UBL bed probe every time I switched to a different nozzle. Now it sounds obvious, but at the time realizing the how the home offset was going to work was a eureka moment. Change the nozzle, print a couple of bed leveling test patches and adjust the Home Offset Z value to taste. Done and done.

From my testing on an Ender 3v2 (DWIN) using UBL, I found that setting the Probe Offset didn't change the Z height at all, it only changed the probe values during the probing process. Changing the Home Offset did work dynamically during a print or otherwise. This all makes sense given the premise of UBL.

Here's the bug/feature request. Currently if a probe is configured then all of the UI settings show configuring the Probe Offset Z, not the Home Offset Z, even though the probe offset really doesn't make sense when using UBL. (Again, I don't know the other ABL methods so maybe this is also an issue?)

The DWIN interface has setting values in multiple places (Prepare, Control/Advanced, Tuning during print) and seem to utilize the HAS_BED_PROBE define to switch from Home Offset Z to Probe Offset Z. I've found switching these to HAS_ONESTEP_LEVEL switches this back(mostly - Tune menu is hard coded) to Home Offset Z.

I've found there are other changes needed for the edited values (Draw_Edit_Signed_Float2 vs Draw_Edit_Signed_Float3) and how the scaled values for Home Offsets are stored when changed under Advanced Settings. The Chinese language entries are a guess at best for me. There's also a minor issue where if Home Offset Z is set it also saves all settings to EEPROM (see HMI_Zoffset()). This could cause serious issues - by default UBL_SAVE_ACTIVE_ON_M500 is defined, and if this was done after the G29 J2 is run, your UBL stored mesh is now ruined...

Bug Timeline

old

Expected behavior

Mostly see the description above. I was expecting to be able to control the distance of the nozzle above the bed.

Actual behavior

Probe offset Z only impacts probe measurements not live distance between the bed and the nozzle. If any bed probe is defined all of the interfaces menu items switch to only being able to change the Probe Offset Z, not the Home Offset Z.

Steps to Reproduce

  1. Enable UBL using DWIN (may be impacting other interfaces), compile, flash.
  2. Visit menus see that all of them change Probe Offset Z not Home Offset Z.
  3. Change Probe Offset Z and note nothing changes during an active print.

Version of Marlin Firmware

2.1.2.5

Printer model

Ender 3v2

Electronics

Stock

LCD/Controller

DWIN

Other add-ons

none

Bed Leveling

UBL Bilinear mesh

Your Slicer

Slic3r

Host Software

None

Don't forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

Configurations.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions