What should I expect
MotionDoneGet() to return for the various motion states?
What’s described in the docs gives me a hunch about
MOVING, but not about the rest of them. I don’t know what “settled” means in these states, particularly
I want to make sure I have appropriate expectations of
MotionDoneGet(). Anecdotal evidence suggests that waiting while in
IDLE could take a really long time. I may be doing it wrong, so I want to start with properly informed expectations.
Our Settling Topic has a lot of the extra detail which should help.
Settling behavior can be adjusted with SettleOnStopSet() or SettleOnEStopSet() if you want to RSIEventTypeMOTION_DONE to appear after both the events and settling criteria having been met. These can be adjusted in RapidSetup’s Axis Settling Criteria tab if you’d like to experiment with it.
The “Settling” doc was helpful. Thank you.
So, if I call
MotionDoneWait() when the axis is
IDLE, what should I expect? Will it wait for more motion to be commanded and then end before returning (or timing out)?
It should return immediately.
MotionDoneWait is MotionDoneGet with an internal loop to handle the Timeout passed in (Forever if you used that overload). MotionDoneGet checks that status bit of RSIEventTypeMOTION_DONE which I would l expect to be true when in IDLE.