From 1aaf9b9f0e578634ac30dc2717c38f418a9d74da Mon Sep 17 00:00:00 2001 From: Laurent Lalanne Date: Fri, 26 Feb 2016 00:49:23 +0100 Subject: [PATCH] LP-240 Remove delay (diff sliders working) on enter tab - Apply default metadata --- ground/gcs/src/plugins/config/configrevowidget.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/ground/gcs/src/plugins/config/configrevowidget.cpp b/ground/gcs/src/plugins/config/configrevowidget.cpp index c33bf96df..281421466 100644 --- a/ground/gcs/src/plugins/config/configrevowidget.cpp +++ b/ground/gcs/src/plugins/config/configrevowidget.cpp @@ -205,9 +205,10 @@ ConfigRevoWidget::ConfigRevoWidget(QWidget *parent) : addWidgetBinding("AuxMagSettings", "BoardRotation", m_ui->auxMagPitchRotation, AuxMagSettings::BOARDROTATION_PITCH); addWidgetBinding("AuxMagSettings", "BoardRotation", m_ui->auxMagYawRotation, AuxMagSettings::BOARDROTATION_YAW); + connect(m_ui->tabWidget, SIGNAL(currentChanged(int)), this, SLOT(onBoardAuxMagError())); connect(MagSensor::GetInstance(getObjectManager()), SIGNAL(objectUpdated(UAVObject *)), this, SLOT(onBoardAuxMagError())); connect(MagState::GetInstance(getObjectManager()), SIGNAL(objectUpdated(UAVObject *)), this, SLOT(updateMagStatus())); - connect(HomeLocation::GetInstance(getObjectManager()), SIGNAL(objectUpdated(UAVObject *)), this, SLOT(updateMagBeVector())); + connect(HomeLocation::GetInstance(getObjectManager()), SIGNAL(objectUpdated(UAVObject *)), this, SLOT(getMagBeVector())); addWidget(m_ui->internalAuxErrorX); addWidget(m_ui->internalAuxErrorY); @@ -485,20 +486,16 @@ void ConfigRevoWidget::onBoardAuxMagError() Q_ASSERT(auxMagSensor); if (m_ui->tabWidget->currentIndex() != 2) { - // Restore metadata + // Apply default metadata if (displayMagError) { - magSensor->setMetadata(metamag.magSensorMetadata); - auxMagSensor->setMetadata(metamag.auxMagSensorMetadata); + magSensor->setMetadata(magSensor->getDefaultMetadata()); + auxMagSensor->setMetadata(auxMagSensor->getDefaultMetadata()); displayMagError = false; } return; } if (!displayMagError) { - // Store current metadata settings - metamag.magSensorMetadata = magSensor->getMetadata(); - metamag.auxMagSensorMetadata = auxMagSensor->getMetadata(); - // Apply new rates UAVObject::Metadata mdata = magSensor->getMetadata(); UAVObject::SetFlightTelemetryUpdateMode(mdata, UAVObject::UPDATEMODE_PERIODIC); @@ -511,6 +508,7 @@ void ConfigRevoWidget::onBoardAuxMagError() auxMagSensor->setMetadata(mdata); displayMagError = true; + return; } MagSensor::DataFields magData = magSensor->getData();