1, SetupView.qml 加载固件、摘要和AutoPilotPlugin 类
2, PX4AutoPilotPlugin:publicAutoPilotPlugin 。 具体的PX4插件继承AutoPilotPlugin类,实例PX4对应组件
PX4AirframeLoader* _airframeFacts;
AirframeComponent* _airframeComponent;
PX4RadioComponent* _radioComponent;
ESP8266Component* _esp8266Component;
FlightModesComponent* _flightModesComponent;
SensorsComponent* _sensorsComponent;
SafetyComponent* _safetyComponent;
CameraComponent* _cameraComponent;
PowerComponent* _powerComponent;
MotorComponent* _motorComponent;
PX4TuningComponent* _tuningComponent;
SyslinkComponent* _syslinkComponent;
3,PowerComponent.h, 左侧电源管理组件类,负责按钮的图标和加载qml文件(其它组件 与这个类似,分别对应了四个文件)
4,PowerComponentSummary.qml 预览时的展示UI,读取相应参数值
propertyFactbatVChargedFact: controller.getParameterFact(-1,"BAT_V_CHARGED")
propertyFactbatVEmptyFact: controller.getParameterFact(-1,"BAT_V_EMPTY")
propertyFactbatCellsFact: controller.getParameterFact(-1,"BAT_N_CELLS")
Column{
anchors.fill: parent
VehicleSummaryRow{
labelText:qsTr("BatteryFull:")
valueText:batVChargedFact?batVChargedFact.valueString+""+batVChargedFact.units:""
}
VehicleSummaryRow{
labelText:qsTr("BatteryEmpty:")
valueText:batVEmptyFact?batVEmptyFact.valueString+""+batVEmptyFact.units:""
}
VehicleSummaryRow{
labelText:qsTr("NumberofCells:")
valueText:batCellsFact?batCellsFact.valueString:""
}
}
5,PowerCommponent.qml 点击左侧Power按钮时 展示的UI。电池相关的具体指令和参数。
6,PowerComponentController.h,具体的控制类,处理PowerComponent.qml 中的具体动作。