From 911400924e966010365fd7aef048af6cf0c7ac13 Mon Sep 17 00:00:00 2001 From: Cliff Geerdes Date: Sat, 19 Sep 2015 18:07:01 -0400 Subject: [PATCH] LP-73 convert BoardRotation to int --- .../src/plugins/config/configrevowidget.cpp | 21 +++++++++++++++++++ .../gcs/src/plugins/config/configrevowidget.h | 2 +- shared/uavobjectdefinition/auxmagsettings.xml | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ground/gcs/src/plugins/config/configrevowidget.cpp b/ground/gcs/src/plugins/config/configrevowidget.cpp index 87c1bc29a..efa13e620 100644 --- a/ground/gcs/src/plugins/config/configrevowidget.cpp +++ b/ground/gcs/src/plugins/config/configrevowidget.cpp @@ -245,11 +245,23 @@ void ConfigRevoWidget::storeAndClearBoardRotation() // Store current aux mag board rotation AuxMagSettings *auxMagSettings = AuxMagSettings::GetInstance(getObjectManager()); Q_ASSERT(auxMagSettings); +<<<<<<< HEAD AuxMagSettings::DataFields auxMagData = auxMagSettings->getData(); auxMagStoredBoardRotation = auxMagData.Orientation; // Set aux mag board rotation to no rotation auxMagData.Orientation = 0.0f; +======= + AuxMagSettings::DataFields auxMagData = auxMagSettings->getData(); + auxMagStoredBoardRotation[AuxMagSettings::BOARDROTATION_YAW] = auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_YAW]; + auxMagStoredBoardRotation[AuxMagSettings::BOARDROTATION_ROLL] = auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_ROLL]; + auxMagStoredBoardRotation[AuxMagSettings::BOARDROTATION_PITCH] = auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_PITCH]; + + // Set aux mag board rotation to no rotation + auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_YAW] = 0; + auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_ROLL] = 0; + auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_PITCH] = 0; +>>>>>>> 2c030f1... LP-73 fix V9 calibration bug and convert BoardRotation to int auxMagSettings->setData(auxMagData); } } @@ -269,11 +281,20 @@ void ConfigRevoWidget::recallBoardRotation() data.BoardRotation[AttitudeSettings::BOARDROTATION_PITCH] = storedBoardRotation[AttitudeSettings::BOARDROTATION_PITCH]; attitudeSettings->setData(data); +<<<<<<< HEAD // Restore the aux mag board rotation AuxMagSettings *auxMagSettings = AuxMagSettings::GetInstance(getObjectManager()); Q_ASSERT(auxMagSettings); AuxMagSettings::DataFields auxMagData = auxMagSettings->getData(); auxMagData.Orientation = auxMagStoredBoardRotation; +======= + AuxMagSettings *auxMagSettings = AuxMagSettings::GetInstance(getObjectManager()); + Q_ASSERT(auxMagSettings); + AuxMagSettings::DataFields auxMagData = auxMagSettings->getData(); + auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_YAW] = auxMagStoredBoardRotation[AuxMagSettings::BOARDROTATION_YAW]; + auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_ROLL] = auxMagStoredBoardRotation[AuxMagSettings::BOARDROTATION_ROLL]; + auxMagData.BoardRotation[AuxMagSettings::BOARDROTATION_PITCH] = auxMagStoredBoardRotation[AuxMagSettings::BOARDROTATION_PITCH]; +>>>>>>> 2c030f1... LP-73 fix V9 calibration bug and convert BoardRotation to int auxMagSettings->setData(auxMagData); } } diff --git a/ground/gcs/src/plugins/config/configrevowidget.h b/ground/gcs/src/plugins/config/configrevowidget.h index 175832b4b..fb9a4aafa 100644 --- a/ground/gcs/src/plugins/config/configrevowidget.h +++ b/ground/gcs/src/plugins/config/configrevowidget.h @@ -64,7 +64,7 @@ private: // Board rotation store/recall for FC and for aux mag qint16 storedBoardRotation[3]; - float auxMagStoredBoardRotation; + qint16 auxMagStoredBoardRotation[3]; bool isBoardRotationStored; private slots: diff --git a/shared/uavobjectdefinition/auxmagsettings.xml b/shared/uavobjectdefinition/auxmagsettings.xml index 3ebc0545a..f4a4a882d 100644 --- a/shared/uavobjectdefinition/auxmagsettings.xml +++ b/shared/uavobjectdefinition/auxmagsettings.xml @@ -5,7 +5,7 @@ - +