diff --git a/ground/gcs/src/plugins/config/configrevohwwidget.cpp b/ground/gcs/src/plugins/config/configrevohwwidget.cpp index 3b72dddcd..e5e3bc151 100644 --- a/ground/gcs/src/plugins/config/configrevohwwidget.cpp +++ b/ground/gcs/src/plugins/config/configrevohwwidget.cpp @@ -29,8 +29,6 @@ #include "ui_configrevohwwidget.h" -#include - #include "hwsettings.h" #include @@ -102,21 +100,17 @@ void ConfigRevoHWWidget::refreshWidgetsValuesImpl(UAVObject *obj) void ConfigRevoHWWidget::updateObjectsFromWidgetsImpl() { - HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager()); - HwSettings::DataFields data = hwSettings->getData(); - // If any port is configured to be GPS port, enable GPS module if it is not enabled. // Otherwise disable GPS module. + quint8 enableModule = HwSettings::OPTIONALMODULES_DISABLED; + if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS) || isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) { - data.OptionalModules[HwSettings::OPTIONALMODULES_GPS] = HwSettings::OPTIONALMODULES_ENABLED; - } else { - data.OptionalModules[HwSettings::OPTIONALMODULES_GPS] = HwSettings::OPTIONALMODULES_DISABLED; + enableModule = HwSettings::OPTIONALMODULES_ENABLED; } - UAVObjectUpdaterHelper updateHelper; - hwSettings->setData(data, false); - updateHelper.doObjectAndWait(hwSettings); + HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager()); + hwSettings->setOptionalModules(HwSettings::OPTIONALMODULES_GPS, enableModule); } void ConfigRevoHWWidget::usbVCPPortChanged(int index) diff --git a/ground/gcs/src/plugins/config/configrevonanohwwidget.cpp b/ground/gcs/src/plugins/config/configrevonanohwwidget.cpp index c406aae0c..2d5ed119e 100644 --- a/ground/gcs/src/plugins/config/configrevonanohwwidget.cpp +++ b/ground/gcs/src/plugins/config/configrevonanohwwidget.cpp @@ -29,8 +29,6 @@ #include "ui_configrevonanohwwidget.h" -#include - #include "hwsettings.h" #include @@ -94,21 +92,17 @@ void ConfigRevoNanoHWWidget::refreshWidgetsValuesImpl(UAVObject *obj) void ConfigRevoNanoHWWidget::updateObjectsFromWidgetsImpl() { - HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager()); - HwSettings::DataFields data = hwSettings->getData(); - // If any port is configured to be GPS port, enable GPS module if it is not enabled. // Otherwise disable GPS module. + quint8 enableModule = HwSettings::OPTIONALMODULES_DISABLED; + if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::RM_FLEXIPORT_GPS) || isComboboxOptionSelected(m_ui->cbMain, HwSettings::RM_MAINPORT_GPS)) { - data.OptionalModules[HwSettings::OPTIONALMODULES_GPS] = HwSettings::OPTIONALMODULES_ENABLED; - } else { - data.OptionalModules[HwSettings::OPTIONALMODULES_GPS] = HwSettings::OPTIONALMODULES_DISABLED; + enableModule = HwSettings::OPTIONALMODULES_ENABLED; } - UAVObjectUpdaterHelper updateHelper; - hwSettings->setData(data, false); - updateHelper.doObjectAndWait(hwSettings); + HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager()); + hwSettings->setOptionalModules(HwSettings::OPTIONALMODULES_GPS, enableModule); } void ConfigRevoNanoHWWidget::usbVCPPortChanged(int index) diff --git a/ground/gcs/src/plugins/config/configsparky2hwwidget.cpp b/ground/gcs/src/plugins/config/configsparky2hwwidget.cpp index 1f6d51a63..178d9d504 100644 --- a/ground/gcs/src/plugins/config/configsparky2hwwidget.cpp +++ b/ground/gcs/src/plugins/config/configsparky2hwwidget.cpp @@ -29,8 +29,6 @@ #include "ui_configsparky2hwwidget.h" -#include - #include "hwsettings.h" #include @@ -97,21 +95,17 @@ void ConfigSparky2HWWidget::refreshWidgetsValuesImpl(UAVObject *obj) void ConfigSparky2HWWidget::updateObjectsFromWidgetsImpl() { - HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager()); - HwSettings::DataFields data = hwSettings->getData(); - // If any port is configured to be GPS port, enable GPS module if it is not enabled. // Otherwise disable GPS module. + quint8 enableModule = HwSettings::OPTIONALMODULES_DISABLED; + if (isComboboxOptionSelected(m_ui->cbFlexi, HwSettings::SPK2_FLEXIPORT_GPS) || isComboboxOptionSelected(m_ui->cbMain, HwSettings::SPK2_MAINPORT_GPS)) { - data.OptionalModules[HwSettings::OPTIONALMODULES_GPS] = HwSettings::OPTIONALMODULES_ENABLED; - } else { - data.OptionalModules[HwSettings::OPTIONALMODULES_GPS] = HwSettings::OPTIONALMODULES_DISABLED; + enableModule = HwSettings::OPTIONALMODULES_ENABLED; } - UAVObjectUpdaterHelper updateHelper; - hwSettings->setData(data, false); - updateHelper.doObjectAndWait(hwSettings); + HwSettings *hwSettings = HwSettings::GetInstance(getObjectManager()); + hwSettings->setOptionalModules(HwSettings::OPTIONALMODULES_GPS, enableModule); } void ConfigSparky2HWWidget::usbVCPPortChanged(int index)