Skip to content
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

Add pure mode #1815

Draft
wants to merge 20 commits into
base: main
Choose a base branch
from
Draft

Add pure mode #1815

wants to merge 20 commits into from

Conversation

julianoes
Copy link
Collaborator

This is work towards a MAVLink standard mode also called pure mode. It adds a setter for a System to implement MAVLink according to the standard without PX4 or ArduPilot specific hacks.

This adds an API to set the compatibility_mode specifically to PX4,
ArduPilot, or Pure. Pure is a new mode that should be based on common
without any non-standard customizations.
In Pure mode we don't require this safety precaution.
The meaning of param4 has changed in the spec, so we have to update it.
PX4 currently requires the takeoff altitude as a parameter instead of
the command param. This hopefully changes in the future.

This commit changes the implementation slightly and also makes sure that
the hack only exists for PX4 but not for ArduPilot or Pure mode.
According to the spec we could switch mode automatically when sending
the DO_REPOSITION command. Therefore, for ArduPilot and Pure mode, we
should actually use this.

For PX4, we need to leave the hack which switches to Hold first, at
least for the time being.
This excludes ORBIT from ArduPilot and Pure mode for now as it is
still marked WIP. We need to decide if that's the right way to go
forward, or if it should still be possible to use it in these
compatibilitylmodes.
This is because ArduPilot would not work, and because it is not specced
for Pure mode.
Signed-off-by: Julian Oes <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant