-
-
Notifications
You must be signed in to change notification settings - Fork 510
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
Autopilot server and command server fixes #2423
Conversation
- Remove parameters that are now unused. - Clean up thread properly. - Use udpout syntax.
It turns out we respond with two acks to a MAV_REQUEST_MESSAGE when we should only respond once with the successful one. Alternatively, we could first grab all the results and then do some magic to determine which one is the best ack but that's a bit too magic and complex, so I'm not doing that yet.
Quality Gate passedIssues Measures |
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.
LGTM!
// Let's hope someone else answers and keep silent. In an ideal world we would | ||
// explicitly deny all the ones that we ought to answer but haven't implemented | ||
// yet. | ||
return std::optional<mavlink_command_ack_t>{}; |
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.
Is the issue that multiple components (e.g. autopilot_server or telemetry_server) may process the request, and they can't send MAV_RESULT_DENIED
because they don't know if another component will answer? Or do I misunderstand it?
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.
Exactly!
See commits.
The command fix gets rid of these confusing warnings:
Finally...