Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/iNavFlight/inav-configurator.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Spychalski <pspychalski@gmail.com>2022-10-01 13:59:00 +0300
committerGitHub <noreply@github.com>2022-10-01 13:59:00 +0300
commit1f8b2bcbb2d9584e517fe93dc8a70a1454f0603e (patch)
treeb9bb191d6c13b6da28af3966a7e4175096d1628e
parent310a263dd705d2a21ed57ee9815ca96ded5b513a (diff)
parent7afbc5c97c68a9dcef583be70038a628dfa6f55b (diff)
Merge pull request #1605 from iNavFlight/MrD_Set-platform-defaults-on-all-profiles
Set specific defaults (defaults dialog) on all profiles
-rw-r--r--js/defaults_dialog.js59
1 files changed, 50 insertions, 9 deletions
diff --git a/js/defaults_dialog.js b/js/defaults_dialog.js
index 4c3e81e2..42b44324 100644
--- a/js/defaults_dialog.js
+++ b/js/defaults_dialog.js
@@ -432,7 +432,7 @@ helper.defaultsDialog = (function () {
{
"title": 'Airplane without a Tail (Wing, Delta, etc)',
"notRecommended": false,
- "id": 3,
+ "id": 4,
"reboot": true,
"mixerToApply": 8,
"settings": [
@@ -446,7 +446,7 @@ helper.defaultsDialog = (function () {
},
{
key: "applied_defaults",
- value: 3
+ value: 4
},
{
key: "gyro_hardware_lpf",
@@ -774,7 +774,9 @@ helper.defaultsDialog = (function () {
GUI.tab_switch_cleanup(function () {
MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () {
//noinspection JSUnresolvedVariable
- savingDefaultsModal.close();
+ if (typeof savingDefaultsModal !== 'undefined') {
+ savingDefaultsModal.close();
+ }
GUI.log(chrome.i18n.getMessage('deviceRebooting'));
GUI.handleReconnect();
});
@@ -784,13 +786,21 @@ helper.defaultsDialog = (function () {
};
privateScope.setSettings = function (selectedDefaultPreset) {
+ var currentControlProfile = parseInt($("#profilechange").val());
+ var currentBatteryProfile = parseInt($("#batteryprofilechange").val());
//Save analytics
googleAnalytics.sendEvent('Setting', 'Defaults', selectedDefaultPreset.title);
Promise.mapSeries(selectedDefaultPreset.settings, function (input, ii) {
return mspHelper.getSetting(input.key);
}).then(function () {
Promise.mapSeries(selectedDefaultPreset.settings, function (input, ii) {
- return mspHelper.setSetting(input.key, input.value);
+ if (FC.isControlProfileParameter(input.key)) {
+ return privateScope.setSettingForAllControlProfiles(input.key, input.value);
+ } else if (FC.isBatteryProfileParameter(input.key)) {
+ return privateScope.setSettingForAllBatteryProfiles(input.key, input.value);
+ } else {
+ return mspHelper.setSetting(input.key, input.value);
+ }
}).then(function () {
// If default preset is associated to a mixer, apply the mixer as well
@@ -807,17 +817,48 @@ helper.defaultsDialog = (function () {
mspHelper.sendServoMixer(function () {
mspHelper.sendMotorMixer(function () {
- privateScope.finalize(selectedDefaultPreset);
- })
+ MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [currentControlProfile], false, function() {
+ MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [currentBatteryProfile], false, privateScope.finalize(selectedDefaultPreset));
+ });
+ });
});
} else {
- privateScope.finalize(selectedDefaultPreset);
+ MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [currentControlProfile], false, function() {
+ MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [currentBatteryProfile], false, privateScope.finalize(selectedDefaultPreset));
+ });
}
+ })
+ });
+ };
-
+ privateScope.setSettingForAllControlProfiles = function (key, value) {
+ MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [0], false, function () {
+ mspHelper.setSetting(key, value, function() {
+ MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [1], false, function () {
+ mspHelper.setSetting(key, value, function() {
+ MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [2], false, function () {
+ mspHelper.setSetting(key, value);
+ });
+ });
+ });
+ });
+ });
+ return;
+ };
- })
+ privateScope.setSettingForAllBatteryProfiles = function (key, value) {
+ MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [0], false, function () {
+ mspHelper.setSetting(key, value, function() {
+ MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [1], false, function () {
+ mspHelper.setSetting(key, value, function() {
+ MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [2], false, function () {
+ mspHelper.setSetting(key, value);
+ });
+ });
+ });
+ });
});
+ return;
};
privateScope.onPresetClick = function (event) {