QGC communicates with flight stacks using MAVLink, a very lightweight messaging protocol that has been designed for the drone ecosystem. QGC includes the ArduPilotMega.xml dialect by default, which allows it to communicate with both PX4 and Ardupilot (PX4 uses common.xml, which is incuded in ArduPilotMega).
In order to add support for a new set of messages you will ultimately need to add them to
common.xml, or fork QGroundControl and include your own dialect.
To do this:
- Replace the pre-build C library at /qgroundcontrol/libs/mavlink/include/mavlink.
- You can change the whole dialect used by setting it in
MAVLINK_CONFwhen running qmake.