It seems that when chain compensation is used during calibration, the rotational radius that gets calculated is really far off from what it should be. My theory is that if you don’t end up with a rotational radius close to what it actually is (for a ring kit, something close to 140mm… but I don’t know if this has been precisely measured/calculated) then something is wrong. When I do calibration with chain compensation values entered, I’ll get a rotational radius around 132 mm. This means it’s trying to compensate for something else.
I don’t know how to fix this, but I have an idea as to how to maybe make an improvement. The software currently adjusts motorYcoord and rotationalRadius at the same time and when the errors associated with those values come close to solving the equation, the software starts adjusting the chainSagCorrection as well to arrive at a final result. It makes the adjusts in motorYcoord and rotationalRadius in lock-step, they aren’t independently adjusted so if you need to make a change in motorYcoord, you’re getting a change in rotationalRadius whether you need it or not.
Without making enormous changes to the routine and considering we have a good feel for what the rotationalRadius should be, what if we adjust for motorYCoord only at first, then when that reaches some minimum error, start adjusting rotationalRadius and then when that reaches some minimum error, start adjusting chainSagCorrection.
I think doing this would minimize changes to the rotationalRadius… which, according to my theory, should be really close to 140 mm (for ring kit).