MAVLink supports defining custom message types in a project-specific dialect XML file. Useful when you need to send data that doesn’t fit any standard message (e.g., a project-specific telemetry payload from a custom sensor).
Current status: we don’t have custom MAVLink messages today — all our control flows go through standard messages (SET_POSITION_TARGET_LOCAL_NED, COMMAND_LONG for arm/takeoff, RANGEFINDER for ToF, etc). Custom messages become interesting when adding payload-specific telemetry not covered by the standard set.
How to add
- Create a project XML dialect with
<message id="..."definitions. - Run
mavgento produce headers in C++ / Python. - Rebuild MAVROS with the custom dialect.
Where to go next
- MAVLink hub
- MAVROS theory — how MAVLink flows to ROS 2