Browse Source

Don't show/calibrated compass which are turned off

QGC4.4
DonLakeFlyer 8 years ago
parent
commit
716d030a71
  1. 2
      src/AutoPilotPlugins/APM/APMSensorsComponent.qml
  2. 9
      src/AutoPilotPlugins/APM/APMSensorsComponentController.cc

2
src/AutoPilotPlugins/APM/APMSensorsComponent.qml

@ -169,7 +169,7 @@ SetupPage {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
spacing: Math.round(ScreenTools.defaultFontPixelHeight / 2) spacing: Math.round(ScreenTools.defaultFontPixelHeight / 2)
visible: sensorParams.rgCompassAvailable[index] visible: sensorParams.rgCompassAvailable[index] && sensorParams.rgCompassUseFact[index].value
property real greenMaxThreshold: 8 * (sensorParams.rgCompassExternal[index] ? 1 : 2) property real greenMaxThreshold: 8 * (sensorParams.rgCompassExternal[index] ? 1 : 2)
property real yellowMaxThreshold: 15 * (sensorParams.rgCompassExternal[index] ? 1 : 2) property real yellowMaxThreshold: 15 * (sensorParams.rgCompassExternal[index] ? 1 : 2)

9
src/AutoPilotPlugins/APM/APMSensorsComponentController.cc

@ -226,7 +226,8 @@ void APMSensorsComponentController::_mavCommandResult(int vehicleId, int compone
_startLogCalibration(); _startLogCalibration();
uint8_t compassBits = 0; uint8_t compassBits = 0;
if (getParameterFact(FactSystem::defaultComponentId, "COMPASS_DEV_ID")->rawValue().toInt() > 0) { if (getParameterFact(FactSystem::defaultComponentId, "COMPASS_DEV_ID")->rawValue().toInt() > 0 &&
getParameterFact(FactSystem::defaultComponentId, QStringLiteral("COMPASS_USE"))->rawValue().toBool()) {
compassBits |= 1 << 0; compassBits |= 1 << 0;
qCDebug(APMSensorsComponentControllerLog) << "Performing onboard compass cal for compass 1"; qCDebug(APMSensorsComponentControllerLog) << "Performing onboard compass cal for compass 1";
} else { } else {
@ -234,7 +235,8 @@ void APMSensorsComponentController::_mavCommandResult(int vehicleId, int compone
_rgCompassCalSucceeded[0] = true; _rgCompassCalSucceeded[0] = true;
_rgCompassCalFitness[0] = 0; _rgCompassCalFitness[0] = 0;
} }
if (getParameterFact(FactSystem::defaultComponentId, "COMPASS_DEV_ID2")->rawValue().toInt() > 0) { if (getParameterFact(FactSystem::defaultComponentId, "COMPASS_DEV_ID2")->rawValue().toInt() > 0 &&
getParameterFact(FactSystem::defaultComponentId, QStringLiteral("COMPASS_USE2"))->rawValue().toBool()) {
compassBits |= 1 << 1; compassBits |= 1 << 1;
qCDebug(APMSensorsComponentControllerLog) << "Performing onboard compass cal for compass 2"; qCDebug(APMSensorsComponentControllerLog) << "Performing onboard compass cal for compass 2";
} else { } else {
@ -242,7 +244,8 @@ void APMSensorsComponentController::_mavCommandResult(int vehicleId, int compone
_rgCompassCalSucceeded[1] = true; _rgCompassCalSucceeded[1] = true;
_rgCompassCalFitness[1] = 0; _rgCompassCalFitness[1] = 0;
} }
if (getParameterFact(FactSystem::defaultComponentId, "COMPASS_DEV_ID3")->rawValue().toInt() > 0) { if (getParameterFact(FactSystem::defaultComponentId, "COMPASS_DEV_ID3")->rawValue().toInt() > 0 &&
getParameterFact(FactSystem::defaultComponentId, QStringLiteral("COMPASS_USE3"))->rawValue().toBool()) {
compassBits |= 1 << 2; compassBits |= 1 << 2;
qCDebug(APMSensorsComponentControllerLog) << "Performing onboard compass cal for compass 3"; qCDebug(APMSensorsComponentControllerLog) << "Performing onboard compass cal for compass 3";
} else { } else {

Loading…
Cancel
Save