Browse Source

Merge pull request #6406 from DonLakeFlyer/SensorCalLog

Don't clear results for airspeed/level calibration
QGC4.4
Don Gagne 7 years ago committed by GitHub
parent
commit
5a79d777d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 95
      src/AutoPilotPlugins/PX4/SensorsComponentController.cc
  2. 4
      src/AutoPilotPlugins/PX4/SensorsComponentController.h
  3. 22
      src/AutoPilotPlugins/PX4/SensorsSetup.qml

95
src/AutoPilotPlugins/PX4/SensorsComponentController.cc

@ -7,10 +7,6 @@ @@ -7,10 +7,6 @@
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#include "SensorsComponentController.h"
#include "QGCMAVLink.h"
#include "UAS.h"
@ -22,46 +18,48 @@ @@ -22,46 +18,48 @@
QGC_LOGGING_CATEGORY(SensorsComponentControllerLog, "SensorsComponentControllerLog")
SensorsComponentController::SensorsComponentController(void) :
_statusLog(NULL),
_progressBar(NULL),
_compassButton(NULL),
_gyroButton(NULL),
_accelButton(NULL),
_airspeedButton(NULL),
_levelButton(NULL),
_cancelButton(NULL),
_setOrientationsButton(NULL),
_showOrientationCalArea(false),
_gyroCalInProgress(false),
_magCalInProgress(false),
_accelCalInProgress(false),
_orientationCalDownSideDone(false),
_orientationCalUpsideDownSideDone(false),
_orientationCalLeftSideDone(false),
_orientationCalRightSideDone(false),
_orientationCalNoseDownSideDone(false),
_orientationCalTailDownSideDone(false),
_orientationCalDownSideVisible(false),
_orientationCalUpsideDownSideVisible(false),
_orientationCalLeftSideVisible(false),
_orientationCalRightSideVisible(false),
_orientationCalNoseDownSideVisible(false),
_orientationCalTailDownSideVisible(false),
_orientationCalDownSideInProgress(false),
_orientationCalUpsideDownSideInProgress(false),
_orientationCalLeftSideInProgress(false),
_orientationCalRightSideInProgress(false),
_orientationCalNoseDownSideInProgress(false),
_orientationCalTailDownSideInProgress(false),
_orientationCalDownSideRotate(false),
_orientationCalUpsideDownSideRotate(false),
_orientationCalLeftSideRotate(false),
_orientationCalRightSideRotate(false),
_orientationCalNoseDownSideRotate(false),
_orientationCalTailDownSideRotate(false),
_unknownFirmwareVersion(false),
_waitingForCancel(false)
SensorsComponentController::SensorsComponentController(void)
: _statusLog (NULL)
, _progressBar (NULL)
, _compassButton (NULL)
, _gyroButton (NULL)
, _accelButton (NULL)
, _airspeedButton (NULL)
, _levelButton (NULL)
, _cancelButton (NULL)
, _setOrientationsButton (NULL)
, _showOrientationCalArea (false)
, _gyroCalInProgress (false)
, _magCalInProgress (false)
, _accelCalInProgress (false)
, _airspeedCalInProgress (false)
, _levelCalInProgress (false)
, _orientationCalDownSideDone (false)
, _orientationCalUpsideDownSideDone (false)
, _orientationCalLeftSideDone (false)
, _orientationCalRightSideDone (false)
, _orientationCalNoseDownSideDone (false)
, _orientationCalTailDownSideDone (false)
, _orientationCalDownSideVisible (false)
, _orientationCalUpsideDownSideVisible (false)
, _orientationCalLeftSideVisible (false)
, _orientationCalRightSideVisible (false)
, _orientationCalNoseDownSideVisible (false)
, _orientationCalTailDownSideVisible (false)
, _orientationCalDownSideInProgress (false)
, _orientationCalUpsideDownSideInProgress (false)
, _orientationCalLeftSideInProgress (false)
, _orientationCalRightSideInProgress (false)
, _orientationCalNoseDownSideInProgress (false)
, _orientationCalTailDownSideInProgress (false)
, _orientationCalDownSideRotate (false)
, _orientationCalUpsideDownSideRotate (false)
, _orientationCalLeftSideRotate (false)
, _orientationCalRightSideRotate (false)
, _orientationCalNoseDownSideRotate (false)
, _orientationCalTailDownSideRotate (false)
, _unknownFirmwareVersion (false)
, _waitingForCancel (false)
{
}
@ -165,7 +163,9 @@ void SensorsComponentController::_stopCalibration(SensorsComponentController::St @@ -165,7 +163,9 @@ void SensorsComponentController::_stopCalibration(SensorsComponentController::St
switch (code) {
case StopCalibrationSuccess:
_orientationCalAreaHelpText->setProperty("text", tr("Calibration complete"));
emit resetStatusTextArea();
if (!_airspeedCalInProgress && !_levelCalInProgress) {
emit resetStatusTextArea();
}
if (_magCalInProgress) {
emit setCompassRotations();
}
@ -186,6 +186,7 @@ void SensorsComponentController::_stopCalibration(SensorsComponentController::St @@ -186,6 +186,7 @@ void SensorsComponentController::_stopCalibration(SensorsComponentController::St
_magCalInProgress = false;
_accelCalInProgress = false;
_gyroCalInProgress = false;
_airspeedCalInProgress = false;
}
void SensorsComponentController::calibrateGyro(void)
@ -336,6 +337,10 @@ void SensorsComponentController::_handleUASTextMessage(int uasId, int compId, in @@ -336,6 +337,10 @@ void SensorsComponentController::_handleUASTextMessage(int uasId, int compId, in
emit orientationCalSidesVisibleChanged();
emit orientationCalSidesInProgressChanged();
_updateAndEmitShowOrientationCalArea(true);
} else if (text == "airspeed") {
_airspeedCalInProgress = true;
} else if (text == "level") {
_levelCalInProgress = true;
}
return;
}

4
src/AutoPilotPlugins/PX4/SensorsComponentController.h

@ -131,7 +131,9 @@ private: @@ -131,7 +131,9 @@ private:
bool _gyroCalInProgress;
bool _magCalInProgress;
bool _accelCalInProgress;
bool _airspeedCalInProgress;
bool _levelCalInProgress;
bool _orientationCalDownSideDone;
bool _orientationCalUpsideDownSideDone;
bool _orientationCalLeftSideDone;

22
src/AutoPilotPlugins/PX4/SensorsSetup.qml

@ -140,9 +140,7 @@ Item { @@ -140,9 +140,7 @@ Item {
onWaitingForCancelChanged: {
if (controller.waitingForCancel) {
showMessage(qsTr("Calibration Cancel"), qsTr("Waiting for Vehicle to response to Cancel. This may take a few seconds."), 0)
} else {
hideDialog()
showDialog(waitForCancelDialogComponent, qsTr("Calibration Cancel"), qgcView.showDialogDefaultWidth, 0)
}
}
}
@ -155,6 +153,24 @@ Item { @@ -155,6 +153,24 @@ Item {
}
Component {
id: waitForCancelDialogComponent
QGCViewMessage {
message: qsTr("Waiting for Vehicle to response to Cancel. This may take a few seconds.")
Connections {
target: controller
onWaitingForCancelChanged: {
if (!controller.waitingForCancel) {
hideDialog()
}
}
}
}
}
Component {
id: preCalibrationDialogComponent
QGCViewDialog {

Loading…
Cancel
Save