I’ve lost track of what setting is being discussed, but if the setting is Advanced/PositionError, keep in mind that when changing that setting from within GC, you’re supposed to quit and restart after changing it. I’ve wasted much time forgetting this - the warning is there in the setting description tact, but why would I read the instructions ?
The PositionError is used to warn if the a chain’s expected position is too far different from the chain’s real position. That difference is calculated every 10mS, a difference of more than PositionError for either chain triggers the alarm. This is a measurement of the movement of the chains - not movement of the sled. A vertical movement of the sled needs very little movement of the chains but a horizontal sled movement amount is closer to the chain movement amount. Check this for yourself by using the arrows, see that moving up or down is more forgiving that moving right or left. The arrows use the Advanced/maxFeedrate. Use this to watch the error values during the moves:
tail -f log.txt | grep "\[PE"
in macOS that would be
tail -f /Applications/groundcontrol.app/Contents/Resources/yourapp/log.txt | grep "\[PE"
I find that longer horizontal moves at high feed rates accumulate enough error to trigger the alarm, and that the higher up the workarea you are the more this is emphasized. Something to keep that in mind when tuning the PositionError value.
I explored all this by setting Advanced/maxFeedrate to 1250 and Advanced/positionErrorLimit to 20.0 and restarted GC. Using the arrows, I ran horizontal 16" moves back and forth across the workarea every 4 inches above the center until I got to the top, all the while while watching the “[PE:…” position error. It stayed below 2.0 for both chains.
When I upped the maxFeedrate to 1350, the error climbed beyond 20mm error and the alarm triggered; it looks to me like there would need to be some PID tuning to get above a 1250 feedrate without going over 2mm of error. Under 1250, it looks like a 2.0mm limit might be reasonable. Turning the random 10% error in FAKE_SERVO off didn’t change this, the 2.0mm value still seems to work at the top of the sheet as well as everywhere else.
I’m just tuning the ‘best case’ of the alarm setting here, on the bench with no motors or chains attached. This doesn’t improve the machine’s accuracy and it doesn’t take the physical realities of the motors into account. If the power supply can’t provide enough current, or the driver board has a weakened chip, or the chain binds and keeps the sprocket from turning freely, the 2.0mm alarm might well trip. That is a different chapter.