Increase the motion timeout times proportionally for longer moves, to decrease the chances of a false positive.
Motivation and Context
There were some complaints from MFX that their motors were timing out early.
Prior to this PR, the motion timeouts were:
Minimum 5 second (settle_time)
otherwise, slightly greater than the expected travel time (distance/speed + 2*acceleration time)
In some cases for longer moves, the expected time to get to the goal would be wrong by greater than 5 seconds.
This makes it so that these cases are less likely to frivolously error without compromising faster timeout feedback for the shorter moves. I toyed with increasing the base settle time from 5 to, say, 10, but that doesn't help these long moves enough and it delays the timeout message for motors that are expected to arrive "immediately".
I also considered including the motor's settle_time parameter but I wanted to get out a small PR without any unnecessary baggage and without needing more in-depth testing.
How Has This Been Tested?
The tests all still pass and the code here is fairly simple
Description
Increase the motion timeout times proportionally for longer moves, to decrease the chances of a false positive.
Motivation and Context
There were some complaints from MFX that their motors were timing out early.
Prior to this PR, the motion timeouts were:
In some cases for longer moves, the expected time to get to the goal would be wrong by greater than 5 seconds. This makes it so that these cases are less likely to frivolously error without compromising faster timeout feedback for the shorter moves. I toyed with increasing the base settle time from 5 to, say, 10, but that doesn't help these long moves enough and it delays the timeout message for motors that are expected to arrive "immediately".
I also considered including the motor's settle_time parameter but I wanted to get out a small PR without any unnecessary baggage and without needing more in-depth testing.
How Has This Been Tested?
The tests all still pass and the code here is fairly simple
Where Has This Been Documented?
Added pre-release notes