mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-16 12:55:14 +03:00
RFC feedforward max_rate_limit and jitter_factor
This commit is contained in:
parent
dd183f0412
commit
a11c7616a5
4 changed files with 49 additions and 11 deletions
|
@ -1791,6 +1791,18 @@
|
||||||
"pidTuningDtermSetpointTransition": {
|
"pidTuningDtermSetpointTransition": {
|
||||||
"message": "D Setpoint transition"
|
"message": "D Setpoint transition"
|
||||||
},
|
},
|
||||||
|
"pidTuningFeedforwardMaxRateLimit": {
|
||||||
|
"message": "Max Rate Limit"
|
||||||
|
},
|
||||||
|
"pidTuningFeedforwardMaxRateLimitHelp": {
|
||||||
|
"message": "Attenuates feedforward towards zero as the sticks move quickly towards maximum deflection (maximum set turn rate), eg at the start of a quick flip or roll, to minimise overshoot. Does nothing at the end of a flip or roll. Lower values make the attenuation start earlier. Usually this value does not require modification. The highest value consistent with acceptable overshoot at the start of rolls or flips is best."
|
||||||
|
},
|
||||||
|
"pidTuningFeedforwardJitter": {
|
||||||
|
"message": "Jitter Reduction"
|
||||||
|
},
|
||||||
|
"pidTuningFeedforwardJitterHelp": {
|
||||||
|
"message": "Jitter reduction reduces Feedforward when the sticks move slowly. This allows smooth, jitter-free flight when making smooth slow arcs, yet provides full feedforward without any delay when the sticks are moved quickly. A higher threshold value (10-12) is more useful for cinematic or HD freestyle purposes, and a slightly lower value (5) better for racing or higher speed RC links."
|
||||||
|
},
|
||||||
"pidTuningDtermSetpoint": {
|
"pidTuningDtermSetpoint": {
|
||||||
"message": "D Setpoint Weight"
|
"message": "D Setpoint Weight"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1178,6 +1178,8 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
||||||
FC.ADVANCED_TUNING.feedforward_averaging = data.readU8();
|
FC.ADVANCED_TUNING.feedforward_averaging = data.readU8();
|
||||||
FC.ADVANCED_TUNING.feedforward_smooth_factor = data.readU8();
|
FC.ADVANCED_TUNING.feedforward_smooth_factor = data.readU8();
|
||||||
FC.ADVANCED_TUNING.feedforward_boost = data.readU8();
|
FC.ADVANCED_TUNING.feedforward_boost = data.readU8();
|
||||||
|
FC.ADVANCED_TUNING.feedforward_max_rate_limit = data.readU8();
|
||||||
|
FC.ADVANCED_TUNING.feedforward_jitter_factor = data.readU8();
|
||||||
FC.ADVANCED_TUNING.vbat_sag_compensation = data.readU8();
|
FC.ADVANCED_TUNING.vbat_sag_compensation = data.readU8();
|
||||||
FC.ADVANCED_TUNING.thrustLinearization = data.readU8();
|
FC.ADVANCED_TUNING.thrustLinearization = data.readU8();
|
||||||
}
|
}
|
||||||
|
@ -2151,6 +2153,8 @@ MspHelper.prototype.crunch = function(code) {
|
||||||
buffer.push8(FC.ADVANCED_TUNING.feedforward_averaging)
|
buffer.push8(FC.ADVANCED_TUNING.feedforward_averaging)
|
||||||
.push8(FC.ADVANCED_TUNING.feedforward_smooth_factor)
|
.push8(FC.ADVANCED_TUNING.feedforward_smooth_factor)
|
||||||
.push8(FC.ADVANCED_TUNING.feedforward_boost)
|
.push8(FC.ADVANCED_TUNING.feedforward_boost)
|
||||||
|
.push8(FC.ADVANCED_TUNING.feedforward_max_rate_limit)
|
||||||
|
.push8(FC.ADVANCED_TUNING.feedforward_jitter_factor)
|
||||||
.push8(FC.ADVANCED_TUNING.vbat_sag_compensation)
|
.push8(FC.ADVANCED_TUNING.vbat_sag_compensation)
|
||||||
.push8(FC.ADVANCED_TUNING.thrustLinearization);
|
.push8(FC.ADVANCED_TUNING.thrustLinearization);
|
||||||
}
|
}
|
||||||
|
|
|
@ -509,6 +509,8 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
$('select[id="feedforwardAveraging"]').val(FC.ADVANCED_TUNING.feedforward_averaging);
|
$('select[id="feedforwardAveraging"]').val(FC.ADVANCED_TUNING.feedforward_averaging);
|
||||||
$('input[name="feedforwardSmoothFactor"]').val(FC.ADVANCED_TUNING.feedforward_smooth_factor);
|
$('input[name="feedforwardSmoothFactor"]').val(FC.ADVANCED_TUNING.feedforward_smooth_factor);
|
||||||
$('input[name="feedforwardBoost"]').val(FC.ADVANCED_TUNING.feedforward_boost);
|
$('input[name="feedforwardBoost"]').val(FC.ADVANCED_TUNING.feedforward_boost);
|
||||||
|
$('input[name="feedforwardMaxRateLimit"]').val(FC.ADVANCED_TUNING.feedforward_max_rate_limit);
|
||||||
|
$('input[name="feedforwardJitterFactor"]').val(FC.ADVANCED_TUNING.feedforward_jitter_factor);
|
||||||
|
|
||||||
// Vbat Sag Compensation
|
// Vbat Sag Compensation
|
||||||
const vbatSagCompensationCheck = $('input[id="vbatSagCompensation"]');
|
const vbatSagCompensationCheck = $('input[id="vbatSagCompensation"]');
|
||||||
|
@ -534,6 +536,8 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
} else {
|
} else {
|
||||||
$('.vbatSagCompensation').hide();
|
$('.vbatSagCompensation').hide();
|
||||||
$('.thrustLinearization').hide();
|
$('.thrustLinearization').hide();
|
||||||
|
$('.feedforwardMaxRateLimit').hide();
|
||||||
|
$('.feedforwardJitterFactor').hide();
|
||||||
|
|
||||||
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_40)) {
|
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_40)) {
|
||||||
$('.pid_tuning .ROLL input[name="f"]').val(FC.ADVANCED_TUNING.feedforwardRoll > 0 ? FC.ADVANCED_TUNING.feedforwardRoll : PID_DEFAULT[4]);
|
$('.pid_tuning .ROLL input[name="f"]').val(FC.ADVANCED_TUNING.feedforwardRoll > 0 ? FC.ADVANCED_TUNING.feedforwardRoll : PID_DEFAULT[4]);
|
||||||
|
@ -1066,6 +1070,8 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
FC.ADVANCED_TUNING.feedforward_averaging = $('select[id="feedforwardAveraging"]').val();
|
FC.ADVANCED_TUNING.feedforward_averaging = $('select[id="feedforwardAveraging"]').val();
|
||||||
FC.ADVANCED_TUNING.feedforward_smooth_factor = parseInt($('input[name="feedforwardSmoothFactor"]').val());
|
FC.ADVANCED_TUNING.feedforward_smooth_factor = parseInt($('input[name="feedforwardSmoothFactor"]').val());
|
||||||
FC.ADVANCED_TUNING.feedforward_boost = parseInt($('input[name="feedforwardBoost"]').val());
|
FC.ADVANCED_TUNING.feedforward_boost = parseInt($('input[name="feedforwardBoost"]').val());
|
||||||
|
FC.ADVANCED_TUNING.feedforward_max_rate_limit = parseInt($('input[name="feedforwardMaxRateLimit"]').val());
|
||||||
|
FC.ADVANCED_TUNING.feedforward_jitter_factor = parseInt($('input[name="feedforwardJitterFactor"]').val());
|
||||||
FC.FILTER_CONFIG.dyn_lpf_curve_expo = parseInt($('.pid_filter input[name="dtermLowpassDynExpo"]').val());
|
FC.FILTER_CONFIG.dyn_lpf_curve_expo = parseInt($('.pid_filter input[name="dtermLowpassDynExpo"]').val());
|
||||||
FC.ADVANCED_TUNING.vbat_sag_compensation = $('input[id="vbatSagCompensation"]').is(':checked') ? parseInt($('input[name="vbatSagValue"]').val()) : 0;
|
FC.ADVANCED_TUNING.vbat_sag_compensation = $('input[id="vbatSagCompensation"]').is(':checked') ? parseInt($('input[name="vbatSagValue"]').val()) : 0;
|
||||||
FC.ADVANCED_TUNING.thrustLinearization = $('input[id="thrustLinearization"]').is(':checked') ? parseInt($('input[name="thrustLinearValue"]').val()) : 0;
|
FC.ADVANCED_TUNING.thrustLinearization = $('input[id="thrustLinearization"]').is(':checked') ? parseInt($('input[name="thrustLinearValue"]').val()) : 0;
|
||||||
|
|
|
@ -605,12 +605,19 @@
|
||||||
<div class="helpicon cf_tip" i18n_title="pidTuningFeedforwardGroupHelp"></div>
|
<div class="helpicon cf_tip" i18n_title="pidTuningFeedforwardGroupHelp"></div>
|
||||||
<span i18n="pidTuningFeedforwardGroup"></span>
|
<span i18n="pidTuningFeedforwardGroup"></span>
|
||||||
|
|
||||||
<span class="feedforwardTransition suboption">
|
<span class="feedforwardJitterFactor suboption">
|
||||||
<input type="number" name="feedforwardTransition-number" step="0.01" min="0.00" max="1.00"/>
|
<input type="number" name="feedforwardJitterFactor" step="1" min="0" max="20"/>
|
||||||
<label>
|
<label>
|
||||||
<span i18n="pidTuningFeedforwardTransition"></span>
|
<span i18n="pidTuningFeedforwardJitter"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningFeedforwardJitterHelp"></div>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="feedforwardOption feedforwardSmoothFactor suboption">
|
||||||
|
<input type="number" name="feedforwardSmoothFactor" step="1" min="0" max="75" />
|
||||||
|
<label for="feedforwardSmoothFactor">
|
||||||
|
<span i18n="pidTuningFeedforwardSmoothFactor"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="helpicon cf_tip" i18n_title="pidTuningFeedforwardTransitionHelp"></div>
|
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="feedforwardOption feedforwardAveraging suboption">
|
<span class="feedforwardOption feedforwardAveraging suboption">
|
||||||
|
@ -625,19 +632,28 @@
|
||||||
</label>
|
</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="feedforwardOption feedforwardSmoothFactor suboption">
|
|
||||||
<input type="number" name="feedforwardSmoothFactor" step="1" min="0" max="75" />
|
|
||||||
<label for="feedforwardSmoothFactor">
|
|
||||||
<span i18n="pidTuningFeedforwardSmoothFactor"></span>
|
|
||||||
</label>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span class="feedforwardOption feedforwardBoost suboption">
|
<span class="feedforwardOption feedforwardBoost suboption">
|
||||||
<input type="number" name="feedforwardBoost" step="1" min="0" max="50" />
|
<input type="number" name="feedforwardBoost" step="1" min="0" max="50" />
|
||||||
<label for="feedforwardBoost">
|
<label for="feedforwardBoost">
|
||||||
<span i18n="pidTuningFeedforwardBoost"></span>
|
<span i18n="pidTuningFeedforwardBoost"></span>
|
||||||
</label>
|
</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span class="feedforwardMaxRateLimit suboption">
|
||||||
|
<input type="number" name="feedforwardMaxRateLimit" step="1" min="0" max="150"/>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningFeedforwardMaxRateLimit"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningFeedforwardMaxRateLimitHelp"></div>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="feedforwardTransition suboption">
|
||||||
|
<input type="number" name="feedforwardTransition-number" step="0.01" min="0.00" max="1.00"/>
|
||||||
|
<label>
|
||||||
|
<span i18n="pidTuningFeedforwardTransition"></span>
|
||||||
|
</label>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="pidTuningFeedforwardTransitionHelp"></div>
|
||||||
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue