Skip to content

Conversation

@julianoes
Copy link
Collaborator

@julianoes julianoes commented Dec 28, 2025

This revives my pull request from 2022 (#1815) and adds a pure compatibility mode which can be used to test autopilots against what is specced (or not) by the MAVLink standard.

Along with this come a few config and component cleanup commits.

@julianoes julianoes force-pushed the pr-autopilot-cleanup branch from bb23478 to 855e4cc Compare December 28, 2025 22:59
The value is set by the configuration of the component, so that should
be the same. That being said, we have to rethink configuration and
components of Mavsdk instances at some point.
Add CompatibilityMode enum (Auto, Pure, Px4, ArduPilot) to allow overriding
detected autopilot behavior per MAVSDK instance.

Add Configuration methods:
- get/set_autopilot(): Configure MAV_AUTOPILOT value sent in heartbeats
- get/set_compatibility_mode(): Override detected autopilot behavior

Changes:
- New CompatibilityMode enum for behavior override
- Configurable server autopilot identification in heartbeats
- Sender interface changed from autopilot() to compatibility_mode()
- Added effective_autopilot() to SystemImpl for plugin behavior decisions
This can be overridden if we have compatibility mode set.
This commit adds a few checks and notes around a MAVLink pure mode that
can be used to test autopilots whether they support the MAVLink standard
as it is specced (or not).

The changes are by no means complete or necessarily correct, just an
attempt in that direction.
@julianoes julianoes force-pushed the pr-autopilot-cleanup branch from 5269e5f to c1dce63 Compare January 25, 2026 19:29
@julianoes julianoes marked this pull request as ready for review January 25, 2026 19:34
@julianoes julianoes changed the title Configuration and component cleanup Configuration and component and adding standard/pure mode Jan 25, 2026
@julianoes julianoes changed the title Configuration and component and adding standard/pure mode Add MAVLink pure mode and config/component cleanup Jan 25, 2026
@sonarqubecloud
Copy link

@julianoes julianoes merged commit 2401362 into main Jan 26, 2026
58 checks passed
@julianoes julianoes deleted the pr-autopilot-cleanup branch January 26, 2026 00:15
@julianoes julianoes mentioned this pull request Jan 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants