Skew compensation in the Bambu X1C Firmware

Even with log output, it’s difficult to interpret. That’s why I went with the brute force approach.

Here is the result of publishing M1005 I0.0025 15 times in a row.

{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00025}}
{"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00025}}

And just for good measure, I checked this too. These are also back to back log entries:

M1005 I0.0025: {"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.0025}}
M1005 I0.0025: {"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.0025}}
M1005 X119.1 Y120: {"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00919}}
M1005 X119.1 Y120: {"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00919}}
M1005 I0.0025: {"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.0025}}
M1005 I0.0025: {"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.0025}}
M1005 X119.2 Y120: {"command": "M1005", "param": {"skew": "new", "XY_comp_ang": 0.00835}}
M1005 X119.2 Y120: {"command": "M1005", "param": {"skew": "current", "XY_comp_ang": 0.00835}}