EKF: Match handling of MAV_CMD_EXTERNAL_POSITION_ESTIMATE to common MAVLink dialect #26387
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.
This is a minor follow up to #23903. The feature works great, thanks a lot! I ran into some minor surprises when implementing support for it in our GCS. I initially wrote the code based on the MAVLink docs for MAV_CMD_EXTERNAL_POSITION_ESTIMATE, and found that frame and accuracy weren't handled as I expected.
Accuracy is explicitly advised to be set to NaN if unknown:
But I found that it was stopping the whole autopilot when I tried that in SITL (
Connection reset or closed by peer on TCP socket
)I assume that MAV_FRAME sent in COMMAND_INT should behave the same way for MAV_FRAME_GLOBAL and MAV_FRAME_GLOBAL_INT (a search of the repo shows them together), but only the first one was accepted in the check.
(Contribution on behalf of @FlyfocusUAV)