QGC分析(一)-整体分析和通信流程

参考QGroundControl开发指南

设计理念

QGC用户界面是用QML实现的。

构建

可以按照这一篇来在Windows中下载源码并且编译。QGroungControl在QT中源码编译(包括配置环境)

通信流程

src/comm/LinkManager.cc

  • LinkManager始终打开UDP端口,等待车辆心跳
  • LinkManager检测到一种新的已知设备类型(Pixhawk,SiK Radio,PX4 Flow),该类型与计算机建立UDP连接。LinkManager在计算机和设备之间创建新的串行连接。

src/comm/MAVLinkProtocol.cc

  • 从Link传入的bytes将发送到MAVLinkProtocol
  • MAVLinkProtocol将字节转换为MAVLINK消息
    在这里插入图片描述
  • 如果_multiVehicleManager收到心跳包,将根据信息创建新的对象
    在这里插入图片描述
    在这里插入图片描述
    src/FactSystem/ParameterManager.cc
  • 车辆对象实例化与车辆匹配的插件。与车辆对象关联的ParameterLoader向连接的设备发送PARAM_REQUEST_LIST,以使用参数协议加载参数。
    在这里插入图片描述
    src/MissionManager/MissionManager.cc
  • 参数加载完成之后,MissionManager联系到车辆对象,使用任务协议从连接的设备请求mission items
    在这里插入图片描述
    src/VehicleSetUp/VehicleComponent.cc
  • 参数加载完成后,VehicleComponent将在“SetUp”视图中显示其 UI
    在这里插入图片描述
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值