首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mavlink协议中添加新消息?

如何在mavlink协议中添加新消息?
EN

Stack Overflow用户
提问于 2016-04-18 23:56:02
回答 2查看 1.4K关注 0票数 2

我是Mavlink的新手,我想在Mavlink协议中添加一条新消息,并定期每秒发送它。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2018-02-02 07:44:23

在这里你可以找到关于如何向mavlink协议添加新消息以及如何处理它的detailed steps

  1. 确保您拥有最新的ArduPilot codeMavproxy,以及您要添加的消息类型。
  2. 将新消息定义添加到主车辆代码的mavlink submodule.
  3. Add函数中的common.xmlardupilotmega.xml文件中,以处理命令的发送或接收。

< code >G214

票数 2
EN

Stack Overflow用户

发布于 2016-12-06 15:36:41

这取决于您使用的是哪种自动驾驶。如果使用ardupilot,则需要在ardupilot/modules/mavlink/message_definitions/v1.0/ardupilotmega.xml.中添加新的xml消息定义

您可以查看其他消息,以了解它应该如何格式化。只要确保你选择了一个未使用的id即可。

接下来,您需要决定如何将其放入代码中。您可以将消息id添加到STREAM_EXTRA3中,将其放入data_stream_send任务中。这将像发送其他数据一样频繁地发送您的消息。作为其中的一部分,您需要使用pymavgen生成的函数、消息id和枚举来定义实际打包数据结构的函数。这就是我在我自己的ASH_DATA项目中所做的。您可以查看我对in my repository所做的更改,以供参考。请注意,其中一些更改包括在pixhawk上接收ash数据并将数据添加到日志文件中。

假设您想每秒运行一次,那么您可能想要添加到one_second_loop任务中,或者创建您自己的任务,使用新的消息id调用try_send_message函数。

当然,您需要将新消息合并到您的gcs中,这样您才能实际接收它,但这是另一回事。

希望这能推动其他正在尝试做同样事情的人朝着正确的方向前进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36698870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档