qgc 解析apm飞控新定义的mavlink消息(ubuntu)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了qgc 解析apm飞控新定义的mavlink消息(ubuntu),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1236字,纯文字阅读大概需要2分钟。
内容图文
1. 飞控中添加一条自定义mavlink包
加一个遥控和mavlink摇杆切换状态显示,也就是远程操控时候下面两货的切换:
在VSCode中打开ArduCopter代码,打开子模块,如下编译器截图中操作即可:
由于223在ardupilotmega.xml中没用到,故用了:
</message>
<message id="223" name="MAVLINK_REMOTE_OK">
<description>mavlink remote contro1.</description>
<field name="Mavlink_remote" type="uint8_t">valid length of buf</field>
</message>
用uint8_t ff=2; mavlink_msg_mavlink_remote_ok_send(chan,ff);
发送消息。
再在
然后编译代码:
sudo sim_vehicle.py -v ArduCopter -f quad --console --map -D
编译代码:
开头用的软件在环仿真,调式了很久,用qgc的qDebug发现根本没发出来。
在qt5中搜索 mavlinkpro ,得到MAVLinkProtocol.cc,如下图:
在mavlink接收端加入 qDebug()<< b.toHex();
就能打印出所有qgc接收到的mavlink消息包,如图:
用软件在环仿真,居然没有发出自定义的mavlink消息包。然后拿出cubeblack ,就能发消息了,qgc也能接收。
debug如下:
2. qgc 加入解析mavlink
把生成的mavlink头文件,如下图:
加入如下文件夹中:
然后把,如下图中的 ardupilotmega.h中打开:
由于msgid是223,crc 是67, len 1, len_min 1, 如下填写那个校验,就可以在代码里加入解析了。
在如下文件中加入解析:
然后debug:
在void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t message)
中添加解算case:
debug结果:
完成
内容总结
以上是互联网集市为您收集整理的qgc 解析apm飞控新定义的mavlink消息(ubuntu)全部内容,希望文章能够帮你解决qgc 解析apm飞控新定义的mavlink消息(ubuntu)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。