Here’s the logs. First I did an set zero on the sprockets (I had already did auto adjustment to 12 o’clock), followed by an adjust left chain. The brackets variables indicate the print statements I added to report the variables of singleAxisMove.
Sent: B06 L0 R0
B06 L0 R0
Setting Chain Lengths To:
Left: 0.00mm
Right: 0.00mm
ok
Sent: B02 L1 R0
B02 L1 R0
Measuring out left chain
2032.00mm [endPos]
800.00mm [MMPerMin]
2032.00mm [moveDist]
15239steps [finalNumberOfSteps]
0.13mmpermin [stepSizeMM]
2030.67mm [value reported from axis.read at end of calibrate chain lengths]
Then I did another automatic and set zero. The error from 12 o’clock was 1.17 mm
Sent: B10 L
B10 L
ok
Sent: B10 R
B10 R
ok
Sent: G91
G91
ok
Sent: B09 L-1.17
B09 L-1.17
2032.00mm [endPos]
800.00mm [MMPerMin]
-1.17mm [moveDist]
8steps [finalNumberOfSteps]
-0.13mmpermin [stepsizeMM]
ok
Sent: B09 R-0.0
B09 R-0.0
ok
Sent: G90
G90
Sent: B06 L0 R0
B06 L0 R0
Setting Chain Lengths To:
Left: 0.00mm
Right: 0.00mm
ok
Message: Notice: Exiting the calibration process early may result in incorrect calibration.Sent: ~
ok
finally, sent a B09 L2032:
Sent: B09 L2032
B09 L2032
2032.00mm [endPos]
800.00mm [MMPerMin]
2031.94mm [moveDist]
15239steps [finalNumberOfSteps]
0.13mmpermin [stepSizeMM]
this time, there error was only 0.01 mm
If there isn’t any rounding going on with how the variables are being reported to the log, it makes no sense for the same values to provide differing results.