模式控制显示模块由ModeIndicator.qml负责
与机载端连接成功后使用_activeVehicle.flightModes调用vehicle.cc中的Vehicle::flightModes()返回_firmwarePlugin的所有模式。


从而实现将飞行模式加载到显示页面。

首先操作员点击模式切换后,会更改在vehicle中定义的flightMode变量


此时vehicle的flightMode变量已经更改,此时由于在vehicle中对flightMode变量使用
Q_PROPERTY对变量更改进行了绑定。

当变量发生变化时会触发WRITE setFlightMode(),将指令打包发送到机载端。

同时触发flightModeChanged(),由于flightModeChaged()与_handleFlightModeChanged()连接,_handleFlightModeChanged()函数也会跟着运行。

当机载端收到指令后会使用command_ack进行返回指令执行结果,当地面站接到反馈后进行解析并播报。


至此就完成了地面站进行模式控制的整个流程。