QG地面站
类层次结构 (高级别)LinkManager, LinkInterfaceQGC中的 "链路" 是与车辆的特定类型的通信管道,例如通过WiFi的串行端口或UDP。所有链接的基类都是LinkInterface。每个链接在它自己的线程上运行,并将字节发送到MAVLinkProtocol。
的LinkManager对象跟踪系统中所有打开的链接。LinkManager还通过串行和UDP链路管理自动连接。
MAVLinkProtocol有一个单一的MAVLinkProtocol系统中的对象。它的工作是从链接中获取传入的字节并将其转换为MAVLink消息。MAVLink心跳消息被路由到MultiVehicleManager。所有MAVLink消息都被路由到与该链路相关联的车辆。
MultiVehicleManager有一个单一的MultiVehicleManager系统内的对象。当它在以前未见过的链路上接收到心跳时,它创建车辆对象。MultiVehicleManager还跟踪系统中的所有车辆,并处理从一个活动车辆切换到另一个活动车辆以及正确处理正在移除的车辆。
车辆车辆对象是QGC码通过其与物理车辆通信的主要接口。
注意: 还有一个与每个车辆相关联的UAS对象,它是一个已弃用的类,并且随着所有功能转移到车辆类而逐渐被淘汰。此处不应添加新代码。
FirmwarePlugin, FirmwarePluginManagerFirmwarePlugin类是固件插件的基类。固件插件包含固件特定代码,使得车辆对象相对于其支持到UI的单个标准接口而言是干净的。
FirmwarePluginManager是一个工厂类,它基于车辆的MAV_AUTOPILOT/MAV_TYPE组合创建FirmwarePlugin实例。