some rationalization in PID table generation and PID names no longer taken directly from FC

pull/166/head
Pawel Spychalski (DzikuVx) 8 years ago
parent 5cd3321e33
commit 973aec053e

@ -11534,6 +11534,25 @@ var FC = {
"Attitude",
"Cruise"
]
},
getPidNames: function () {
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
return PID_names;
} else {
return [
'Roll',
'Pitch',
'Yaw',
'Position Z',
'Position XY',
'Velocity XY',
'Surface',
'Level',
'Heading',
'Velocity Z'
];
}
}
};
@ -20128,38 +20147,21 @@ TABS.pid_tuning.initialize = function (callback) {
$('#content').load("./tabs/pid_tuning.html", process_html);
}
var sectionClasses = [
'ROLL', // 0
'PITCH', // 1
'YAW', // 2
'ALT', // 3
'Pos', // 4
'PosR', // 5
'NavR', // 6
'LEVEL', // 7
'MAG', // 8
'Vario' // 9
];
function pid_and_rc_to_form() {
// Fill in the data from PIDs array
var i;
/*
* Iterate over registered sections/PID controllers
*/
for (var sectionId = 0; sectionId < sectionClasses.length; sectionId++) {
var pidNames = FC.getPidNames();
i = 0;
/*
* Now, iterate over inputs inside PID constroller section
*/
$('.pid_tuning .' + sectionClasses[sectionId] + ' input').each(function () {
$(this).val(PIDs[sectionId][i]);
i++;
});
$('[data-pid-bank-position]').each(function () {
var $this = $(this),
bankPosition = $this.data('pid-bank-position');
}
$this.find('td:first').text(pidNames[bankPosition]);
$this.find('input').each(function (index) {
$(this).val(PIDs[bankPosition][index]);
});
});
// Fill in data from RC_tuning object
$('.rate-tpa input[name="roll-pitch"]').val(RC_tuning.roll_pitch_rate.toFixed(2));
@ -20180,14 +20182,14 @@ TABS.pid_tuning.initialize = function (callback) {
function form_to_pid_and_rc() {
var i;
for (var sectionId = 0; sectionId < sectionClasses.length; sectionId++) {
i = 0;
$('table.pid_tuning tr.' + sectionClasses[sectionId] + ' input').each(function () {
PIDs[sectionId][i] = parseFloat($(this).val());
i++;
});
}
$('[data-pid-bank-position]').each(function () {
var $this = $(this),
bankPosition = $this.data('pid-bank-position');
$this.find('input').each(function (index) {
PIDs[bankPosition][index] = parseFloat($(this).val());
})
});
// catch RC_tuning changes
RC_tuning.roll_pitch_rate = parseFloat($('.rate-tpa input[name="roll-pitch"]').val());
@ -20238,16 +20240,6 @@ TABS.pid_tuning.initialize = function (callback) {
updateActivatedTab();
});
var i;
$('.pid_tuning tr').each(function(){
for(i = 0; i < PID_names.length; i++) {
if($(this).hasClass(PID_names[i])) {
$(this).find('td:first').text(PID_names[i]);
}
}
});
pid_and_rc_to_form();
if (FC.isRatesInDps()) {
@ -20276,11 +20268,11 @@ TABS.pid_tuning.initialize = function (callback) {
$gyroSoftLpfHz.val(FILTER_CONFIG.gyroSoftLpfHz);
$accSoftLpfHz.val(INAV_PID_CONFIG.accSoftLpfHz);
$dtermLpfHz.val(FILTER_CONFIG.dtermLpfHz);
$yawLpfHz.val(FILTER_CONFIG.yawLpfHz),
$yawLpfHz.val(FILTER_CONFIG.yawLpfHz);
$rollPitchItermIgnoreRate.val(PID_ADVANCED.rollPitchItermIgnoreRate);
$yawItermIgnoreRate.val(PID_ADVANCED.yawItermIgnoreRate);
$axisAccelerationLimitRollPitch.val(PID_ADVANCED.axisAccelerationLimitRollPitch * 10);
$axisAccelerationLimitYaw.val(PID_ADVANCED.axisAccelerationLimitYaw * 10)
$axisAccelerationLimitYaw.val(PID_ADVANCED.axisAccelerationLimitYaw * 10);
$magHoldYawRate.change(function () {
INAV_PID_CONFIG.magHoldRateLimit = parseInt($magHoldYawRate.val(), 10);

@ -737,5 +737,24 @@ var FC = {
"Attitude",
"Cruise"
]
},
getPidNames: function () {
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
return PID_names;
} else {
return [
'Roll',
'Pitch',
'Yaw',
'Position Z',
'Position XY',
'Velocity XY',
'Surface',
'Level',
'Heading',
'Velocity Z'
];
}
}
};

@ -34,21 +34,21 @@
<div class="pid_mode" data-i18n="pidTuningBasic"></div>
</th>
</tr>
<tr class="ROLL">
<tr class="ROLL" data-pid-bank-position="0">
<!-- 0 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="PITCH">
<tr class="PITCH" data-pid-bank-position="1">
<!-- 1 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="YAW">
<tr class="YAW" data-pid-bank-position="2">
<!-- 2 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
@ -62,14 +62,14 @@
<div class="pid_mode" data-i18n="pidTuningAltitude"></div>
</th>
</tr>
<tr class="ALT">
<tr class="ALT" data-pid-bank-position="3">
<!-- 3 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="Vario">
<tr class="Vario" data-pid-bank-position="9">
<!-- 9 -->
<td>VEL</td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
@ -83,7 +83,7 @@
<div class="pid_mode" data-i18n="pidTuningMag"></div>
</th>
</tr>
<tr class="MAG">
<tr class="MAG" data-pid-bank-position="8">
<!-- 8 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
@ -97,21 +97,21 @@
<div class="pid_mode" data-i18n="pidTuningGps"></div>
</th>
</tr>
<tr class="Pos">
<tr class="Pos" data-pid-bank-position="4">
<!-- 4 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td></td>
</tr>
<tr class="PosR">
<tr class="PosR" data-pid-bank-position="5">
<!-- 5 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="NavR">
<tr class="NavR" data-pid-bank-position="6">
<!-- 6 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
@ -135,7 +135,7 @@
</div>
</th>
</tr>
<tr class="LEVEL">
<tr class="LEVEL" data-pid-bank-position="7">
<!-- 7 -->
<td></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>

@ -29,38 +29,21 @@ TABS.pid_tuning.initialize = function (callback) {
$('#content').load("./tabs/pid_tuning.html", process_html);
}
var sectionClasses = [
'ROLL', // 0
'PITCH', // 1
'YAW', // 2
'ALT', // 3
'Pos', // 4
'PosR', // 5
'NavR', // 6
'LEVEL', // 7
'MAG', // 8
'Vario' // 9
];
function pid_and_rc_to_form() {
// Fill in the data from PIDs array
var i;
/*
* Iterate over registered sections/PID controllers
*/
for (var sectionId = 0; sectionId < sectionClasses.length; sectionId++) {
i = 0;
/*
* Now, iterate over inputs inside PID constroller section
*/
$('.pid_tuning .' + sectionClasses[sectionId] + ' input').each(function () {
$(this).val(PIDs[sectionId][i]);
i++;
});
var pidNames = FC.getPidNames();
}
$('[data-pid-bank-position]').each(function () {
var $this = $(this),
bankPosition = $this.data('pid-bank-position');
$this.find('td:first').text(pidNames[bankPosition]);
$this.find('input').each(function (index) {
$(this).val(PIDs[bankPosition][index]);
});
});
// Fill in data from RC_tuning object
$('.rate-tpa input[name="roll-pitch"]').val(RC_tuning.roll_pitch_rate.toFixed(2));
@ -81,14 +64,14 @@ TABS.pid_tuning.initialize = function (callback) {
function form_to_pid_and_rc() {
var i;
for (var sectionId = 0; sectionId < sectionClasses.length; sectionId++) {
i = 0;
$('table.pid_tuning tr.' + sectionClasses[sectionId] + ' input').each(function () {
PIDs[sectionId][i] = parseFloat($(this).val());
i++;
});
}
$('[data-pid-bank-position]').each(function () {
var $this = $(this),
bankPosition = $this.data('pid-bank-position');
$this.find('input').each(function (index) {
PIDs[bankPosition][index] = parseFloat($(this).val());
})
});
// catch RC_tuning changes
RC_tuning.roll_pitch_rate = parseFloat($('.rate-tpa input[name="roll-pitch"]').val());
@ -139,16 +122,6 @@ TABS.pid_tuning.initialize = function (callback) {
updateActivatedTab();
});
var i;
$('.pid_tuning tr').each(function(){
for(i = 0; i < PID_names.length; i++) {
if($(this).hasClass(PID_names[i])) {
$(this).find('td:first').text(PID_names[i]);
}
}
});
pid_and_rc_to_form();
if (FC.isRatesInDps()) {
@ -177,11 +150,11 @@ TABS.pid_tuning.initialize = function (callback) {
$gyroSoftLpfHz.val(FILTER_CONFIG.gyroSoftLpfHz);
$accSoftLpfHz.val(INAV_PID_CONFIG.accSoftLpfHz);
$dtermLpfHz.val(FILTER_CONFIG.dtermLpfHz);
$yawLpfHz.val(FILTER_CONFIG.yawLpfHz),
$yawLpfHz.val(FILTER_CONFIG.yawLpfHz);
$rollPitchItermIgnoreRate.val(PID_ADVANCED.rollPitchItermIgnoreRate);
$yawItermIgnoreRate.val(PID_ADVANCED.yawItermIgnoreRate);
$axisAccelerationLimitRollPitch.val(PID_ADVANCED.axisAccelerationLimitRollPitch * 10);
$axisAccelerationLimitYaw.val(PID_ADVANCED.axisAccelerationLimitYaw * 10)
$axisAccelerationLimitYaw.val(PID_ADVANCED.axisAccelerationLimitYaw * 10);
$magHoldYawRate.change(function () {
INAV_PID_CONFIG.magHoldRateLimit = parseInt($magHoldYawRate.val(), 10);

Loading…
Cancel
Save