-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(app): handle dtwiz after estop #16168
fix(app): handle dtwiz after estop #16168
Conversation
The estop system is now checked a little better: - When the estop is detected as engaged, we poll it a lot more frequently so the buttons are more responsive - When we hit the software interlock to disengage the estop, we use the result immediately instead of waiting for a poll, which makes the result nice and snappy - When we see a run get an error, or a maintenance run fail, we invalidate the estop query, so we don't have a weird lag between the run failing with an estop error and the estop modal later popping up
I don't know whether this was the react-router update, or whether this has always just been broken, but this useRoute for sure was not handling any _subroutes_ below /devices/:robotName, just that route itself, so you would never see the estop modal if you were, shall we say, looking at a run.
If there was an estop, we need to update the position estimators of everything, and to do that we need to go reactivate them. Closes RQA-3103
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was surprisingly involved. Thanks to you both for fixing this!
const deviceRouteMatch = useMatch('/devices/:robotName') | ||
const params = deviceRouteMatch?.params as DesktopRouteParams | ||
const robotName = params?.robotName | ||
const deviceRouteMatch = useMatch('/devices/:robotName/*') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super funny/weird change between RR versions.
It looks like this is the only place in the app we use useMatch
.
const { data: estopStatus } = useEstopQuery({ | ||
refetchInterval: ESTOP_REFETCH_INTERVAL_MS, | ||
refetchInterval: estopEngaged | ||
? ESTOP_CURRENTLY_ENGAGED_REFETCH_INTERVAL_MS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, great thinking.
}) | ||
console.log(`estop status: ${estopStatus?.data.status}`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stray log?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yup, good catch, thanks!
}, | ||
onError: (error: any) => { | ||
setIsResuming(false) | ||
console.log(error) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe console.error
?
Overview
Fixes some issues around estop and drop tip. Specifically,
Closes RQA-3103, RQA-3133
Test Plan and Hands on Testing