fix(mavlink): Allowing custom modes to request offboard setpoints via the external mode registration#26949
Open
jonas-eschmann wants to merge 6 commits intoPX4:mainfrom
Open
fix(mavlink): Allowing custom modes to request offboard setpoints via the external mode registration#26949jonas-eschmann wants to merge 6 commits intoPX4:mainfrom
jonas-eschmann wants to merge 6 commits intoPX4:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Solved Problem
Fixes #26768
Solution
This PR implements Alternative 1
Changelog Entry
For release notes:
Alternatives
request_offboard_setpointsin the external mode registration. This needs to be reflected in thevehicle_statusbecause that is the main source determining the behavior of themavlink_receiver.cppvehicle_statusmavlink_receiver.cppalways emittrajectory_setpointfor external mode IDstrajectory_setpointitself, they could be conflicting. AFAIK currently onlymc_raptorandmc_nn_controluse the external mode registration from the inside and for external modes it does not matter anyways, so this is not an issueI believe Alternative 1 is the the right approach here. It unambiguously implements the forwarding while neither entangling
mavlink_receiver.cppwith the mode registration (in contrast to GrooveWJH PR) nor adding assumptions about theNAVIGATION_STATE_EXTERNAL{1-8}Context
External modes like
mc_raptorandmc_nn_controlthat use the external mode registration benefit greatly from being able to receive offboard setpoints via MAVLink