Skip to content

Commit 90a0a94

Browse files
committed
Removed dynamic notch from features
1 parent 41747c6 commit 90a0a94

File tree

3 files changed

+68
-29
lines changed

3 files changed

+68
-29
lines changed

src/js/Features.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,13 @@ const Features = function (config) {
8484

8585
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_36)) {
8686
features.push(
87-
{bit: 28, group: 'antiGravity', name: 'ANTI_GRAVITY', haveTip: true, hideName: true},
88-
{bit: 29, group: 'other', name: 'DYNAMIC_FILTER'}
87+
{bit: 28, group: 'antiGravity', name: 'ANTI_GRAVITY', haveTip: true, hideName: true}
8988
);
89+
if (semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_44)) { // DYNAMIC_FILTER got removed from FEATURES in BF 4.3, so only push it if API < 1.44
90+
features.push(
91+
{bit: 29, group: 'other', name: 'DYNAMIC_FILTER'}
92+
);
93+
}
9094
}
9195

9296
if (!semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_36)) {

src/js/tabs/pid_tuning.js

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -379,51 +379,82 @@ TABS.pid_tuning.initialize = function (callback) {
379379
}
380380

381381
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_42)) {
382-
const dynamicNotchWidthPercent_e = $('.pid_filter input[name="dynamicNotchWidthPercent"]');
383-
const dynamicNotchQ_e = $('.pid_filter input[name="dynamicNotchQ"]');
384-
const dynamicNotchCount_e = $('.pid_filter input[name="dynamicNotchCount"]');
385382

386383
$('.smartfeedforward').hide();
387384

385+
// Dynamic Notch Filter
388386
if (FC.FEATURE_CONFIG.features.isEnabled('DYNAMIC_FILTER')) {
389387
$('.dynamicNotch').show();
390-
} else {
388+
} else if (semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_44)) { // DYNAMIC_FILTER got removed from FEATURES in BF 4.3, so only hide dynNotch if API < 1.44
391389
$('.dynamicNotch').hide();
392390
}
393-
$('.dynamicNotchRange').toggle(semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_43));
394-
$('.pid_filter select[name="dynamicNotchRange"]').val(FC.FILTER_CONFIG.dyn_notch_range);
391+
392+
const dynamicNotchRange_e = $('.pid_filter select[name="dynamicNotchRange"]');
393+
const dynamicNotchWidthPercent_e = $('.pid_filter input[name="dynamicNotchWidthPercent"]');
394+
const dynamicNotchQ_e = $('.pid_filter input[name="dynamicNotchQ"]');
395+
const dynamicNotchCount_e = $('.pid_filter input[name="dynamicNotchCount"]');
396+
const dynamicNotchMinHz_e = $('.pid_filter input[name="dynamicNotchMinHz"]');
397+
const dynamicNotchMaxHz_e = $('.pid_filter input[name="dynamicNotchMaxHz"]');
398+
399+
dynamicNotchRange_e.val(FC.FILTER_CONFIG.dyn_notch_range);
395400
dynamicNotchWidthPercent_e.val(FC.FILTER_CONFIG.dyn_notch_width_percent);
396401
dynamicNotchQ_e.val(FC.FILTER_CONFIG.dyn_notch_q);
397402
dynamicNotchCount_e.val(FC.FILTER_CONFIG.dyn_notch_count);
398-
$('.pid_filter input[name="dynamicNotchMinHz"]').val(FC.FILTER_CONFIG.dyn_notch_min_hz);
403+
dynamicNotchMinHz_e.val(FC.FILTER_CONFIG.dyn_notch_min_hz);
404+
399405
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_43)) {
400-
$('.pid_filter input[name="dynamicNotchMinHz"]').attr("max","250");
401-
$('.pid_filter input[name="dynamicNotchMaxHz"]').val(FC.FILTER_CONFIG.dyn_notch_max_hz);
406+
dynamicNotchMinHz_e.attr("max","250");
407+
dynamicNotchMaxHz_e.val(FC.FILTER_CONFIG.dyn_notch_max_hz);
402408
} else {
403409
$('.dynamicNotchMaxHz').hide();
404410
}
411+
412+
$('.dynamicNotchRange').toggle(semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_43));
413+
405414
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_44)) {
415+
406416
$('.dynamicNotchHelp').attr('title', i18n.getMessage('pidTuningMultiDynamicNotchFilterHelp'));
407417
$('.dynamicNotchWidthPercent').hide();
418+
419+
$('.pid_filter #dynamicNotchEnabled').change(function() {
420+
421+
let count = dynamicNotchCount_e.val();
422+
let checked = $(this).is(':checked');
423+
424+
dynamicNotchCount_e.attr('disabled', !checked);
425+
dynamicNotchQ_e.attr('disabled', !checked);
426+
dynamicNotchMinHz_e.attr('disabled', !checked);
427+
dynamicNotchMaxHz_e.attr('disabled', !checked);
428+
429+
if (count == 0) {
430+
dynamicNotchCount_e.val(FILTER_DEFAULT.dyn_notch_count);
431+
}
432+
433+
}).prop('checked', FC.FILTER_CONFIG.dyn_notch_count != 0).change();
434+
408435
} else {
409436
$('.dynamicNotchCount').hide();
410437
}
411438

439+
// RPM Filter
412440
$('.rpmFilter').toggle(FC.MOTOR_CONFIG.use_dshot_telemetry);
413441

414-
$('.pid_filter input[name="rpmFilterHarmonics"]').val(FC.FILTER_CONFIG.gyro_rpm_notch_harmonics);
415-
$('.pid_filter input[name="rpmFilterMinHz"]').val(FC.FILTER_CONFIG.gyro_rpm_notch_min_hz);
442+
const rpmFilterHarmonics_e = $('.pid_filter input[name="rpmFilterHarmonics"]');
443+
const rpmFilterMinHz_e = $('.pid_filter input[name="rpmFilterMinHz"]');
444+
445+
rpmFilterHarmonics_e.val(FC.FILTER_CONFIG.gyro_rpm_notch_harmonics);
446+
rpmFilterMinHz_e.val(FC.FILTER_CONFIG.gyro_rpm_notch_min_hz);
416447

417448
$('.pid_filter #rpmFilterEnabled').change(function() {
418449

419-
let harmonics = $('.pid_filter input[name="rpmFilterHarmonics"]').val();
450+
let harmonics = rpmFilterHarmonics_e.val();
420451
let checked = $(this).is(':checked') && harmonics != 0;
421452

422-
$('.pid_filter input[name="rpmFilterHarmonics"]').attr('disabled', !checked);
423-
$('.pid_filter input[name="rpmFilterMinHz"]').attr('disabled', !checked);
453+
rpmFilterHarmonics_e.attr('disabled', !checked);
454+
rpmFilterMinHz_e.attr('disabled', !checked);
424455

425456
if (harmonics == 0) {
426-
$('.pid_filter input[name="rpmFilterHarmonics"]').val(FILTER_DEFAULT.gyro_rpm_notch_harmonics);
457+
rpmFilterHarmonics_e.val(FILTER_DEFAULT.gyro_rpm_notch_harmonics);
427458
}
428459

429460
if (checked !== (FC.FILTER_CONFIG.gyro_rpm_notch_harmonics !== 0)) { // if rpmFilterEnabled is not the same value as saved in the fc
@@ -1069,7 +1100,9 @@ TABS.pid_tuning.initialize = function (callback) {
10691100
FC.FILTER_CONFIG.dyn_lpf_curve_expo = parseInt($('.pid_filter input[name="dtermLowpassDynExpo"]').val());
10701101
FC.ADVANCED_TUNING.vbat_sag_compensation = $('input[id="vbatSagCompensation"]').is(':checked') ? parseInt($('input[name="vbatSagValue"]').val()) : 0;
10711102
FC.ADVANCED_TUNING.thrustLinearization = $('input[id="thrustLinearization"]').is(':checked') ? parseInt($('input[name="thrustLinearValue"]').val()) : 0;
1072-
FC.FILTER_CONFIG.dyn_notch_count = parseInt($('.pid_filter input[name="dynamicNotchCount"]').val());
1103+
1104+
let dynamicNotchEnabled = $('.pid_filter #dynamicNotchEnabled').is(':checked');
1105+
FC.FILTER_CONFIG.dyn_notch_count = dynamicNotchEnabled ? parseInt($('.pid_filter input[name="dynamicNotchCount"]').val()) : 0;
10731106

10741107
FC.TUNING_SLIDERS.slider_pids_mode = TuningSliders.sliderPidsMode;
10751108
//rounds slider values to nearies multiple of 5 and passes to the FW. Avoid dividing calc by (* x 100)/5 = 20
@@ -2752,7 +2785,7 @@ TABS.pid_tuning.updateFilterWarning = function() {
27522785
} else {
27532786
warningE.hide();
27542787
}
2755-
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_42)) {
2788+
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_42) && semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_44)) {
27562789
if (FC.FEATURE_CONFIG.features.isEnabled('DYNAMIC_FILTER')) {
27572790
warningDynamicNotchE.hide();
27582791
} else {
@@ -3017,7 +3050,6 @@ TABS.pid_tuning.changeRatesTypeLogo = function() {
30173050
}
30183051
};
30193052

3020-
30213053
TABS.pid_tuning.expertModeChanged = function(expertModeEnabled) {
30223054
TuningSliders.setExpertMode(expertModeEnabled);
30233055
};

src/tabs/pid_tuning.html

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,33 +1453,36 @@
14531453
</div>
14541454
</td>
14551455
</tr>
1456-
<tr class="newFilter dynamicNotch dynamicNotchQ">
1456+
<tr class="newFilter dynamicNotch dynamicNotchCount">
14571457
<td>
1458-
<input type="number" name="dynamicNotchQ" step="1" min="1" max="1000"/>
1458+
<span class="groupSwitchValue">
1459+
<span class="inputSwitch"><input type="checkbox" id="dynamicNotchEnabled" class="toggle" /></span>
1460+
<span class="inputValue"><input type="number" class="nonProfile" name="dynamicNotchCount" step="1" min="1" max="5"/></span>
1461+
</span>
14591462
</td>
14601463
<td>
14611464
<div>
14621465
<label>
1463-
<span i18n="pidTuningDynamicNotchQ"></span>
1466+
<span i18n="pidTuningDynamicNotchCount"></span>
14641467
</label>
1465-
<div class="helpicon cf_tip" i18n_title="pidTuningDynamicNotchQHelp" ></div>
1468+
<div class="helpicon cf_tip" i18n_title="pidTuningDynamicNotchCountHelp" ></div>
14661469
</div>
14671470
</td>
14681471
</tr>
1469-
<tr class="newFilter dynamicNotch dynamicNotchCount">
1472+
<tr class="newFilter dynamicNotch dynamicNotchQ">
14701473
<td>
1471-
<input type="number" name="dynamicNotchCount" step="1" min="0" max="5"/>
1474+
<input type="number" name="dynamicNotchQ" step="1" min="1" max="1000"/>
14721475
</td>
14731476
<td>
14741477
<div>
14751478
<label>
1476-
<span i18n="pidTuningDynamicNotchCount"></span>
1479+
<span i18n="pidTuningDynamicNotchQ"></span>
14771480
</label>
1478-
<div class="helpicon cf_tip" i18n_title="pidTuningDynamicNotchCountHelp" ></div>
1481+
<div class="helpicon cf_tip" i18n_title="pidTuningDynamicNotchQHelp" ></div>
14791482
</div>
14801483
</td>
14811484
</tr>
1482-
<tr class="newFilter dynamicNotch">
1485+
<tr class="newFilter dynamicNotch dynamicNotchMinHz">
14831486
<td>
14841487
<input type="number" name="dynamicNotchMinHz" step="1" min="60" max="1000"/>
14851488
</td>

0 commit comments

Comments
 (0)