mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-27 16:54:15 +01:00
OP-1150 UI for thermal calibration: Zero gyro/accel calibration before acquisition
This commit is contained in:
parent
afb7ba7ea4
commit
159ba7f697
@ -65,6 +65,20 @@ bool ThermalCalibrationHelper::setupBoardForCalibration()
|
|||||||
Q_ASSERT(baroSensor);
|
Q_ASSERT(baroSensor);
|
||||||
setMetadataForCalibration(baroSensor);
|
setMetadataForCalibration(baroSensor);
|
||||||
|
|
||||||
|
// Clean up any gyro/accel correction before calibrating
|
||||||
|
AccelGyroSettings *accelGyroSettings = AccelGyroSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelGyroSettings);
|
||||||
|
AccelGyroSettings::DataFields data = accelGyroSettings->getData();
|
||||||
|
for(int i = 0; i < AccelGyroSettings::ACCEL_TEMP_COEFF_NUMELEM; i++){
|
||||||
|
data.accel_temp_coeff[i] = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < AccelGyroSettings::GYRO_TEMP_COEFF_NUMELEM; i++){
|
||||||
|
data.gyro_temp_coeff[i] = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
accelGyroSettings->setData(data);
|
||||||
|
|
||||||
// clean any correction before calibrating
|
// clean any correction before calibrating
|
||||||
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
||||||
Q_ASSERT(revoSettings);
|
Q_ASSERT(revoSettings);
|
||||||
@ -102,6 +116,11 @@ bool ThermalCalibrationHelper::saveBoardInitialSettings()
|
|||||||
Q_ASSERT(baroSensor);
|
Q_ASSERT(baroSensor);
|
||||||
m_boardInitialSettings.baroensorMeta = baroSensor->getMetadata();
|
m_boardInitialSettings.baroensorMeta = baroSensor->getMetadata();
|
||||||
|
|
||||||
|
// accelGyroSettings data
|
||||||
|
AccelGyroSettings *accelGyroSettings = AccelGyroSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelGyroSettings);
|
||||||
|
m_boardInitialSettings.accelGyroSettings = accelGyroSettings->getData();
|
||||||
|
|
||||||
// revoSettings data
|
// revoSettings data
|
||||||
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
||||||
Q_ASSERT(revoSettings);
|
Q_ASSERT(revoSettings);
|
||||||
@ -147,6 +166,11 @@ bool ThermalCalibrationHelper::restoreInitialSettings()
|
|||||||
Q_ASSERT(baroSensor);
|
Q_ASSERT(baroSensor);
|
||||||
baroSensor->setMetadata(m_boardInitialSettings.baroensorMeta);
|
baroSensor->setMetadata(m_boardInitialSettings.baroensorMeta);
|
||||||
|
|
||||||
|
// AccelGyroSettings data
|
||||||
|
AccelGyroSettings *accelGyroSettings = AccelGyroSettings::GetInstance(objManager);
|
||||||
|
Q_ASSERT(accelGyroSettings);
|
||||||
|
accelGyroSettings->setData(m_boardInitialSettings.accelGyroSettings);
|
||||||
|
|
||||||
// revoSettings data
|
// revoSettings data
|
||||||
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
RevoSettings *revoSettings = RevoSettings::GetInstance(objManager);
|
||||||
Q_ASSERT(revoSettings);
|
Q_ASSERT(revoSettings);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user