axis_twist_compensation: fix coordinate space mismatch in compensation lookup#7246
axis_twist_compensation: fix coordinate space mismatch in compensation lookup#7246ramonsaboya wants to merge 1 commit intoKlipper3d:masterfrom
Conversation
|
Thanks. This code was changed recently as part of adding internal support for However, I don't see a regression when I look at the recent changes ( Separately, if you're looking for me to commit this change directly then it would need a signed-off-by line - see: https://www.klipper3d.org/CONTRIBUTING.html -Kevin EDIT: Or, if the current code was not correct even prior to the recent changes, then can you also explain why that is? |
Summary
_update_z_compensation_valuelooks up twist compensation usingpos.test_x/pos.test_y(probe coordinates), butcompensation_start_x/yandcompensation_end_x/yare stored in nozzle coordinates during calibration. When a probe has a non-zero offset, the compensation is applied at the wrong physical bed location.This affects any probe with
y_offset != 0using Y-axis twist compensation (Beacon, Cartographer, offset BLTouch, etc.). X compensation is similarly affected for probes withx_offset != 0.Fix
Use
pos.bed_x/pos.bed_y(nozzle coordinates) instead ofpos.test_x/pos.test_yfor the interpolation lookup, matching the coordinate space of the stored boundaries.Evidence