1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-23 16:25:19 +03:00

Merge branch 'Fix-Defaults-Dialog' into Autoland-7.0.1

This commit is contained in:
Andi Kanzler 2023-12-18 10:29:03 -03:00
commit f5670975b1
4 changed files with 114 additions and 109 deletions

View file

@ -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,86 +1152,94 @@ 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 () {
googleAnalytics.sendEvent('Setting', 'Defaults', selectedDefaultPreset.title);
var settingsChainer = MSPChainerClass();
var chain = [];
// If default preset is associated to a mixer, apply the mixer as well
if (selectedDefaultPreset.mixerToApply) {
let currentMixerPreset = helper.mixer.getById(selectedDefaultPreset.mixerToApply);
helper.mixer.loadServoRules(currentMixerPreset);
helper.mixer.loadMotorRules(currentMixerPreset);
MIXER_CONFIG.platformType = currentMixerPreset.platform;
MIXER_CONFIG.appliedMixerPreset = selectedDefaultPreset.mixerToApply;
MIXER_CONFIG.motorStopOnLow = (currentMixerPreset.motorStopOnLow === true) ? true : false;
MIXER_CONFIG.hasFlaps = (currentMixerPreset.hasFlaps === true) ? true : false;
SERVO_RULES.cleanup();
SERVO_RULES.inflate();
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));
});
}
})
});
};
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);
});
});
});
miscSettings.forEach(input => {
chain.push(function (callback) {
mspHelper.setSetting(input.key, input.value, 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);
});
});
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);
helper.mixer.loadServoRules(currentMixerPreset);
helper.mixer.loadMotorRules(currentMixerPreset);
MIXER_CONFIG.platformType = currentMixerPreset.platform;
MIXER_CONFIG.appliedMixerPreset = selectedDefaultPreset.mixerToApply;
MIXER_CONFIG.motorStopOnLow = (currentMixerPreset.motorStopOnLow === true) ? true : false;
MIXER_CONFIG.hasFlaps = (currentMixerPreset.hasFlaps === true) ? true : false;
SERVO_RULES.cleanup();
SERVO_RULES.inflate();
MOTOR_RULES.cleanup();
MOTOR_RULES.inflate();
chain = chain.concat([
mspHelper.saveMixerConfig,
mspHelper.sendServoMixer,
mspHelper.sendMotorMixer
]);
}
chain.push(function (callback) {
MSP.send_message(MSPCodes.MSP_SELECT_SETTING, [currentControlProfile], false, callback);
});
return;
};
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);
});
settingsChainer.execute();
}
privateScope.onPresetClick = function (event) {
savingDefaultsModal = new jBox('Modal', {

View file

@ -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',

View file

@ -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) {
return MSP.promise(MSPCodes.MSPV2_SET_SETTING, data).then(callback);
if (data) {
return MSP.promise(MSPCodes.MSPV2_SET_SETTING, data).then(callback);
} else {
return Promise.resolve().then(callback);
}
});
};

View file

@ -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();
});
});
});
}