From 97dad5ce71f07a212ebe4d43f8a3dc1909ecc98a Mon Sep 17 00:00:00 2001 From: Fredrik Arvidsson Date: Sat, 1 Nov 2014 11:41:39 +0100 Subject: [PATCH 1/3] OP-1589 Added MixerSettings to export. Made Quad-X and Qyad-H compatible when importing settings. --- .../pages/airframeinitialtuningpage.cpp | 22 +++++++++++++++++-- .../pages/airframeinitialtuningpage.h | 1 + .../vehicletemplateexportdialog.cpp | 2 ++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp index d18c7aa3e..1f7f0bb98 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp +++ b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp @@ -151,6 +151,25 @@ void AirframeInitialTuningPage::templateSelectionChanged() } } +bool AirframeInitialTuningPage::airframeIsCompatible(int vehicleType, int vehicleSubType) +{ + if (vehicleType != getWizard()->getVehicleType()) { + return false; + } + + int wizSubType = getWizard()->getVehicleSubType(); + switch (vehicleType) { + case VehicleConfigurationSource::MULTI_ROTOR_QUAD_H: + case VehicleConfigurationSource::MULTI_ROTOR_QUAD_X: + { + return wizSubType == VehicleConfigurationSource::MULTI_ROTOR_QUAD_H || + wizSubType == VehicleConfigurationSource::MULTI_ROTOR_QUAD_X; + } + default: + return vehicleSubType == wizSubType; + } +} + void AirframeInitialTuningPage::loadValidFiles() { ui->templateList->clear(); @@ -174,8 +193,7 @@ void AirframeInitialTuningPage::loadValidFiles() QJsonDocument templateDoc = QJsonDocument::fromJson(jsonData, &error); if (error.error == QJsonParseError::NoError) { QJsonObject json = templateDoc.object(); - if (json["type"].toInt() == getWizard()->getVehicleType() && - json["subtype"].toInt() == getWizard()->getVehicleSubType()) { + if (airframeIsCompatible(json["type"].toInt(), json["subtype"].toInt())) { QString uuid = json["uuid"].toString(); if (!m_templates.contains(uuid)) { m_templates[json["uuid"].toString()] = new QJsonObject(json); diff --git a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h index d290a8843..2ccd56839 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h +++ b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h @@ -63,6 +63,7 @@ private: QString getTemplateKey(QJsonObject *templ); void updatePhoto(QJsonObject *templ); void updateDescription(QJsonObject *templ); + bool airframeIsCompatible(int vehicleType, int vehicleSubType); }; Q_DECLARE_METATYPE(QJsonObject *) diff --git a/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp b/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp index 72b59a1b2..fdb1f7a62 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp +++ b/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp @@ -41,6 +41,7 @@ #include "stabilizationsettingsbank1.h" #include "stabilizationsettingsbank2.h" #include "stabilizationsettingsbank3.h" +#include "mixersettings.h" #include "ekfconfiguration.h" const char *VehicleTemplateExportDialog::EXPORT_BASE_NAME = "../share/openpilotgcs/cloudconfig"; @@ -181,6 +182,7 @@ void VehicleTemplateExportDialog::accept() objectsToExport << StabilizationSettingsBank1::GetInstance(m_uavoManager); objectsToExport << StabilizationSettingsBank2::GetInstance(m_uavoManager); objectsToExport << StabilizationSettingsBank3::GetInstance(m_uavoManager); + objectsToExport << MixerSettings::GetInstance(m_uavoManager); objectsToExport << EKFConfiguration::GetInstance(m_uavoManager); m_uavoManager->toJson(exportObject, objectsToExport); From 41e311b096cbc117f4523f975f62855bc69e2e72 Mon Sep 17 00:00:00 2001 From: Fredrik Arvidsson Date: Sat, 1 Nov 2014 11:57:48 +0100 Subject: [PATCH 2/3] OP-1589 Fixed file header and added Quad-H to export page. --- .../plugins/setupwizard/pages/airframeinitialtuningpage.cpp | 6 +++--- .../plugins/setupwizard/pages/airframeinitialtuningpage.h | 6 +++--- .../src/plugins/setupwizard/vehicletemplateexportdialog.cpp | 5 +++++ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp index 1f7f0bb98..e5e83efb9 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp +++ b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.cpp @@ -1,11 +1,11 @@ /** ****************************************************************************** * - * @file airframestabfixedwingpage.cpp - * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012. + * @file airframeinitialtuningpage.cpp + * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014. * @addtogroup * @{ - * @addtogroup AirframeStabFixedwingPage + * @addtogroup AirframeInitialTuningPage * @{ * @brief *****************************************************************************/ diff --git a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h index 2ccd56839..258beb9d1 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h +++ b/ground/openpilotgcs/src/plugins/setupwizard/pages/airframeinitialtuningpage.h @@ -1,11 +1,11 @@ /** ****************************************************************************** * - * @file airframestabfixedwingpage.h - * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012. + * @file airframeinitialtuningpage.h + * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014. * @addtogroup * @{ - * @addtogroup AirframeStabFixedwingPage + * @addtogroup AirframeInitialTuningPage * @{ * @brief *****************************************************************************/ diff --git a/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp b/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp index fdb1f7a62..6060a6aa3 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp +++ b/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp @@ -112,6 +112,11 @@ QString VehicleTemplateExportDialog::setupVehicleType() m_subType = VehicleConfigurationSource::MULTI_ROTOR_QUAD_X; return tr("Multirotor - Quadrocopter X"); + case SystemSettings::AIRFRAMETYPE_QUADH: + m_type = VehicleConfigurationSource::VEHICLE_MULTI; + m_subType = VehicleConfigurationSource::MULTI_ROTOR_QUAD_H; + return tr("Multirotor - Quadrocopter H"); + case SystemSettings::AIRFRAMETYPE_QUADP: m_type = VehicleConfigurationSource::VEHICLE_MULTI; m_subType = VehicleConfigurationSource::MULTI_ROTOR_QUAD_PLUS; From 5617fab43c99180c3297261bb18de6451ad6673e Mon Sep 17 00:00:00 2001 From: Fredrik Arvidsson Date: Sat, 1 Nov 2014 12:18:05 +0100 Subject: [PATCH 3/3] OP-1589 Added Hexa-H as type. --- .../src/plugins/setupwizard/vehicletemplateexportdialog.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp b/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp index 6060a6aa3..1451b0388 100644 --- a/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp +++ b/ground/openpilotgcs/src/plugins/setupwizard/vehicletemplateexportdialog.cpp @@ -152,6 +152,11 @@ QString VehicleTemplateExportDialog::setupVehicleType() m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA_X; return tr("Multirotor - Hexacopter X"); + case SystemSettings::AIRFRAMETYPE_HEXAH: + m_type = VehicleConfigurationSource::VEHICLE_MULTI; + m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA_H; + return tr("Multirotor - Hexacopter H"); + case SystemSettings::AIRFRAMETYPE_HEXACOAX: m_type = VehicleConfigurationSource::VEHICLE_MULTI; m_subType = VehicleConfigurationSource::MULTI_ROTOR_HEXA_COAX_Y;