diff --git a/CMakeLists.txt b/CMakeLists.txt index e3ff71765a2dc96ae93979b342c8ac0bafda146b..87327f2410f0645e1aedb2cfdbf9029225ba863a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -274,6 +274,7 @@ list(APPEND QGC_SRC src/AutoPilotPlugins/APM/APMFlightModesComponent.cc src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc src/AutoPilotPlugins/APM/APMLightsComponent.cc + src/AutoPilotPlugins/APM/APMMotorComponent.cc src/AutoPilotPlugins/APM/APMPowerComponent.cc src/AutoPilotPlugins/APM/APMRadioComponent.cc src/AutoPilotPlugins/APM/APMSafetyComponent.cc diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 8fb300a9356de9711b76aef9feb9c1ca26fde1c6..72d68bfef9d6e0fead03fd6e8d85259bea649dba 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -970,6 +970,7 @@ APMFirmwarePlugin { src/AutoPilotPlugins/APM/APMHeliComponent.h \ src/AutoPilotPlugins/APM/APMLightsComponent.h \ src/AutoPilotPlugins/APM/APMSubFrameComponent.h \ + src/AutoPilotPlugins/APM/APMMotorComponent.h \ src/AutoPilotPlugins/APM/APMPowerComponent.h \ src/AutoPilotPlugins/APM/APMRadioComponent.h \ src/AutoPilotPlugins/APM/APMSafetyComponent.h \ @@ -996,6 +997,7 @@ APMFirmwarePlugin { src/AutoPilotPlugins/APM/APMHeliComponent.cc \ src/AutoPilotPlugins/APM/APMLightsComponent.cc \ src/AutoPilotPlugins/APM/APMSubFrameComponent.cc \ + src/AutoPilotPlugins/APM/APMMotorComponent.cc \ src/AutoPilotPlugins/APM/APMPowerComponent.cc \ src/AutoPilotPlugins/APM/APMRadioComponent.cc \ src/AutoPilotPlugins/APM/APMSafetyComponent.cc \ diff --git a/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc b/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc index 8d26f94ad9e57f69aa7450d9dba74365b7201947..c0f218d9a82122795fc9cf448d92cfb829381c76 100644 --- a/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc +++ b/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc @@ -23,7 +23,7 @@ #include "APMTuningComponent.h" #include "APMSensorsComponent.h" #include "APMPowerComponent.h" -#include "MotorComponent.h" +#include "APMMotorComponent.h" #include "APMCameraComponent.h" #include "APMLightsComponent.h" #include "APMSubFrameComponent.h" @@ -88,7 +88,7 @@ const QVariantList& APMAutoPilotPlugin::vehicleComponents(void) int versionInt = _vehicle->firmwareMajorVersion() * 100 + _vehicle->firmwareMinorVersion() * 10 + _vehicle->firmwarePatchVersion(); if (_vehicle->sub() && versionInt >= 353) { - _motorComponent = new MotorComponent(_vehicle, this); + _motorComponent = new APMMotorComponent(_vehicle, this); _motorComponent->setupTriggerSignals(); _components.append(QVariant::fromValue((VehicleComponent*)_motorComponent)); } diff --git a/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h b/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h index 5d9c03c434ee08255cc8eb4fbeec816c7c34bb88..09bb7c24f2480eafadae16c93fc134ef3a6b007a 100644 --- a/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h +++ b/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h @@ -22,7 +22,7 @@ class APMTuningComponent; class APMSafetyComponent; class APMSensorsComponent; class APMPowerComponent; -class MotorComponent; +class APMMotorComponent; class APMCameraComponent; class APMLightsComponent; class APMSubFrameComponent; @@ -50,7 +50,7 @@ protected: APMSubFrameComponent* _subFrameComponent; APMFlightModesComponent* _flightModesComponent; APMPowerComponent* _powerComponent; - MotorComponent* _motorComponent; + APMMotorComponent* _motorComponent; APMRadioComponent* _radioComponent; APMSafetyComponent* _safetyComponent; APMSensorsComponent* _sensorsComponent; diff --git a/src/AutoPilotPlugins/APM/APMMotorComponent.cc b/src/AutoPilotPlugins/APM/APMMotorComponent.cc new file mode 100644 index 0000000000000000000000000000000000000000..ce54a16467757a6da0bd54a09baec31a7b9fb030 --- /dev/null +++ b/src/AutoPilotPlugins/APM/APMMotorComponent.cc @@ -0,0 +1,27 @@ +/**************************************************************************** + * + * (c) 2009-2016 QGROUNDCONTROL PROJECT + * + * QGroundControl is licensed according to the terms in the file + * COPYING.md in the root of the source code directory. + * + ****************************************************************************/ + +#include "APMMotorComponent.h" + +APMMotorComponent::APMMotorComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent) : + MotorComponent(vehicle, autopilot, parent), + _name(tr("Motors")) +{ + +} + +QUrl APMMotorComponent::setupSource(void) const +{ + switch (_vehicle->vehicleType()) { + case MAV_TYPE_SUBMARINE: + return QUrl::fromUserInput(QStringLiteral("qrc:/qml/APMSubMotorComponent.qml")); + default: + return QUrl::fromUserInput(QStringLiteral("qrc:/qml/MotorComponent.qml")); + } +} diff --git a/src/AutoPilotPlugins/APM/APMMotorComponent.h b/src/AutoPilotPlugins/APM/APMMotorComponent.h new file mode 100644 index 0000000000000000000000000000000000000000..20e4c49191765c96fe24408e9906eab8062843a0 --- /dev/null +++ b/src/AutoPilotPlugins/APM/APMMotorComponent.h @@ -0,0 +1,29 @@ +/**************************************************************************** + * + * (c) 2009-2018 QGROUNDCONTROL PROJECT + * + * QGroundControl is licensed according to the terms in the file + * COPYING.md in the root of the source code directory. + * + ****************************************************************************/ + + +#ifndef APMMotorComponent_H +#define APMMotorComponent_H + +#include "MotorComponent.h" + +class APMMotorComponent : public MotorComponent +{ + Q_OBJECT + +public: + APMMotorComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL); + + QUrl setupSource(void) const final; + +private: + const QString _name; +}; + +#endif