diff --git a/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc b/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc index bf92452a53684c043e9f780c819976fab3d78647..0e2de3f5618c92165541c622e9a4b383013b89b5 100644 --- a/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc +++ b/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc @@ -34,7 +34,7 @@ GenericAutoPilotPlugin::GenericAutoPilotPlugin(UASInterface* uas, QObject* paren _parameterFacts = new GenericParameterFacts(uas, this); Q_CHECK_PTR(_parameterFacts); - connect(_parameterFacts, &GenericParameterFacts::factsReady, this, &GenericAutoPilotPlugin::_factsReady); + connect(_parameterFacts, &GenericParameterFacts::parametersReady, this, &GenericAutoPilotPlugin::_parametersReady); } QList GenericAutoPilotPlugin::getModes(void) @@ -87,24 +87,14 @@ void GenericAutoPilotPlugin::clearStaticData(void) // No Static data yet } -const QVariantList& GenericAutoPilotPlugin::components(void) +const QVariantList& GenericAutoPilotPlugin::vehicleComponents(void) { static QVariantList emptyList; return emptyList; } -const QVariantMap& GenericAutoPilotPlugin::parameters(void) -{ - return _parameterFacts->factMap(); -} - -QUrl GenericAutoPilotPlugin::setupBackgroundImage(void) -{ - return QUrl::fromUserInput("qrc:/qml/px4fmu_2.x.png"); -} - -void GenericAutoPilotPlugin::_factsReady(void) +void GenericAutoPilotPlugin::_parametersReady(void) { _pluginReady = true; emit pluginReadyChanged(_pluginReady); diff --git a/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h b/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h index f4eb8a71bd1aac454f9b48c7a583948df01bbf34..3840b04387cffd5455e8f0cbb69682abdd92ff27 100644 --- a/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h +++ b/src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h @@ -41,16 +41,15 @@ public: GenericAutoPilotPlugin(UASInterface* uas, QObject* parent = NULL); // Overrides from AutoPilotPlugin - virtual QUrl setupBackgroundImage(void); - virtual const QVariantList& components(void); - virtual const QVariantMap& parameters(void); + virtual const QVariantList& vehicleComponents(void); + virtual ParameterLoader* getParameterLoader(void) { return _parameterFacts; } static QList getModes(void); static QString getShortModeText(uint8_t baseMode, uint32_t customMode); static void clearStaticData(void); private slots: - void _factsReady(void); + void _parametersReady(void); private: GenericParameterFacts* _parameterFacts; diff --git a/src/AutoPilotPlugins/Generic/GenericParameterFacts.cc b/src/AutoPilotPlugins/Generic/GenericParameterFacts.cc index c37d05dc5fec7d71b7511e5f16188d9a32c77268..d33b143f81fa47db1691e431c5ec85803a487acd 100644 --- a/src/AutoPilotPlugins/Generic/GenericParameterFacts.cc +++ b/src/AutoPilotPlugins/Generic/GenericParameterFacts.cc @@ -25,13 +25,11 @@ /// @author Don Gagne #include "GenericParameterFacts.h" -#include "QGCApplication.h" -#include #include GenericParameterFacts::GenericParameterFacts(UASInterface* uas, QObject* parent) : - FactLoader(uas, parent) + ParameterLoader(uas, parent) { Q_ASSERT(uas); } diff --git a/src/AutoPilotPlugins/Generic/GenericParameterFacts.h b/src/AutoPilotPlugins/Generic/GenericParameterFacts.h index ae363b432494de6efc8492949cacd7485173fc87..5a964eeae7f634dc6d70bd394c7ae9cdbb72c5c9 100644 --- a/src/AutoPilotPlugins/Generic/GenericParameterFacts.h +++ b/src/AutoPilotPlugins/Generic/GenericParameterFacts.h @@ -25,11 +25,8 @@ #define GenericParameterFacts_h #include -#include -#include -#include -#include "FactSystem.h" +#include "ParameterLoader.h" #include "UASInterface.h" /// @file @@ -37,13 +34,16 @@ /// Collection of Parameter Facts for Generic AutoPilot -class GenericParameterFacts : public FactLoader +class GenericParameterFacts : public ParameterLoader { Q_OBJECT public: /// @param uas Uas which this set of facts is associated with GenericParameterFacts(UASInterface* uas, QObject* parent = NULL); + + /// Override from ParameterLoader + virtual QString getDefaultComponentIdParam(void) const { return QString(); } }; #endif \ No newline at end of file diff --git a/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc b/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc index 3ea406a24d8b699d6aa6c5d2a66d76c6de092120..3aca2983231a316a84ff2a80bd0b496e4bf8331d 100644 --- a/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc +++ b/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc @@ -80,7 +80,7 @@ PX4AutoPilotPlugin::PX4AutoPilotPlugin(UASInterface* uas, QObject* parent) : _parameterFacts = new PX4ParameterFacts(uas, this); Q_CHECK_PTR(_parameterFacts); - connect(_parameterFacts, &PX4ParameterFacts::factsReady, this, &PX4AutoPilotPlugin::_pluginReadyPreChecks); + connect(_parameterFacts, &PX4ParameterFacts::parametersReady, this, &PX4AutoPilotPlugin::_pluginReadyPreChecks); PX4ParameterFacts::loadParameterFactMetaData(); } @@ -189,7 +189,7 @@ void PX4AutoPilotPlugin::clearStaticData(void) PX4ParameterFacts::clearStaticData(); } -const QVariantList& PX4AutoPilotPlugin::components(void) +const QVariantList& PX4AutoPilotPlugin::vehicleComponents(void) { if (_components.count() == 0 && !_incorrectParameterVersion) { Q_ASSERT(_uas); @@ -222,29 +222,19 @@ const QVariantList& PX4AutoPilotPlugin::components(void) return _components; } -const QVariantMap& PX4AutoPilotPlugin::parameters(void) -{ - return _parameterFacts->factMap(); -} - -QUrl PX4AutoPilotPlugin::setupBackgroundImage(void) -{ - return QUrl::fromUserInput("qrc:/qml/px4fmu_2.x.png"); -} - /// This will perform various checks prior to signalling that the plug in ready void PX4AutoPilotPlugin::_pluginReadyPreChecks(void) { // Check for older parameter version set // FIXME: Firmware is moving to version stamp parameter set. Once that is complete the version stamp // should be used instead. - if (parameters().contains("SENS_GYRO_XOFF")) { + if (parameterExists("SENS_GYRO_XOFF")) { _incorrectParameterVersion = true; QGCMessageBox::warning(tr("Setup"), tr("This version of GroundControl can only perform vehicle setup on a newer version of firmware. " "Please perform a Firmware Upgrade if you wish to use Vehicle Setup.")); } else { // Check for missing setup complete - foreach(const QVariant componentVariant, components()) { + foreach(const QVariant componentVariant, vehicleComponents()) { VehicleComponent* component = qobject_cast(qvariant_cast(componentVariant)); Q_ASSERT(component); diff --git a/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h b/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h index ad7aead1a919c2e1ac96c4a1ed8184478c283e0e..9db1554ca432af11f03d22f2803aa638aabfa771 100644 --- a/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h +++ b/src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h @@ -50,21 +50,20 @@ public: ~PX4AutoPilotPlugin(); // Overrides from AutoPilotPlugin - virtual const QVariantList& components(void); - virtual const QVariantMap& parameters(void); - virtual QUrl setupBackgroundImage(void); + virtual const QVariantList& vehicleComponents(void); + virtual ParameterLoader* getParameterLoader(void) { return _parameterFacts; } static QList getModes(void); static QString getShortModeText(uint8_t baseMode, uint32_t customMode); static void clearStaticData(void); // These methods should only be used by objects within the plugin - AirframeComponent* airframeComponent(void) { return _airframeComponent; } - RadioComponent* radioComponent(void) { return _radioComponent; } - FlightModesComponent* flightModesComponent(void) { return _flightModesComponent; } - SensorsComponent* sensorsComponent(void) { return _sensorsComponent; } - SafetyComponent* safetyComponent(void) { return _safetyComponent; } - PowerComponent* powerComponent(void) { return _powerComponent; } + AirframeComponent* airframeComponent(void) { return _airframeComponent; } + RadioComponent* radioComponent(void) { return _radioComponent; } + FlightModesComponent* flightModesComponent(void) { return _flightModesComponent; } + SensorsComponent* sensorsComponent(void) { return _sensorsComponent; } + SafetyComponent* safetyComponent(void) { return _safetyComponent; } + PowerComponent* powerComponent(void) { return _powerComponent; } private slots: void _pluginReadyPreChecks(void); diff --git a/src/AutoPilotPlugins/PX4/PX4ParameterFacts.cc b/src/AutoPilotPlugins/PX4/PX4ParameterFacts.cc index 5a055114869b55bcac6b09e105f73956affea028..1d1272930e3f29baef05f00ba88b51b5723daad6 100644 --- a/src/AutoPilotPlugins/PX4/PX4ParameterFacts.cc +++ b/src/AutoPilotPlugins/PX4/PX4ParameterFacts.cc @@ -37,7 +37,7 @@ bool PX4ParameterFacts::_parameterMetaDataLoaded = false; QMap PX4ParameterFacts::_mapParameterName2FactMetaData; PX4ParameterFacts::PX4ParameterFacts(UASInterface* uas, QObject* parent) : - FactLoader(uas, parent) + ParameterLoader(uas, parent) { Q_ASSERT(uas); } @@ -273,6 +273,6 @@ void PX4ParameterFacts::_addMetaDataToFact(Fact* fact) fact->setMetaData(_mapParameterName2FactMetaData[fact->name()]); } else { // Use generic meta data - FactLoader::_addMetaDataToFact(fact); + ParameterLoader::_addMetaDataToFact(fact); } } diff --git a/src/AutoPilotPlugins/PX4/PX4ParameterFacts.h b/src/AutoPilotPlugins/PX4/PX4ParameterFacts.h index e39ba6eac9c8ba72a7a4dc9165e9c3a877b46ccb..3b733777620aa717ab23433aea788c3407db20c9 100644 --- a/src/AutoPilotPlugins/PX4/PX4ParameterFacts.h +++ b/src/AutoPilotPlugins/PX4/PX4ParameterFacts.h @@ -21,14 +21,15 @@ ======================================================================*/ -#ifndef PX4ParameterFacts_h -#define PX4ParameterFacts_h +#ifndef PX4PARAMETERFACTS_H +#define PX4PARAMETERFACTS_H #include #include #include #include +#include "ParameterLoader.h" #include "FactSystem.h" #include "UASInterface.h" @@ -39,13 +40,16 @@ Q_DECLARE_LOGGING_CATEGORY(PX4ParameterFactsMetaDataLog) /// Collection of Parameter Facts for PX4 AutoPilot -class PX4ParameterFacts : public FactLoader +class PX4ParameterFacts : public ParameterLoader { Q_OBJECT public: /// @param uas Uas which this set of facts is associated with PX4ParameterFacts(UASInterface* uas, QObject* parent = NULL); + + /// Override from ParameterLoader + virtual QString getDefaultComponentIdParam(void) const { return QString("SYS_AUTOSTART"); } static void loadParameterFactMetaData(void); static void deleteParameterFactMetaData(void);