
QGroundControl二次开发
文章平均质量分 60
整理一些QGC软件开发的思路
hellocode_7812
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
QGC二次开发---框选多机执行解锁任务2
上一篇中,已经展示了实现以后的效果动图以及实现思路。此篇着重开始编写前端QML界面代码,包括获取鼠标按压/释放点的坐标、绘制矩形线框的代码。阻拦地图插件的鼠标事件在FlightDisplayView.qml中,直接在Map视图添加鼠标事件,将会拖动地图,所以需要在地图窗口添加一个遮罩层(Rectangle)然后添加鼠标事件最后添加一个Canvas画布,在鼠标位置改变时绘制,代码如下://定义变量//记录按压、释放时的坐标property var pressedPonit;pro原创 2022-05-30 17:26:57 · 614 阅读 · 6 评论 -
QGC二次开发---框选多机执行解锁任务1
在多架无人机同时在一台地面站上操作时,我们通常希望能够通过鼠标框选其中部分无人机,对选中的无人机执行相同的操作,例如解锁指令,如上图所示效果。此篇文章先对实现思路进行讲解,具体的实现代码机过程,在后续文章中。实现思路1、获取鼠标框选时按压和释放的鼠标坐标值,通过Qt Map组件的函数toCoordinate(),转换为地图上的经纬度值。2、在MultiVehicleManager类中增填函数,用于判断所有连接的无人机的经纬度是否在鼠标框选的经纬度内,将在框选内的无人机ID号存入一个...原创 2022-05-05 17:16:34 · 1452 阅读 · 9 评论 -
QGC最多只能连15架载具Bug解决
最近地面站遇到一个多机连接的Bug,当载具连接超出15架后,地面站就无法创建连接,且无法断开连接。通过QGroundControl DeBUG版测试后发现,提示出错是:Ran out of mavlink channels。于是开始分析代码!首先是连接函数触发的前端代码:LinkSettings.qmlQGCButton { text: qsTr("Connect") enabled: _currentSelection &原创 2021-10-15 09:25:29 · 744 阅读 · 0 评论 -
QGC二次开发---多机一键切换飞行模式
1、实现思路首先在通过前端页面的按钮或其他控件出发后端函数 其次后端函数应该获取已连接所有载具对象 再调用载具对象类对飞行模式设置的函数 返回切换结果(根据情况添加) 2、多机控制2.1 QGC源码多机管理在源码中有MultiVehicleManager这个类,负责管理多架载具的对象,其中声明了私有属性_vehicles来存放多架载具的类对象。可以通过循环的方式获取载具对象,进行相应的控制。2.2 QGC载具控制在源码中Vehicle类管理了一架载具的所有数据、以.原创 2021-08-16 17:41:56 · 2145 阅读 · 4 评论 -
QGC二次开发---自定义MAVLink消息
MAVLink库下载下载网站https://github.com/mavlink/mavlink可以通过git工具,在存放文件夹下打开git工具,输入命令:git clone https://github.com/mavlink/mavlinkpython环境安装下载网址:https://www.python.org/downloads/release/python-374/然后根据图片提升操作即可自定义消息的修改查找QGC源码下的MAVLink common.xm.原创 2021-08-16 16:04:38 · 1816 阅读 · 0 评论