MAVLink Customisation
QGC communicates with flight stacks using MAVLink, a very lightweight messaging protocol that has been designed for the drone ecosystem.
QGC includes the all.xml dialect by default. The all.xml
includes all other dialects in the mavlink/mavlink repository, and allows it to communicate with both PX4 and Ardupilot. Previous versions of QGC (v4.2.8 and earlier), used the ArduPilotMega.xml
dialect.
In order to add support for a new set of messages you should add them to development.xml, ArduPilotMega.xml, or common.xml (for PX4), or fork QGroundControl and include your own dialect.
To modify the version of MAVLink used by QGC:
- Replace the pre-build C library at /qgroundcontrol/libs/mavlink/include/mavlink.
- By default this is a submodule importing https://github.com/mavlink/c_library_v2
- You can change the submodule, or build your own libraries using the MAVLink toolchain.
- You can change the whole dialect used by setting it in
MAVLINK_CONF
when running qmake.