Commit d1828fe5 authored by Gus Grubba's avatar Gus Grubba

Reset Parameters to Vehicle's Default

parent 168bc8ec
......@@ -1542,7 +1542,7 @@ bool ParameterManager::loadFromJson(const QJsonObject& json, bool required, QStr
return true;
}
void ParameterManager::resetAllParametersToDefaults(void)
void ParameterManager::resetAllParametersToDefaults()
{
_vehicle->sendMavCommand(MAV_COMP_ID_ALL,
MAV_CMD_PREFLIGHT_STORAGE,
......@@ -1551,6 +1551,15 @@ void ParameterManager::resetAllParametersToDefaults(void)
-1); // Don't do anything with mission storage
}
void ParameterManager::resetAllToVehicleConfiguration()
{
//-- https://github.com/PX4/Firmware/pull/11760
Fact* sysAutoConfigFact = getParameter(-1, "SYS_AUTOCONFIG");
if(sysAutoConfigFact) {
sysAutoConfigFact->setRawValue(2);
}
}
QString ParameterManager::_logVehiclePrefix(int componentId)
{
if (componentId == -1) {
......@@ -1563,7 +1572,7 @@ QString ParameterManager::_logVehiclePrefix(int componentId)
void ParameterManager::_setLoadProgress(double loadProgress)
{
_loadProgress = loadProgress;
emit loadProgressChanged(loadProgress);
emit loadProgressChanged(static_cast<float>(loadProgress));
}
QList<int> ParameterManager::componentIds(void)
......
......@@ -61,7 +61,8 @@ public:
/// Request a refresh on all parameters that begin with the specified prefix
void refreshParametersPrefix(int componentId, const QString& namePrefix);
void resetAllParametersToDefaults(void);
void resetAllParametersToDefaults();
void resetAllToVehicleConfiguration();
/// Returns true if the specifed parameter exists
/// @param componentId Component id or FactSystem::defaultComponentId
......
......@@ -98,17 +98,25 @@ Item {
anchors.right: parent.right
text: qsTr("Tools")
visible: !_searchFilter
onClicked: toolsMenu.popup()
}
menu: Menu {
Menu {
id: toolsMenu
MenuItem {
text: qsTr("Refresh")
onTriggered: controller.refresh()
}
MenuItem {
text: qsTr("Reset all to defaults")
text: qsTr("Reset all to firmware's defaults")
visible: !activeVehicle.apmFirmware
onTriggered: mainWindow.showDialog(resetToDefaultConfirmComponent, qsTr("Reset All"), mainWindow.showDialogDefaultWidth, StandardButton.Cancel | StandardButton.Reset)
}
MenuItem {
text: qsTr("Reset to vehicle's configuration defaults")
visible: !activeVehicle.apmFirmware
onTriggered: mainWindow.showDialog(resetToVehicleConfigurationConfirmComponent, qsTr("Reset All"), mainWindow.showDialogDefaultWidth, StandardButton.Cancel | StandardButton.Reset)
}
MenuSeparator { }
MenuItem {
text: qsTr("Load from file...")
......@@ -140,7 +148,6 @@ Item {
onTriggered: mainWindow.showDialog(rebootVehicleConfirmComponent, qsTr("Reboot Vehicle"), mainWindow.showDialogDefaultWidth, StandardButton.Cancel | StandardButton.Ok)
}
}
}
/// Group buttons
QGCFlickable {
......@@ -309,13 +316,11 @@ Item {
Component {
id: resetToDefaultConfirmComponent
QGCViewDialog {
function accept() {
controller.resetAllToDefaults()
hideDialog()
}
QGCLabel {
width: parent.width
wrapMode: Text.WordWrap
......@@ -324,6 +329,21 @@ Item {
}
}
Component {
id: resetToVehicleConfigurationConfirmComponent
QGCViewDialog {
function accept() {
controller.resetAllToVehicleConfiguration()
hideDialog()
}
QGCLabel {
width: parent.width
wrapMode: Text.WordWrap
text: qsTr("Select Reset to reset all parameters to the vehicle's configuration defaults.")
}
}
}
Component {
id: rebootVehicleConfirmComponent
......
......@@ -151,6 +151,12 @@ void ParameterEditorController::resetAllToDefaults(void)
refresh();
}
void ParameterEditorController::resetAllToVehicleConfiguration(void)
{
_parameterMgr->resetAllToVehicleConfiguration();
refresh();
}
void ParameterEditorController::setRCToParam(const QString& paramName)
{
#ifdef __mobile__
......
......@@ -46,6 +46,7 @@ public:
Q_INVOKABLE void loadFromFile(const QString& filename);
Q_INVOKABLE void refresh(void);
Q_INVOKABLE void resetAllToDefaults(void);
Q_INVOKABLE void resetAllToVehicleConfiguration(void);
Q_INVOKABLE void setRCToParam(const QString& paramName);
QList<QObject*> model(void);
......
......@@ -120,6 +120,7 @@ Item {
QGCButton {
id: _acceptButton
anchors.right: parent.right
anchors.bottom: parent.bottom
primary: true
onClicked: {
_dialogComponentLoader.item.accept()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment