您现在的位置是:首页>QGroundControl地面站
QG地面站
paopaola2025-3-31QGroundControl地面站4636
插件体系结构尽管MAVLink规范定义了与车辆通信的标准通信协议。该规范的许多方面都需要固件开发人员进行解释。因此,在许多情况下,为了完成相同的任务,与运行一个固件的车辆的通信稍微不同于与运行不同固件的车辆的通信。此外,每个固件可以实现MAVLink命令集的不同子集。
另一个主要问题是MAVLink规范不涵盖车辆配置或通用参数集。因此,与车辆设置相关的所有代码最终都是特定于固件的。此外,必须引用特定参数的任何代码也是固件特定的。
鉴于固件实现之间的所有这些差异,创建一个可以支持每个地面站的单个地面站应用程序可能非常棘手,而不会使代码库降级为大量的if/then/else语句根据车辆使用的固件,到处都是胡椒粉。
QGC使用插件架构将固件特定代码与所有固件通用的代码隔离。有两个主要的插件来完成这个FirmwarePlugin和AutoPilotPlugin。
此插件架构也用于自定义构建,以允许进一步的自定义超出标准QGC可以提供的范围。
FirmwarePlugin这用于为Mavlink的通常未标准化的部分创建标准接口。
AutoPilotPlugin这用于提供用于车辆设置的用户界面。
QGCCorePlugin这用于通过标准接口暴露与车辆无关的QGC应用本身的特征。然后由自定义构建使用它来调整QGC功能集以满足其需求。