mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-19 14:25:13 +03:00
Store receiver port in wizard
This commit is contained in:
parent
4fe7728d46
commit
6a514920fa
4 changed files with 79 additions and 9 deletions
|
@ -13,8 +13,8 @@ const jBox = require('./libraries/jBox/jBox.min');
|
||||||
const i18n = require('./localization');
|
const i18n = require('./localization');
|
||||||
const defaultsDialogData = require('./defaults_dialog_entries.js');
|
const defaultsDialogData = require('./defaults_dialog_entries.js');
|
||||||
const Settings = require('./settings.js');
|
const Settings = require('./settings.js');
|
||||||
const serialPortHelper = require('./serialPortHelper');
|
|
||||||
const wizardUiBindings = require('./wizard_ui_bindings');
|
const wizardUiBindings = require('./wizard_ui_bindings');
|
||||||
|
const wizardSaveFramework = require('./wizard_save_framework');
|
||||||
|
|
||||||
var savingDefaultsModal;
|
var savingDefaultsModal;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ var defaultsDialog = (function () {
|
||||||
|
|
||||||
let $container;
|
let $container;
|
||||||
|
|
||||||
privateScope.wizardSettings = {};
|
privateScope.wizardSettings = [];
|
||||||
|
|
||||||
publicScope.init = function () {
|
publicScope.init = function () {
|
||||||
mspHelper.getSetting("applied_defaults").then(privateScope.onInitSettingReturned);
|
mspHelper.getSetting("applied_defaults").then(privateScope.onInitSettingReturned);
|
||||||
|
@ -62,10 +62,16 @@ var defaultsDialog = (function () {
|
||||||
let receiverPort = $receiverPort.val();
|
let receiverPort = $receiverPort.val();
|
||||||
|
|
||||||
if (receiverPort != "-1") {
|
if (receiverPort != "-1") {
|
||||||
privateScope.wizardSettings['receiverPort'] = receiverPort;
|
privateScope.wizardSettings.push({
|
||||||
|
name: "receiverPort",
|
||||||
|
value: receiverPort
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
privateScope.wizardSettings['receiverProcol'] = $container.find('#wizard-receiver-protocol').val();
|
privateScope.wizardSettings.push({
|
||||||
|
name: "receiverProtocol",
|
||||||
|
value: $container.find('#wizard-receiver-protocol').val()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
privateScope.wizard(selectedDefaultPreset, wizardStep + 1);
|
privateScope.wizard(selectedDefaultPreset, wizardStep + 1);
|
||||||
|
@ -77,12 +83,19 @@ var defaultsDialog = (function () {
|
||||||
const stepsCount = selectedDefaultPreset.wizardPages.length;
|
const stepsCount = selectedDefaultPreset.wizardPages.length;
|
||||||
const stepName = steps[wizardStep];
|
const stepName = steps[wizardStep];
|
||||||
|
|
||||||
console.log(steps[wizardStep], wizardStep, stepsCount);
|
|
||||||
|
|
||||||
if (wizardStep >= stepsCount) {
|
if (wizardStep >= stepsCount) {
|
||||||
//This is the last step, time to finalize
|
//This is the last step, time to finalize
|
||||||
$container.hide();
|
$container.hide();
|
||||||
privateScope.saveAndReboot();
|
|
||||||
|
wizardSaveFramework.persist(privateScope.wizardSettings, function () {
|
||||||
|
mspHelper.saveToEeprom(function () {
|
||||||
|
//noinspection JSUnresolvedVariable
|
||||||
|
GUI.log(i18n.getMessage('configurationEepromSaved'));
|
||||||
|
if (selectedDefaultPreset.reboot) {
|
||||||
|
privateScope.reboot();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
const $content = $container.find('.defaults-dialog__wizard');
|
const $content = $container.find('.defaults-dialog__wizard');
|
||||||
|
|
||||||
|
@ -126,7 +139,7 @@ var defaultsDialog = (function () {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
privateScope.saveAndReboot = function () {
|
privateScope.reboot = function () {
|
||||||
|
|
||||||
GUI.tab_switch_cleanup(function () {
|
GUI.tab_switch_cleanup(function () {
|
||||||
MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () {
|
MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () {
|
||||||
|
@ -149,7 +162,7 @@ var defaultsDialog = (function () {
|
||||||
//noinspection JSUnresolvedVariable
|
//noinspection JSUnresolvedVariable
|
||||||
GUI.log(i18n.getMessage('configurationEepromSaved'));
|
GUI.log(i18n.getMessage('configurationEepromSaved'));
|
||||||
if (selectedDefaultPreset.reboot) {
|
if (selectedDefaultPreset.reboot) {
|
||||||
privateScope.saveAndReboot();
|
privateScope.reboot();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1847,6 +1847,7 @@ var mspHelper = (function () {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSPCodes.MSP2_SET_CF_SERIAL_CONFIG:
|
case MSPCodes.MSP2_SET_CF_SERIAL_CONFIG:
|
||||||
|
console.log('will crunch', FC.SERIAL_CONFIG);
|
||||||
for (let i = 0; i < FC.SERIAL_CONFIG.ports.length; i++) {
|
for (let i = 0; i < FC.SERIAL_CONFIG.ports.length; i++) {
|
||||||
var serialPort = FC.SERIAL_CONFIG.ports[i];
|
var serialPort = FC.SERIAL_CONFIG.ports[i];
|
||||||
|
|
||||||
|
|
|
@ -332,9 +332,14 @@ const serialPortHelper = (function () {
|
||||||
|
|
||||||
publicScope.set = function(port, functionName, baudrate) {
|
publicScope.set = function(port, functionName, baudrate) {
|
||||||
|
|
||||||
|
console.log('Start', FC.SERIAL_CONFIG);
|
||||||
|
|
||||||
publicScope.clearByFunction(functionName);
|
publicScope.clearByFunction(functionName);
|
||||||
|
|
||||||
let config = publicScope.getPortByIdentifier(port);
|
let config = publicScope.getPortByIdentifier(port);
|
||||||
|
|
||||||
|
console.log('Config to change', config);
|
||||||
|
|
||||||
if (config) {
|
if (config) {
|
||||||
|
|
||||||
config.functions = [functionName];
|
config.functions = [functionName];
|
||||||
|
|
51
js/wizard_save_framework.js
Normal file
51
js/wizard_save_framework.js
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const mspHelper = require('./msp/MSPHelper');
|
||||||
|
const serialPortHelper = require('./serialPortHelper');
|
||||||
|
const FC = require('./fc');
|
||||||
|
|
||||||
|
var wizardSaveFramework = (function () {
|
||||||
|
|
||||||
|
let self = {};
|
||||||
|
|
||||||
|
self.saveSetting = function (config, callback) {
|
||||||
|
|
||||||
|
switch (config.name) {
|
||||||
|
case 'receiverPort':
|
||||||
|
serialPortHelper.set(config.value, 'RX_SERIAL', null);
|
||||||
|
mspHelper.saveSerialPorts(callback);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
callback();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.handleSetting = function (configs, finalCallback) {
|
||||||
|
|
||||||
|
if (configs.length > 0) {
|
||||||
|
let setting = configs.shift();
|
||||||
|
self.saveSetting(setting, function () {
|
||||||
|
self.handleSetting(configs, finalCallback);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('Nothing to save');
|
||||||
|
finalCallback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.persist = function (config, finalCallback) {
|
||||||
|
if (config === null || config === undefined || config.length === 0) {
|
||||||
|
finalCallback();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let configCopy = Array.from(config);
|
||||||
|
|
||||||
|
self.handleSetting(configCopy, finalCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
return self;
|
||||||
|
})();
|
||||||
|
|
||||||
|
module.exports = wizardSaveFramework;
|
Loading…
Add table
Add a link
Reference in a new issue