diff --git a/js/settings.js b/js/settings.js
index 086a2658..bcee7627 100644
--- a/js/settings.js
+++ b/js/settings.js
@@ -618,7 +618,7 @@ var Settings = (function () {
var input = inputs.shift();
var settingPair = self.processInput(input);
return mspHelper.setSetting(settingPair.setting, settingPair.value, function() {
- return self.pickAndSaveSingleInput(inputs);
+ return self.pickAndSaveSingleInput(inputs, finalCallback);
});
} else {
if (finalCallback) {
diff --git a/locale/en/messages.json b/locale/en/messages.json
index 7a240853..565057ba 100644
--- a/locale/en/messages.json
+++ b/locale/en/messages.json
@@ -1714,7 +1714,9 @@
"auxiliaryEepromSaved": {
"message": "EEPROM saved"
},
-
+ "eepromSaved": {
+ "message": "EEPROM saved"
+ },
"adjustmentsHelp": {
"message": "Configure adjustment switches. See the 'in-flight adjustments' section of the manual for details. The changes that adjustment functions make are not saved automatically. There are 4 slots. Each switch used to concurrently make adjustments requires exclusive use of a slot."
},
diff --git a/tabs/advanced_tuning.html b/tabs/advanced_tuning.html
index 708d1706..5282ef42 100644
--- a/tabs/advanced_tuning.html
+++ b/tabs/advanced_tuning.html
@@ -216,7 +216,7 @@
diff --git a/tabs/advanced_tuning.js b/tabs/advanced_tuning.js
index 17885eb6..06c195b7 100644
--- a/tabs/advanced_tuning.js
+++ b/tabs/advanced_tuning.js
@@ -19,6 +19,20 @@ TABS.advanced_tuning.initialize = function (callback) {
loadHtml();
+ function save_to_eeprom() {
+ console.log('save_to_eeprom');
+ MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function () {
+ GUI.log(i18n.getMessage('eepromSaved'));
+
+ GUI.tab_switch_cleanup(function () {
+ MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () {
+ GUI.log(i18n.getMessage('deviceRebooting'));
+ GUI.handleReconnect($('.tab_advanced_tuning a'));
+ });
+ });
+ });
+ }
+
function loadHtml() {
GUI.load(path.join(__dirname, "advanced_tuning.html"), Settings.processHtml(function () {
@@ -68,35 +82,12 @@ TABS.advanced_tuning.initialize = function (callback) {
TABS.advanced_tuning.checkRequirements_LinearDescent();
$('a.save').on('click', function () {
- Settings.saveInputs().then(function () {
- var self = this;
- MSP.promise(MSPCodes.MSP_EEPROM_WRITE);
- var oldText = $(this).text();
- $(this).html("Saved");
- setTimeout(function () {
- $(self).html(oldText);
- }, 2000);
- reboot();
- });
+ Settings.saveInputs(save_to_eeprom);
});
GUI.content_ready(callback);
}));
}
-
- function reboot() {
- //noinspection JSUnresolvedVariable
- GUI.log(i18n.getMessage('configurationEepromSaved'));
- GUI.tab_switch_cleanup(function () {
- MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize);
- });
- }
-
- function reinitialize() {
- //noinspection JSUnresolvedVariable
- GUI.log(i18n.getMessage('deviceRebooting'));
- GUI.handleReconnect($('.tab_advanced_tuning a'));
- }
};
diff --git a/tabs/configuration.js b/tabs/configuration.js
index 04f0bca6..713b8b76 100644
--- a/tabs/configuration.js
+++ b/tabs/configuration.js
@@ -52,7 +52,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
];
function saveSettings(onComplete) {
- Settings.saveInputs().then(onComplete);
+ Settings.saveInputs(onComplete);
}
saveChainer.setChain(saveChain);
diff --git a/tabs/failsafe.js b/tabs/failsafe.js
index 8f6f9d19..05c02b0f 100644
--- a/tabs/failsafe.js
+++ b/tabs/failsafe.js
@@ -127,29 +127,22 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
load_failssafe_config();
+ function save_to_eeprom() {
+ console.log('save_to_eeprom');
+ MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function () {
+ GUI.log(i18n.getMessage('eepromSaved'));
+
+ GUI.tab_switch_cleanup(function () {
+ MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () {
+ GUI.log(i18n.getMessage('deviceRebooting'));
+ GUI.handleReconnect($('.tab_failsafe a'));
+ });
+ });
+ });
+ }
+
function savePhaseTwo() {
- Settings.saveInputs().then(function () {
- var self = this;
- MSP.promise(MSPCodes.MSP_EEPROM_WRITE);
- setTimeout(function () {
- $(self).html('');
- }, 2000);
- reboot();
- });
- }
-
- function reboot() {
- //noinspection JSUnresolvedVariable
- GUI.log(i18n.getMessage('configurationEepromSaved'));
- GUI.tab_switch_cleanup(function () {
- MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, reinitialize);
- });
- }
-
- function reinitialize() {
- //noinspection JSUnresolvedVariable
- GUI.log(i18n.getMessage('deviceRebooting'));
- GUI.handleReconnect($('.tab_failsafe a'));
+ Settings.saveInputs(save_to_eeprom);
}
};
diff --git a/tabs/gps.js b/tabs/gps.js
index 3362f3b9..5a72d1f2 100644
--- a/tabs/gps.js
+++ b/tabs/gps.js
@@ -73,7 +73,7 @@ TABS.gps.initialize = function (callback) {
];
function saveSettings(onComplete) {
- Settings.saveInputs().then(onComplete);
+ Settings.saveInputs(onComplete);
}
saveChainer.setChain(saveChain);
diff --git a/tabs/mixer.js b/tabs/mixer.js
index a5ac2a83..7e5e9d55 100644
--- a/tabs/mixer.js
+++ b/tabs/mixer.js
@@ -58,7 +58,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
saveChainer.setExitPoint(reboot);
function saveSettings(onComplete) {
- Settings.saveInputs().then(onComplete);
+ Settings.saveInputs(onComplete);
}
function reboot() {
diff --git a/tabs/osd.js b/tabs/osd.js
index 93a71a91..c0ce01f5 100644
--- a/tabs/osd.js
+++ b/tabs/osd.js
@@ -3256,6 +3256,20 @@ TABS.osd.initialize = function (callback) {
GUI.active_tab = 'osd';
}
+ function save_to_eeprom() {
+ console.log('save_to_eeprom');
+ MSP.send_message(MSPCodes.MSP_EEPROM_WRITE, false, false, function () {
+ GUI.log(i18n.getMessage('eepromSaved'));
+
+ GUI.tab_switch_cleanup(function () {
+ MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () {
+ GUI.log(i18n.getMessage('deviceRebooting'));
+ GUI.handleReconnect($('.tab_osd a'));
+ });
+ });
+ });
+ }
+
GUI.load(path.join(__dirname, "osd.html"), Settings.processHtml(function () {
// translate to user-selected language
i18n.localize();
@@ -3274,16 +3288,7 @@ TABS.osd.initialize = function (callback) {
});
$('a.save').on('click', function () {
- Settings.saveInputs().then(function () {
- var self = this;
- MSP.promise(MSPCodes.MSP_EEPROM_WRITE);
- GUI.log(i18n.getMessage('osdSettingsSaved'));
- var oldText = $(this).text();
- $(this).html("Saved");
- setTimeout(function () {
- $(self).html(oldText);
- }, 2000);
- });
+ Settings.saveInputs(save_to_eeprom);
});
// Initialise guides checkbox
diff --git a/tabs/outputs.js b/tabs/outputs.js
index c45d6bfa..5a8ff5be 100644
--- a/tabs/outputs.js
+++ b/tabs/outputs.js
@@ -79,7 +79,7 @@ TABS.outputs.initialize = function (callback) {
}
function saveSettings(onComplete) {
- Settings.saveInputs().then(onComplete);
+ Settings.saveInputs(onComplete);
}
function onLoad() {
diff --git a/tabs/receiver.js b/tabs/receiver.js
index f1eb4616..9b20874f 100644
--- a/tabs/receiver.js
+++ b/tabs/receiver.js
@@ -44,7 +44,7 @@ TABS.receiver.initialize = function (callback) {
}
function saveSettings(onComplete) {
- Settings.saveInputs().then(onComplete);
+ Settings.saveInputs(onComplete);
}
function drawRollPitchExpo() {