When I observe positions and velocities for an axis during a homing operation (method RSIHomeMethodImprovedPOSITIVE_HOME_NEGATIVE_MOMENTUM), it looks as though it’s not using the acceleration/deceleration parameters I set before starting the operation.
I checked the homing docs, and couldn’t find details about the stop for stage 1. Is it an estop or something similar or should it try to use the decel parameter?
You should use StopTimeSet(); I do remember updating the documentation after our last discussion, but it doesn’t seem to be updated on our website. I’ll look into it.
No worries, I’ve updated the documentation to warn about this easy confusion point. HomeDecelerationSet
Yes, Acceleration and velocity will still be used in each of the respective stages. So if you call HomeVelocitySet(stage,velocity) The section of the home stage chart with a matching stage number above the line will execute at the specified velocity. And ramp up to that velocity with the value from HomeAccelerationSet(stage,velocity)
Yes, other commanded master based homing deceleration as a result of a change in IO state will use the value from StopTimeSet() to determine the deceleration.
The question I had in my head and didn’t clearly ask was about other decelerations, like at the end of phase 2 (back-off the switch) or the other phases. Are those stop-time based or “regular” decelerations?
At default, those are all stop time-based.
However, you can also configure the stop behavior yourself: HomeBehaviorSet() See this diagram for what parameter each method for stoping uses and if it is based on the rate of change or duration.