git clone https://github.com/mavlink/mavlink.git
cd mavlink
git submodule update --init --recursive
python -m mavgenerate
出现以下界面
XML填写自定义xml路径,内容可以参考mavlink/message_definitions/v1.0
Out为输出路径
<?xml version="1.0"?>
<mavlink>
<version>3</version>
<messages>
<message id="12345" name="gggGGG">
<description>hahaha</description>
<field type="char" name="custom_char">char</field>
<field type="int32_t" name="custom_int32">int32_t</field>
<field type="float[100]" name="custom_float_array">float_array</field>
</message>
</messages>
</mavlink>
把custom复制到预编译的文件下就行了,或者自己按照上面的方式全部自己生成
#include <common/mavlink.h>
#include <custom/mavlink_msg_gggggg.h>
#include<iostream>
int main(){
//decode
mavlink_status_t status;
mavlink_message_t msg;
mavlink_gggggg_t g;
mavlink_msg_gggggg_decode(&msg , &g);
//encode按照官网的格式发就行了
}