[Testers needed] X twist compensation

Hey all, I’ve implemented a module that allows users to calibrate for x gantry twist, correcting z values produced by the probe.

To find out if you have this issue, you can perform the Probe Location Bias test detailed in the Klipper docs.

The module I’ve implemented allows the user to perform a few manual measurements along the X axis, then create a compensation profile that corrects the Z height whenever the probe is used (such as in a bed_mesh). It has worked very well for me, and I am looking for more people to test it out while the PR is in review.

Installation instructions

# change directory to your klipper install folder on your RPI/other klipper host
cd klipper

# add my klipper fork as a remote, and fetch it
git remote add koonweee https://github.com/koonweee/klipper.git
git fetch koonweee

# checkout the new "x_twist_compensation" module and the modified "probe" module
git checkout remotes/koonweee/jt/x-twist-compensation-simple klippy/extras/x_twist_compensation.py klippy/extras/probe.py

Symptoms of this problem/configuration/usage instructions can be found in this document here.

The PR can be found here, please leave your feedback there too.

Feel free to reach me at koonweee#0923 on the klipper discord as I may not check back here often.


Would it be possible to automate this by adding a temporary nozzle mounted switch? I did a manual version of this. Created a nozzle mounted switch and had an LED light up when clicked. So all I had to do was go down until the LED turned on and then back up and down again to make sure it was reliable and then save the value.
If we would be able to use a probe pin for this you can possibly do a 200 value test in a couple of minutes.
Using this method I did a 30 point compensation in about 15 minutes. But I imagine automating it could make it even quicker. Obviously it would be optional.