mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-23 08:15:19 +03:00
Merge branch 'Fix-Defaults-Dialog' into Autoland-7.0.1
This commit is contained in:
commit
f5670975b1
4 changed files with 114 additions and 109 deletions
|
@ -57,14 +57,6 @@ helper.defaultsDialog = (function () {
|
|||
key: "dterm_lpf_type",
|
||||
value: "PT3"
|
||||
},
|
||||
{
|
||||
key: "dterm_lpf2_hz",
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
key: "dterm_lpf2_type",
|
||||
value: "PT1"
|
||||
},
|
||||
{
|
||||
key: "dynamic_gyro_notch_enabled",
|
||||
value: "ON"
|
||||
|
@ -200,6 +192,11 @@ helper.defaultsDialog = (function () {
|
|||
{
|
||||
key: "failsafe_procedure",
|
||||
value: "DROP"
|
||||
},
|
||||
// Ez Tune
|
||||
{
|
||||
key: "ez_filter_hz",
|
||||
value: 90
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -270,14 +267,6 @@ helper.defaultsDialog = (function () {
|
|||
key: "dterm_lpf_type",
|
||||
value: "PT3"
|
||||
},
|
||||
{
|
||||
key: "dterm_lpf2_hz",
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
key: "dterm_lpf2_type",
|
||||
value: "PT1"
|
||||
},
|
||||
{
|
||||
key: "dynamic_gyro_notch_enabled",
|
||||
value: "ON"
|
||||
|
@ -413,6 +402,11 @@ helper.defaultsDialog = (function () {
|
|||
{
|
||||
key: "failsafe_procedure",
|
||||
value: "DROP"
|
||||
},
|
||||
// Ez Tune
|
||||
{
|
||||
key: "ez_filter_hz",
|
||||
value: 110
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -461,14 +455,6 @@ helper.defaultsDialog = (function () {
|
|||
key: "dterm_lpf_type",
|
||||
value: "PT3"
|
||||
},
|
||||
{
|
||||
key: "dterm_lpf2_hz",
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
key: "dterm_lpf2_type",
|
||||
value: "PT1"
|
||||
},
|
||||
{
|
||||
key: "dynamic_gyro_notch_enabled",
|
||||
value: "ON"
|
||||
|
@ -608,6 +594,11 @@ helper.defaultsDialog = (function () {
|
|||
{
|
||||
key: "failsafe_procedure",
|
||||
value: "DROP"
|
||||
},
|
||||
// Ez Tune
|
||||
{
|
||||
key: "ez_filter_hz",
|
||||
value: 90
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -794,10 +785,6 @@ helper.defaultsDialog = (function () {
|
|||
key: "nav_rth_altitude",
|
||||
value: 5000
|
||||
},
|
||||
{
|
||||
key: "failsafe_mission",
|
||||
value: "ON"
|
||||
},
|
||||
{
|
||||
key: "nav_wp_radius",
|
||||
value: 5000
|
||||
|
@ -1007,10 +994,6 @@ helper.defaultsDialog = (function () {
|
|||
key: "nav_rth_altitude",
|
||||
value: 5000
|
||||
},
|
||||
{
|
||||
key: "failsafe_mission",
|
||||
value: "ON"
|
||||
},
|
||||
{
|
||||
key: "nav_wp_radius",
|
||||
value: 5000
|
||||
|
@ -1169,22 +1152,56 @@ helper.defaultsDialog = (function () {
|
|||
privateScope.setSettings = function (selectedDefaultPreset) {
|
||||
var currentControlProfile = parseInt($("#profilechange").val());
|
||||
var currentBatteryProfile = parseInt($("#batteryprofilechange").val());
|
||||
|
||||
var controlProfileSettings = [];
|
||||
var batterySettings = [];
|
||||
var miscSettings = [];
|
||||
|
||||
selectedDefaultPreset.settings.forEach(input => {
|
||||
if (FC.isControlProfileParameter(input.key)) {
|
||||
controlProfileSettings.push(input);
|
||||
} else if (FC.isBatteryProfileParameter(input.key)) {
|
||||
batterySettings.push(input);
|
||||
} else {
|
||||
miscSettings.push(input);
|
||||
}
|
||||
});
|
||||
|
||||
//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) {
|
||||
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
|
||||
var settingsChainer = MSPChainerClass();
|
||||
var chain = [];
|
||||
|
||||
miscSettings.forEach(input => {
|
||||
chain.push(function (callback) {
|
||||
mspHelper.setSetting(input.key, input.value, callback);
|
||||
});
|
||||
});
|
||||
|
||||
for (var i = 0; i < 3; i++ ) {
|
||||
chain.push(function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [i], false, callback);
|
||||
});
|
||||
controlProfileSettings.forEach(input => {
|
||||
chain.push(function (callback) {
|
||||
mspHelper.setSetting(input.key, input.value, callback);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
for (var i = 0; i < 3; i++ ) {
|
||||
chain.push(function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [i], false, callback);
|
||||
});
|
||||
batterySettings.forEach(input => {
|
||||
chain.push(function (callback) {
|
||||
mspHelper.setSetting(input.key, input.value, callback);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Set Mixers
|
||||
if (selectedDefaultPreset.mixerToApply) {
|
||||
let currentMixerPreset = helper.mixer.getById(selectedDefaultPreset.mixerToApply);
|
||||
|
||||
|
@ -1201,54 +1218,28 @@ helper.defaultsDialog = (function () {
|
|||
MOTOR_RULES.cleanup();
|
||||
MOTOR_RULES.inflate();
|
||||
|
||||
mspHelper.saveMixerConfig(function() {
|
||||
mspHelper.sendServoMixer(function () {
|
||||
mspHelper.sendMotorMixer(function () {
|
||||
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 {
|
||||
MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [currentControlProfile], false, function() {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [currentBatteryProfile], false, privateScope.finalize(selectedDefaultPreset));
|
||||
});
|
||||
chain = chain.concat([
|
||||
mspHelper.saveMixerConfig,
|
||||
mspHelper.sendServoMixer,
|
||||
mspHelper.sendMotorMixer
|
||||
]);
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
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);
|
||||
chain.push(function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [currentControlProfile], false, callback);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
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);
|
||||
chain.push(function (callback) {
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE, [currentBatteryProfile], false, callback);
|
||||
});
|
||||
|
||||
settingsChainer.setChain(chain);
|
||||
settingsChainer.setExitPoint(function () {
|
||||
privateScope.finalize(selectedDefaultPreset);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
return;
|
||||
};
|
||||
|
||||
settingsChainer.execute();
|
||||
}
|
||||
|
||||
privateScope.onPresetClick = function (event) {
|
||||
savingDefaultsModal = new jBox('Modal', {
|
||||
|
|
2
js/fc.js
2
js/fc.js
|
@ -1443,8 +1443,6 @@ var FC = {
|
|||
'max_angle_inclination_pit',
|
||||
'dterm_lpf_hz',
|
||||
'dterm_lpf_type',
|
||||
'dterm_lpf2_hz',
|
||||
'dterm_lpf2_type',
|
||||
'yaw_lpf_hz',
|
||||
'fw_iterm_throw_limit',
|
||||
'fw_reference_airspeed',
|
||||
|
|
|
@ -1496,6 +1496,9 @@ var mspHelper = (function (gui) {
|
|||
case MSPCodes.MSP2_INAV_OSD_SET_PREFERENCES:
|
||||
console.log('OSD preferences saved');
|
||||
break;
|
||||
case MSPCodes.MSP2_INAV_SELECT_BATTERY_PROFILE:
|
||||
console.log('Battery profile selected');
|
||||
break;
|
||||
case MSPCodes.MSPV2_INAV_OUTPUT_MAPPING:
|
||||
OUTPUT_MAPPING.flush();
|
||||
for (i = 0; i < data.byteLength; ++i)
|
||||
|
@ -2969,7 +2972,7 @@ var mspHelper = (function (gui) {
|
|||
// prepare for next iteration
|
||||
idIndex++;
|
||||
if (idIndex == overrideIds.length) {
|
||||
nextFunction = callback;
|
||||
nextFunction = onCompleteCallback;
|
||||
|
||||
}
|
||||
MSP.send_message(MSPCodes.MSP2_INAV_SET_TIMER_OUTPUT_MODE, buffer, false, nextFunction);
|
||||
|
@ -3362,6 +3365,12 @@ var mspHelper = (function (gui) {
|
|||
|
||||
self.encodeSetting = function (name, value) {
|
||||
return this._getSetting(name).then(function (setting) {
|
||||
|
||||
if (!setting) {
|
||||
console.log("Setting invalid: " + name);
|
||||
return null;
|
||||
}
|
||||
|
||||
if (setting.table && !Number.isInteger(value)) {
|
||||
var found = false;
|
||||
for (var ii = 0; ii < setting.table.values.length; ii++) {
|
||||
|
@ -3409,7 +3418,11 @@ var mspHelper = (function (gui) {
|
|||
|
||||
self.setSetting = function (name, value, callback) {
|
||||
this.encodeSetting(name, value).then(function (data) {
|
||||
if (data) {
|
||||
return MSP.promise(MSPCodes.MSPV2_SET_SETTING, data).then(callback);
|
||||
} else {
|
||||
return Promise.resolve().then(callback);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -69,7 +69,10 @@ TABS.setup.initialize = function (callback) {
|
|||
GUI.log(chrome.i18n.getMessage('initialSetupSettingsRestored'));
|
||||
|
||||
GUI.tab_switch_cleanup(function () {
|
||||
TABS.setup.initialize();
|
||||
MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function() {
|
||||
GUI.log(chrome.i18n.getMessage('deviceRebooting'));
|
||||
GUI.handleReconnect();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue