interp: split loaded vs applied tool offset params (#5401-#5409, #5081-#5089)#4228
Conversation
…1-#5089) Commit 725231f made #5401-#5409 report the tool length offset actually applied to motion. That matched the documentation, but broke probing routines in the wild that read #5401-#5409 right after an M6 (without a following G43) to get the loaded tool's stored offset. See LinuxCNC#4216. Restore the long-standing behavior of #5401-#5409 and put the applied offset in a new parameter set instead: - #5401-#5409: loaded tool's stored offset, refreshed from the tool table on tool change (M6), at startup, and by G10 L1/L10/L11. Reverts the convert_setup_tool / set_tool_parameters / default_tool_parameters / init_tool_parameters changes from 725231f so existing routines keep working. - #5081-#5089: tool length offset actually applied to motion, written by convert_tool_length_offset for G43, G43Hn, G43.1, G43.2, and zeroed by G49. This is the value 725231f intended to expose. Docs (overview.adoc, g-code.adoc) and the interp_parameter_def.hh enum updated to describe both sets. Fixes LinuxCNC#4216. Re-addresses LinuxCNC#2994 without the regression.
…semantics" This reverts commit 49ddfe6.
|
@grandixximo I think this did miss to update the absolute Z position formula example on the G38.n gcode? |
|
I did not look at the absolute Z position formula, because I had a vague memory of having separated the formula out from In both 2.9 and 2.10 The new one above is simpler than this following initial proposal we had Which is not working well anymore, has to be changed to either or the new one from the new docs So it should all be good, nothing missed, just gave me a heart attack lol |
|
Ah, sorry for the scare --- I didn't read careful enough. Two additional notes:
|
|
I think it's in contrast to what is referred to as "absolute machine position" which is what you reference with G53. So it is relative to the active coordinate system if I interpret it correctly |
Forward-port of #4219 (merged to 2.9) to master, fixing #4216.
#5401-#5409 again hold the loaded tool's stored offset (refreshed on M6 / G10 / init), restoring the behavior probing routines in the wild rely on. The offset actually applied to motion by G43/G43.1/G43.2 moves to the new parameters #5081-#5089, and is zeroed by G49.
Two commits:
Full test suite passes locally (291 tests, 0 failed).