Hello everybody,

I want to use the Mavlink protocol to exert high-level, automated control on the Ardupilot-guided airplane, running the Arduplane firmware.

Does the Arduplane firmware support all the Mavlink packets, as documented here?

More specifically,  I am interested in defining in an automated way new waypoints but also perform more strict control by controlling Euler angles and airspeed. I know that the first can be done, since this is basically what the Mission Planner uses to define waypoints on the fly, but can the Arduplane accept packets such as the SET_ROLL_PITCH_YAW_THRUST ( #56 )?

Is there such documentation somewhere? I found this page which mentions the existence of documentation for version 2.0 but I can't seem to find it.


Views: 571

Reply to This

Replies to This Discussion

To see what ArduPlane can handle from MP, see the firmware code here as a starting point. I don't think anybody can give a definitive list, and the current docs could be improved in this area for sure.

The only fall back is "use the the source, Luke" ;-)

So, I did a little digging. Will that link always hold the freshest stable release of ArduPlane?

From what I understand, the supported MAVLINK messages are:


The ones I am most interested in are the COMMAND_LONG (76) and MISSION_ITEM (39), since they can use the MAV_CMD enumaration types. Between those two messages, these enumerations are supported:


Amongst them, and in relation to my first post, exist CONDITION_CHANGE_ALT (113) and DO_CHANGE_SPEED (178) but not CONDITION_YAW (115).

I hope that all of the MAVLINK MAV_CMD commands will be supported in the future.

That link is the 'bleeding edge' i.e. master, for a stable release checkout the tag related i.e. see https://github.com/diydrones/ardupilot/blob/ArduPlane-2.74b/ArduPla... for 2.74b

As for all being supported in future, only subset will be supported. Extra MAVLink features are usually driven by demand of somebody requiring it, and implemeneting it themselves.

I see. Thank you for your help.

Under the scope of my goal, I need a way to define the desired heading of the plane in each loop iteration, instead of a waypoint. It seems wasteful to delete and re-create a waypoint far away, towards the desired heading in order to accomplish this. Is there another way to do it?

(if this requires a new thread to be discussed, mods, please move it)

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service