fix(api): separate home and backoff steps into separate move groups #13095
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Since the limit switch and backoff moves are in the same move group, the node will immediately execute the backoff move upon the home completion. This causes a catastrophe if the home request fails: the encoder position will no longer be reporting the correct value and the axis would not be able to home again until powercycled.
We are fixing this by separating the home and the backoff moves into two consecutive move groups, the MoveGroupRunner would now be able to stop the subsystem to perform a backoff move if the home request was not completed by condition.