QGC通信流程
摘要
QGC通信流程
连接建立与Vehicle创建
LinkManager 连接管理
MAVLinkProtocol MAVLink协议封装
所有的连接,通过LinkManager 创建管理,通过 MAVLinkProtocol 解析封装消息,收到心跳交给 MultiVehicleManager 管理;
MultiVehicleManager 根据情况创建 Vehicle 实例, Vehicle 直接监听全局MAVLink对象信号,获取消息,逐级处理
udplink
监听本地端口,读到数据后记录所有目标ip,端口为一个会话,视为建立连接;发送消息时会遍历所有已连接的会话,发送
定时刷新连接(1s):
自动配置的UDP连接
LinkManager::_addUDPAutoConnectLinkAutoConnnect.SettingsGroup.jsonMAVLink转发
LinkManager::_addMAVLinkForwardingLinkApp.SettingsGroup.jsonforwardMavlink默认禁用
启动时加载连接配置:
QGCApplication::_initForNormalAppBoot
toolbox()->linkManager()->loadLinkConfigurationList()