Browse Source

Merge pull request #6654 from DonLakeFlyer/ArduPilotReboot

Ardu pilot reboot
QGC4.4
Don Gagne 7 years ago committed by GitHub
parent
commit
98565fdb51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 40
      src/AutoPilotPlugins/APM/APMSensorsComponent.qml
  2. 1
      src/Vehicle/Vehicle.cc
  3. 2
      src/comm/LinkInterface.cc

40
src/AutoPilotPlugins/APM/APMSensorsComponent.qml

@ -37,8 +37,8 @@ SetupPage { @@ -37,8 +37,8 @@ SetupPage {
// Help text which is shown both in the status text area prior to pressing a cal button and in the
// pre-calibration dialog.
readonly property string orientationHelpSet: qsTr("If the orientation is in the direction of flight, select None.")
readonly property string orientationHelpCal: qsTr("Before calibrating make sure orientation settings are correct. ") + orientationHelpSet
readonly property string orientationHelpSet: qsTr("If mounted in the direction of flight, select None.")
readonly property string orientationHelpCal: qsTr("Before calibrating make sure rotation settings are correct. ") + orientationHelpSet
readonly property string compassRotationText: qsTr("If the compass or GPS module is mounted in flight direction, leave the default value (None)")
readonly property string compassHelp: qsTr("For Compass calibration you will need to rotate your vehicle through a number of positions.")
@ -137,10 +137,10 @@ SetupPage { @@ -137,10 +137,10 @@ SetupPage {
onCalibrationComplete: {
switch (calType) {
case APMSensorsComponentController.CalTypeAccel:
showMessage(qsTr("Calibration complete"), qsTr("Accelerometer calibration complete."), StandardButton.Ok)
showDialog(postCalibrationComponent, qsTr("Accelerometer calibration complete"), qgcView.showDialogDefaultWidth, StandardButton.Ok)
break
case APMSensorsComponentController.CalTypeOffboardCompass:
showMessage(qsTr("Calibration complete"), qsTr("Compass calibration complete."), StandardButton.Ok)
showDialog(postCalibrationComponent, qsTr("Compass calibration complete"), qgcView.showDialogDefaultWidth, StandardButton.Ok)
break
case APMSensorsComponentController.CalTypeOnboardCompass:
showDialog(postOnboardCompassCalibrationComponent, qsTr("Calibration complete"), qgcView.showDialogDefaultWidth, StandardButton.Ok)
@ -262,6 +262,36 @@ SetupPage { @@ -262,6 +262,36 @@ SetupPage {
qsTr("- Red indicates a compass which should not be used.\n\n") +
qsTr("YOU MUST REBOOT YOUR VEHICLE AFTER EACH CALIBRATION.")
}
QGCButton {
text: qsTr("Reboot Vehicle")
onClicked: controller.vehicle.reboot()
}
}
}
}
Component {
id: postCalibrationComponent
QGCViewDialog {
Column {
anchors.margins: ScreenTools.defaultFontPixelWidth
anchors.left: parent.left
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel {
anchors.left: parent.left
anchors.right: parent.right
wrapMode: Text.WordWrap
text: qsTr("YOU MUST REBOOT YOUR VEHICLE AFTER EACH CALIBRATION.")
}
QGCButton {
text: qsTr("Reboot Vehicle")
onClicked: controller.vehicle.rebootVehicle()
}
}
}
}
@ -343,7 +373,7 @@ SetupPage { @@ -343,7 +373,7 @@ SetupPage {
}
Column {
QGCLabel { text: qsTr("Autopilot Orientation:") }
QGCLabel { text: qsTr("Autopilot Rotation:") }
FactComboBox {
width: rotationColumnWidth

1
src/Vehicle/Vehicle.cc

@ -3139,6 +3139,7 @@ QString Vehicle::firmwareVersionTypeString(void) const @@ -3139,6 +3139,7 @@ QString Vehicle::firmwareVersionTypeString(void) const
void Vehicle::rebootVehicle()
{
_autoDisconnect = true;
sendMavCommand(_defaultComponentId, MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN, true, 1.0f);
}

2
src/comm/LinkInterface.cc

@ -204,7 +204,7 @@ void LinkInterface::stopHeartbeatTimer() { @@ -204,7 +204,7 @@ void LinkInterface::stopHeartbeatTimer() {
while (iter.hasNext()) {
iter.next();
QObject::disconnect(iter.value(), &HeartbeatTimer::activeChanged, this, &LinkInterface::_activeChanged);
delete _heartbeatTimers[iter.key()];
_heartbeatTimers[iter.key()]->deleteLater();
_heartbeatTimers[iter.key()] = nullptr;
}

Loading…
Cancel
Save