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.
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.
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)