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 @@ - +