px4 mavlink消息自定义及其发送

在px4源码中自定义消息,并发送主要有以下三个大步骤:

一、自定义mavlink消息

        1.在myMessage.XML文件中自定义消息(注意消息ID不要与原有的重复)。具体消息ID可参考这里。

         px4 mavlink消息自定义及其发送_第1张图片

        2. 选择上一步写好的xml文件,使用mavlink_generator生成mavlink_msg_my_message.h文件(XML栏是XML文件存放的路径,out是生成的mavlink_msg_my_message.h文件的路径)。mavlink_generator的安装及使用请参照这里。

                 px4 mavlink消息自定义及其发送_第2张图片

 二、将消息包含进工程中。

          1.在generator中的out自定义的路径下找到mavlink_msg_my_message.h文件,并将其放到mavklink/include/mavlink/v2.0/common文件夹中

                 px4 mavlink消息自定义及其发送_第3张图片

              2.在px4源码的mavklink/include/mavlink/v2.0/common/common.h文件中加入mavlink_msg_my_message.h文件。

            px4 mavlink消息自定义及其发送_第4张图片

三、配置和使用该消息

          1.在src/modules/mavlink/mavlink_messages.cpp文件中添加相应的类(继承MavlinkStream类)

         px4 mavlink消息自定义及其发送_第5张图片

        2.在static const StreamListItem stream_list[]中将该类实例化。

px4 mavlink消息自定义及其发送_第6张图片

          3.在mavlink_main.cpp中配置发送频率即可。

    px4 mavlink消息自定义及其发送_第7张图片

完成以上步骤保存修改,即可将代码烧录进px4飞控板,并将飞控板连接到电脑上,通过串口查看是否成功发送消息。

注:mavlink协议发送了很多消息,可以在static const StreamListItem list[]中将不需要观察的消息注释掉,只看自己刚才加入的。

你可能感兴趣的:(工作日志)