Basic Information:
Printer Model: ratrig
MCU / Printerboard: octopus pro
Host / SBC rpi4
Describe your issue:
I’ve done a lot of digging into the twist module and discovered that it applies to nozzle probing. Here is an example part of start macro:
G28
Z_TILT_ADJUST METHOD=TAP
In this case, the twist compensation value is added to all nozzle probe measurements.
Example 2:
G28
Z_TILT_ADJUST
G28 Z
BED_MESH_CALIBRATE
SET_Z_FROM_PROBE (or any command that shifts zero based on the nozzle tap)
BED_MESH_CALIBRATE shifted all coordinates during measurement via twist compensation, and the tap will shift them again. Logging has been added to the `axis_twist_compensation.py` file:
@@ -4,7 +4,7 @@
#
# This file may be distributed under the terms of the GNU GPLv3 license.
-import math
+import math, logging
from . import manual_probe, bed_mesh, probe
@@ -71,6 +75,9 @@ class AxisTwistCompensation:
self.compensation_end_y
)
+ logging.info(
+ "twist change offset bed_x: %.2f ,bed_y: %.2f, bed_z: %.4f test x: %.2f , test y: %.2f, test z: %.4f, zo: %.4f, final z: %.4f"
+ % (pos.bed_x, pos.bed_y, pos.bed_z, pos.test_x, pos.test_y, pos.test_z, zo, pos.bed_z+zo ))
pos = manual_probe.ProbeResult(pos.bed_x, pos.bed_y, pos.bed_z + zo,
pos.test_x, pos.test_y, pos.test_z)
poslist[i] = pos
Console output:
twist change offset bed_x: 150.00 ,bed_y: 150.00, bed_z: 4.9731 test x: 150.00 , test y: 127.50, test z: 5.4628, zo: 0.0241, final z: 4.9973
twist change offset bed_x: 150.00 ,bed_y: 150.00, bed_z: -0.1156 test x: 150.00 , test y: 150.00, test z: -0.1629, zo: 0.0241, final z: -0.0915
first line - G28 Z, second PROBE METHOD=TAP. Same for tilt with tap method.
I created patch :axis_twist_ignore_nozzle_tap, maybe some caveats in probes, maybe loadcell or nozzle klicky need twist compensation(for my guess, no, but…)
After patch:
twist change offset bed_x: 150.00 ,bed_y: 150.00, bed_z: 4.9735 test x: 150.00 , test y: 127.50, test z: 5.4634, zo: 0.0241, final z: 4.9976
twist change offset bed_x: 150.00 ,bed_y: 150.00, bed_z: -0.1188 test x: 150.00 , test y: 150.00, test z: -0.1642, zo: 0.0000, final z: -0.1188
