mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-26 17:55:24 +03:00
Merge branch 'add_filter_settings' of https://github.com/mikeller/betaflight-configurator
This commit is contained in:
commit
7f1848aeb5
4 changed files with 621 additions and 423 deletions
|
@ -776,8 +776,11 @@
|
||||||
"pidTuningUpgradeFirmwareToChangePidController": {
|
"pidTuningUpgradeFirmwareToChangePidController": {
|
||||||
"message": "<span style=\"color: red\">Changing PID controller disabled - you can change it via the CLI.</span> You have firmware with API version <span style=\"color: red\">$1</span>, but this functionality requires requires <span style=\"color: #ffbb00\">$2</span>."
|
"message": "<span style=\"color: red\">Changing PID controller disabled - you can change it via the CLI.</span> You have firmware with API version <span style=\"color: red\">$1</span>, but this functionality requires requires <span style=\"color: #ffbb00\">$2</span>."
|
||||||
},
|
},
|
||||||
"pidTuningName": {
|
"pidTuningSubTabPid": {
|
||||||
"message": "Name"
|
"message": "PID Settings"
|
||||||
|
},
|
||||||
|
"pidTuningSubTabFilter": {
|
||||||
|
"message": "Filter Settings"
|
||||||
},
|
},
|
||||||
"pidTuningShowAllPids": {
|
"pidTuningShowAllPids": {
|
||||||
"message": "Show all PIDs"
|
"message": "Show all PIDs"
|
||||||
|
@ -1623,17 +1626,53 @@
|
||||||
"pidTuningLevelHelp": {
|
"pidTuningLevelHelp": {
|
||||||
"message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the values differently. Please check the documentation."
|
"message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the values differently. Please check the documentation."
|
||||||
},
|
},
|
||||||
"pidTuningLfpFilters": {
|
"pidTuningNonProfileFilterSettings": {
|
||||||
"message": "LFP Filters"
|
"message": "Profile independent Filter Settings"
|
||||||
},
|
},
|
||||||
"pidTuningGyro": {
|
"pidTuningGyroLowpassFrequency": {
|
||||||
"message": "Gyro Soft (Hz)"
|
"message": "Gyro Soft Lowpass Frequency (Hz)"
|
||||||
},
|
},
|
||||||
"pidTuningDTerm": {
|
"pidTuningGyroLowpassFrequencyHelp": {
|
||||||
"message": "D Term (Hz)"
|
"message": "Gyro Soft Lowpass Frequency (Hz)"
|
||||||
},
|
},
|
||||||
"pidTuningYaw": {
|
"pidTuningGyroNotchFrequency": {
|
||||||
"message": "Yaw (Hz)"
|
"message": "Gyro Notch Filter Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningGyroNotchFrequencyHelp": {
|
||||||
|
"message": "Gyro Notch Filter Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningGyroNotchCutoff": {
|
||||||
|
"message": "Gyro Notch Filter Cutoff Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningGyroNotchCutoffHelp": {
|
||||||
|
"message": "Gyro Notch Filter Cutoff Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningFilterSettings": {
|
||||||
|
"message": "Filter Settings"
|
||||||
|
},
|
||||||
|
"pidTuningDTermLowpassFrequency": {
|
||||||
|
"message": "D Term Lowpass Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningDTermLowpassFrequencyHelp": {
|
||||||
|
"message": "D Term Lowpass Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningDTermNotchFrequency": {
|
||||||
|
"message": "D Term Notch Filter Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningDTermNotchFrequencyHelp": {
|
||||||
|
"message": "D Term Notch Filter Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningDTermNotchCutoff": {
|
||||||
|
"message": "D Term Notch Filter Cutoff (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningDTermNotchCutoffHelp": {
|
||||||
|
"message": "D Term Notch Filter Cutoff (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningYawLowpassFrequency": {
|
||||||
|
"message": "Yaw Lowpass Frequency (Hz)"
|
||||||
|
},
|
||||||
|
"pidTuningYawLowpassFrequencyHelp": {
|
||||||
|
"message": "Yaw Lowpass Frequency (Hz)"
|
||||||
},
|
},
|
||||||
"pidTuningVbatPidCompensation": {
|
"pidTuningVbatPidCompensation": {
|
||||||
"message": "Vbat PID Compensation"
|
"message": "Vbat PID Compensation"
|
||||||
|
|
|
@ -242,7 +242,7 @@
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
border-right: 1px solid #ccc;
|
border-right: 1px solid #ccc;
|
||||||
width: calc(100% -1px);
|
width: calc(100% - 1px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .pid_titlebar th:first-child {
|
.tab-pid_tuning .pid_titlebar th:first-child {
|
||||||
|
@ -305,6 +305,33 @@
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .tab_container {
|
||||||
|
float: top;
|
||||||
|
width: 300px;
|
||||||
|
height: 20px;
|
||||||
|
border-right-width: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .tab_container td {
|
||||||
|
background-color: #2e2e2e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .tab_container td a {
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .tab_container td.active {
|
||||||
|
background-color: #ffbb00;
|
||||||
|
color: #000;
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .tab_container td.active a {
|
||||||
|
background-color: #ffbb00;
|
||||||
|
color: #000;
|
||||||
|
text-shadow: 0px 1px rgba(255, 255, 255, 0.45);
|
||||||
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .single-field {
|
.tab-pid_tuning .single-field {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
@ -374,7 +401,7 @@
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
color: #828282;
|
color: #828282;
|
||||||
/* font-family: 'open_sans', Arial; */
|
/* font-family: 'open_sans', Arial; */
|
||||||
background-image: linear-gradient(-45deg, rgba(255, 255, 255, .2) 10%, transparent 10%, transparent 20%, rgba(255, 255, 255, .2) 20%, rgba(255, 255, 255, .2) 30%, transparent 30%, transparent 40%, rgba(255, 255, 255, .2) 40%, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent 60%, rgba(255, 255, 255, .2) 60%, rgba(255, 255, 255, .2) 70%, transparent 70%, transparent 80%, rgba(255, 255, 255, .2) 80%, rgba(255, 255, 255, .2) 90%, transparent 90%, transparent 100%, rgba(255, 255, 255, .2) 100%, transparent);
|
background-image: linear-gradient(315deg, rgba(255, 255, 255, .2) 10%, transparent 10%, transparent 20%, rgba(255, 255, 255, .2) 20%, rgba(255, 255, 255, .2) 30%, transparent 30%, transparent 40%, rgba(255, 255, 255, .2) 40%, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent 60%, rgba(255, 255, 255, .2) 60%, rgba(255, 255, 255, .2) 70%, transparent 70%, transparent 80%, rgba(255, 255, 255, .2) 80%, rgba(255, 255, 255, .2) 90%, transparent 90%, transparent 100%, rgba(255, 255, 255, .2) 100%, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.fancy.header th {
|
.fancy.header th {
|
||||||
|
@ -383,7 +410,6 @@
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.pid_mode {
|
.pid_mode {
|
||||||
width: calc(100% - 5px);
|
width: calc(100% - 5px);
|
||||||
height: 20px;
|
height: 20px;
|
||||||
|
@ -399,7 +425,7 @@
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
color: #828282;
|
color: #828282;
|
||||||
font-family: 'open_sans', Arial;
|
font-family: 'open_sans', Arial;
|
||||||
background-image: linear-gradient(-45deg, rgba(255, 255, 255, .2) 10%, transparent 10%, transparent 20%,
|
background-image: linear-gradient(315deg, rgba(255, 255, 255, .2) 10%, transparent 10%, transparent 20%,
|
||||||
rgba(255, 255, 255, .2) 20%, rgba(255, 255, 255, .2) 30%, transparent 30%, transparent 40%,
|
rgba(255, 255, 255, .2) 20%, rgba(255, 255, 255, .2) 30%, transparent 30%, transparent 40%,
|
||||||
rgba(255, 255, 255, .2) 40%, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent 60%,
|
rgba(255, 255, 255, .2) 40%, rgba(255, 255, 255, .2) 50%, transparent 50%, transparent 60%,
|
||||||
rgba(255, 255, 255, .2) 60%, rgba(255, 255, 255, .2) 70%, transparent 70%, transparent 80%,
|
rgba(255, 255, 255, .2) 60%, rgba(255, 255, 255, .2) 70%, transparent 70%, transparent 80%,
|
||||||
|
|
|
@ -4,11 +4,6 @@
|
||||||
<div class="cf_doc_version_bt">
|
<div class="cf_doc_version_bt">
|
||||||
<a id="button-documentation" href="https://github.com/betaflight/betaflight/releases" target="_blank"></a>
|
<a id="button-documentation" href="https://github.com/betaflight/betaflight/releases" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="note" style="margin-bottom: 25px;">
|
|
||||||
<div class="note_spacer">
|
|
||||||
<p i18n="tuningHelp"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cf_column">
|
<div class="cf_column">
|
||||||
<div class="profile single-field">
|
<div class="profile single-field">
|
||||||
<div class="helpicon cf_tip" i18n_title="pidTuningProfileTip" style="margin-top: 5px;"></div>
|
<div class="helpicon cf_tip" i18n_title="pidTuningProfileTip" style="margin-top: 5px;"></div>
|
||||||
|
@ -50,10 +45,23 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="tab_container">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td class="pid active">
|
||||||
|
<a href="#" i18n="pidTuningSubTabPid" />
|
||||||
|
</td>
|
||||||
|
<td class="filter">
|
||||||
|
<a href="#" i18n="pidTuningSubTabFilter" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
<form name="pid-tuning" id="pid-tuning">
|
<form name="pid-tuning" id="pid-tuning">
|
||||||
|
<div class="subtab-pid">
|
||||||
<div class="clear-both"></div>
|
<div class="clear-both"></div>
|
||||||
<div class="cf_column twothird">
|
<div class="cf_column twothird">
|
||||||
<div class="gui_box grey">
|
<div class="gui_box grey topspacer">
|
||||||
<table class="pid_titlebar">
|
<table class="pid_titlebar">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="name" i18n="pidTuningName"></th>
|
<th class="name" i18n="pidTuningName"></th>
|
||||||
|
@ -226,30 +234,6 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div id="pid_filter" class="gui_box grey topspacer pid_tuning">
|
|
||||||
<table class="pid_titlebar">
|
|
||||||
<tr>
|
|
||||||
<th class="third" i18n="pidTuningGyro"></th>
|
|
||||||
<th class="third" i18n="pidTuningDTerm"></th>
|
|
||||||
<th class="third" i18n="pidTuningYaw"></th>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th colspan="3">
|
|
||||||
<div class="pid_mode">
|
|
||||||
<div i18n="pidTuningLfpFilters" style="float: left;"> </div>
|
|
||||||
<div class="helpicon cf_tip" i18n_title="pidTuningFilterTip"></div>
|
|
||||||
</div>
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="third"><input type="number" name="gyro" step="1" min="0" max="255" /></td>
|
|
||||||
<td class="third"><input type="number" name="dterm" step="1" min="0" max="500" /></td>
|
|
||||||
<td class="third"><input type="number" name="yaw" step="1" min="0" max="500" /></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="gui_box grey topspacer">
|
<div class="gui_box grey topspacer">
|
||||||
<table class="pid_titlebar new_rates">
|
<table class="pid_titlebar new_rates">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -300,7 +284,7 @@
|
||||||
<table class="compensation">
|
<table class="compensation">
|
||||||
<tr class="delta">
|
<tr class="delta">
|
||||||
<td>
|
<td>
|
||||||
<select name="delta-select">
|
<select id="delta-select">
|
||||||
<option value="0" i18n="pidTuningDeltaError"/>
|
<option value="0" i18n="pidTuningDeltaError"/>
|
||||||
<option value="1" i18n="pidTuningDeltaMeasurement"/>
|
<option value="1" i18n="pidTuningDeltaMeasurement"/>
|
||||||
</select>
|
</select>
|
||||||
|
@ -338,7 +322,7 @@
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<td><input type="checkbox" name="vbatpidcompensation" class="toggle" /></td>
|
<td><input type="checkbox" id="vbatpidcompensation" class="toggle" /></td>
|
||||||
<td colspan=2>
|
<td colspan=2>
|
||||||
<div>
|
<div>
|
||||||
<label for="vbatpidcompensation">
|
<label for="vbatpidcompensation">
|
||||||
|
@ -463,6 +447,126 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="subtab-filter" style="display: none;">
|
||||||
|
<div class="clear-both"></div>
|
||||||
|
<div class="note topspacer">
|
||||||
|
<div class="note_spacer">
|
||||||
|
<p i18n="tuningHelp"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cf_column twothird">
|
||||||
|
<div class="gui_box grey topspacer pid_filter">
|
||||||
|
<table class="pid_titlebar new_rates">
|
||||||
|
<tr>
|
||||||
|
<th i18n="pidTuningNonProfileFilterSettings"></th>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="number" class="nonProfile" name="gyroLowpassFrequency" step="1" min="0" max="255"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningGyroLowpassFrequency"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningGyroLowpassFrequencyHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="newFilter">
|
||||||
|
<td>
|
||||||
|
<input type="number" class="nonProfile" name="gyroNotchFrequency" step="1" min="0" max="500"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningGyroNotchFrequency"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningGyroNotchFrequencyHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="newFilter">
|
||||||
|
<td>
|
||||||
|
<input type="number" class="nonProfile" name="gyroNotchCutoff" step="1" min="0" max="500"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningGyroNotchCutoff"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningGyroNotchCutoffHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="gui_box grey topspacer pid_filter">
|
||||||
|
<table class="pid_titlebar new_rates">
|
||||||
|
<tr>
|
||||||
|
<th i18n="pidTuningFilterSettings"></th>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="dtermLowpassFrequency" step="1" min="0" max="500"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningDtermLowpassFrequency"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningDtermLowpassFrequencyHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="newFilter">
|
||||||
|
<td>
|
||||||
|
<input type="number" name="dTermNotchFrequency" step="1" min="0" max="500"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningDTermNotchFrequency"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningDTermNotchFrequencyHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="newFilter">
|
||||||
|
<td>
|
||||||
|
<input type="number" name="dTermNotchCutoff" step="1" min="0" max="500"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningDTermNotchCutoff"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningDTermNotchCutoffHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="yawLowpassFrequency" step="1" min="0" max="500"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningYawLowpassFrequency"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningYawLowpassFrequencyHelp"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="clear-both"></div>
|
<div class="clear-both"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -59,7 +59,7 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "2.8.1")) {
|
if (semver.gte(CONFIG.flightControllerVersion, "2.8.1")) {
|
||||||
$('input[name="vbatpidcompensation"]').prop('checked', ADVANCED_TUNING.vbatPidCompensation !== 0);
|
$('input[name="#vbatpidcompensation"]').prop('checked', ADVANCED_TUNING.vbatPidCompensation !== 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "2.8.2")) {
|
if (semver.gte(CONFIG.flightControllerVersion, "2.8.2")) {
|
||||||
|
@ -227,7 +227,6 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
$('.pid_tuning input[name="yaw_rate"]').val(RC_tuning.yaw_rate.toFixed(2));
|
$('.pid_tuning input[name="yaw_rate"]').val(RC_tuning.yaw_rate.toFixed(2));
|
||||||
$('.pid_tuning input[name="rc_expo"]').val(RC_tuning.RC_EXPO.toFixed(2));
|
$('.pid_tuning input[name="rc_expo"]').val(RC_tuning.RC_EXPO.toFixed(2));
|
||||||
$('.pid_tuning input[name="rc_yaw_expo"]').val(RC_tuning.RC_YAW_EXPO.toFixed(2));
|
$('.pid_tuning input[name="rc_yaw_expo"]').val(RC_tuning.RC_YAW_EXPO.toFixed(2));
|
||||||
$('.pid_tuning input[name="rc_rate_yaw"]').val(RC_tuning.rcYawRate.toFixed(2));
|
|
||||||
|
|
||||||
$('.throttle input[name="mid"]').val(RC_tuning.throttle_MID.toFixed(2));
|
$('.throttle input[name="mid"]').val(RC_tuning.throttle_MID.toFixed(2));
|
||||||
$('.throttle input[name="expo"]').val(RC_tuning.throttle_EXPO.toFixed(2));
|
$('.throttle input[name="expo"]').val(RC_tuning.throttle_EXPO.toFixed(2));
|
||||||
|
@ -240,14 +239,25 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
$('.pid_tuning input[name="rc_expo"]').attr("rowspan", "3");
|
$('.pid_tuning input[name="rc_expo"]').attr("rowspan", "3");
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.pid_tuning input[name="gyro"]').val(FILTER_CONFIG.gyro_soft_lpf_hz);
|
if (semver.gte(CONFIG.flightControllerVersion, '2.9.0')) {
|
||||||
$('.pid_tuning input[name="dterm"]').val(FILTER_CONFIG.dterm_lpf_hz);
|
$('.pid_tuning input[name="rc_rate_yaw"]').val(RC_tuning.rcYawRate.toFixed(2));
|
||||||
$('.pid_tuning input[name="yaw"]').val(FILTER_CONFIG.yaw_lpf_hz);
|
$('.pid_filter input[name="gyroLowpassFrequency"]').val(FILTER_CONFIG.gyro_soft_lpf_hz);
|
||||||
|
$('.pid_filter input[name="dtermLowpassFrequency"]').val(FILTER_CONFIG.dterm_lpf_hz);
|
||||||
if (semver.lt(CONFIG.flightControllerVersion, "2.9.0")) {
|
$('.pid_filter input[name="yawLowpassFrequency"]').val(FILTER_CONFIG.yaw_lpf_hz);
|
||||||
$('.pid_filter').hide();
|
} else {
|
||||||
|
$('.tab-pid_tuning .subtab-filter').hide();
|
||||||
|
$('.tab-pid_tuning .tab_container').hide();
|
||||||
$('.pid_tuning input[name="rc_rate_yaw"]').hide();
|
$('.pid_tuning input[name="rc_rate_yaw"]').hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, '3.0.0')) {
|
||||||
|
$('.pid_filter input[name="gyroNotchFrequency"]').val(FILTER_CONFIG.gyro_soft_notch_hz);
|
||||||
|
$('.pid_filter input[name="gyroNotchCutoff"]').val(FILTER_CONFIG.gyro_soft_notch_cutoff);
|
||||||
|
$('.pid_filter input[name="dTermNotchFrequency"]').val(FILTER_CONFIG.dterm_notch_hz);
|
||||||
|
$('.pid_filter input[name="dTermNotchCutoff"]').val(FILTER_CONFIG.dterm_notch_cutoff);
|
||||||
|
} else {
|
||||||
|
$('.pid_filter .newFilter').hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function form_to_pid_and_rc() {
|
function form_to_pid_and_rc() {
|
||||||
|
@ -256,7 +266,7 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "2.8.1")) {
|
if (semver.gte(CONFIG.flightControllerVersion, "2.8.1")) {
|
||||||
ADVANCED_TUNING.vbatPidCompensation = $('input[name="vbatpidcompensation"]').is(':checked') ? 1 : 0;
|
ADVANCED_TUNING.vbatPidCompensation = $('input[name="#vbatpidcompensation"]').is(':checked') ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "2.8.2")) {
|
if (semver.gte(CONFIG.flightControllerVersion, "2.8.2")) {
|
||||||
|
@ -346,9 +356,16 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
|
|
||||||
RC_tuning.dynamic_THR_PID = parseFloat($('.tpa input[name="tpa"]').val());
|
RC_tuning.dynamic_THR_PID = parseFloat($('.tpa input[name="tpa"]').val());
|
||||||
RC_tuning.dynamic_THR_breakpoint = parseInt($('.tpa input[name="tpa-breakpoint"]').val());
|
RC_tuning.dynamic_THR_breakpoint = parseInt($('.tpa input[name="tpa-breakpoint"]').val());
|
||||||
FILTER_CONFIG.gyro_soft_lpf_hz = parseInt($('.pid_tuning input[name="gyro"]').val());
|
FILTER_CONFIG.gyro_soft_lpf_hz = parseInt($('.pid_filter input[name="gyroLowpassFrequency"]').val());
|
||||||
FILTER_CONFIG.dterm_lpf_hz = parseInt($('.pid_tuning input[name="dterm"]').val());
|
FILTER_CONFIG.dterm_lpf_hz = parseInt($('.pid_filter input[name="dtermLowpassFrequency"]').val());
|
||||||
FILTER_CONFIG.yaw_lpf_hz = parseInt($('.pid_tuning input[name="yaw"]').val());
|
FILTER_CONFIG.yaw_lpf_hz = parseInt($('.pid_filter input[name="yawLowpassFrequency"]').val());
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.flightControllerVersion, '3.0.0')) {
|
||||||
|
FILTER_CONFIG.gyro_soft_notch_hz = parseInt($('.pid_filter input[name="gyroNotchFrequency"]').val());
|
||||||
|
FILTER_CONFIG.gyro_soft_notch_cutoff = parseInt($('.pid_filter input[name="gyroNotchCutoff"]').val());
|
||||||
|
FILTER_CONFIG.dterm_notch_hz = parseInt($('.pid_filter input[name="dTermNotchFrequency"]').val());
|
||||||
|
FILTER_CONFIG.dterm_notch_cutoff = parseInt($('.pid_filter input[name="dTermNotchCutoff"]').val());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showAllPids() {
|
function showAllPids() {
|
||||||
|
@ -360,10 +377,6 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
|
|
||||||
$('#pid_main').show();
|
$('#pid_main').show();
|
||||||
|
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, "2.9.0")) {
|
|
||||||
$('#pid_filter').show();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (have_sensor(CONFIG.activeSensors, 'acc')) {
|
if (have_sensor(CONFIG.activeSensors, 'acc')) {
|
||||||
$('#pid_accel').show();
|
$('#pid_accel').show();
|
||||||
$('#pid_level').show();
|
$('#pid_level').show();
|
||||||
|
@ -482,6 +495,22 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
self.currentRates.pitch_rate = RC_tuning.roll_pitch_rate;
|
self.currentRates.pitch_rate = RC_tuning.roll_pitch_rate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('.tab-pid_tuning .tab_container .pid').on('click', function () {
|
||||||
|
$('.tab-pid_tuning .subtab-pid').show();
|
||||||
|
$('.tab-pid_tuning .subtab-filter').hide();
|
||||||
|
|
||||||
|
$('.tab-pid_tuning .tab_container td').removeClass('active');
|
||||||
|
$(this).addClass('active');
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.tab-pid_tuning .tab_container .filter').on('click', function () {
|
||||||
|
$('.tab-pid_tuning .subtab-filter').show();
|
||||||
|
$('.tab-pid_tuning .subtab-pid').hide();
|
||||||
|
|
||||||
|
$('.tab-pid_tuning .tab_container td').removeClass('active');
|
||||||
|
$(this).addClass('active');
|
||||||
|
});
|
||||||
|
|
||||||
var showAllButton = $('#showAllPids');
|
var showAllButton = $('#showAllPids');
|
||||||
|
|
||||||
function updatePidDisplay() {
|
function updatePidDisplay() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue