QIDITECH / QIDI_PLUS3

GNU General Public License v3.0
21 stars 3 forks source link

Z offset still is not saving #32

Open JozephSchmoe opened 4 months ago

JozephSchmoe commented 4 months ago

Running "Set Z-offset" or "Auto Bed Leveling" on the X-Plus 3 does not save. Factory reset twice. Please tell us where in the config to store this value. I avoided this firmware for months due to this known, unresolved issue. As it is unresolved, what is the workaround?

CChen616 commented 4 months ago

For the Max3 Plus3 series machines, the Z offset value is stored in the config.mksini file under the babystep section. image

When the machine detects a connection to Klipper, it reads the value from the file and uses the command SET_GCODE_OFFSET Z={z offset} MOVE=0 to apply the Z offset value to Klipper's runtime variable, gcode offset. You can see this on the Fluidd interface.

image

When Klipper restarts, the variable is reset. Generally, the machine detects Klipper reconnecting and sends the command. However, if Moonraker has been restarted, it might cause the system to lose the connection to Klipper, and the command won't be sent when Klipper starts up. Power off and on the printer can get the connection back.

If there's an error in the mksini file, it can also lead to a failure in reading the Z offset. A proper configuration file looks like this:

image

Factory reset will reset the config.mksini file.

The above explanation assumes operations are performed using only the screen. To avoid conflicts, the Klipper file has been modified so that after running PROBE_CALIBRATE, the saved offset value in printer.cfg will be zero.

We apologize for any inconvenience this has caused. The design of the early system had some flaws, we will work to optimize this logic and include updates in the next release.