diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 94cca9d8..8193d856 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1921,5 +1921,41 @@ }, "presetApplyHead": { "message": "Applies following settings:" + }, + "gyroNotchHz1": { + "message": "First gyro notch filter freq." + }, + "gyroNotchCutoff1": { + "message": "First gyro notch filter cutoff freq." + }, + "gyroNotchHz2": { + "message": "Second gyro notch filter freq." + }, + "gyroNotchCutoff2": { + "message": "Second gyro notch filter cutoff freq." + }, + "gyroNotchHz1Help": { + "message": "Should be tuned to propeller harmonic frequency. Usually equals [motor_frequency] * [propeller_blades_number]

Has to be above cutoff frequency

0 disables the filter" + }, + "gyroNotchHz2Help": { + "message": "Should be tuned to motor frequency.

Has to be above cutoff frequency and below first gyro notch filter frequency.

0 disables the filter" + }, + "gyroNotchCutoff1Help": { + "message": "Defines band of notch filter.

Has to be kept below notch filter frequency." + }, + "gyroNotchCutoff2Help": { + "message": "Defines band of notch filter.

Has to be kept below notch filter frequency." + }, + "dtermNotchHz": { + "message": "Dterm notch filter freq." + }, + "dtermNotchCutoff": { + "message": "Dterm notch filter cutoff freq." + }, + "dtermNotchHzHelp": { + "message": "Should be placed between first and second gyro notch filter frequency

Has to be above cutoff frequency

0 disables the filter" + }, + "dtermNotchCutoffHelp": { + "message": "Defines band of filter.

Has to be kept below notch filter frequency." } } \ No newline at end of file diff --git a/js/gui.js b/js/gui.js index fba9acd7..ec53630f 100644 --- a/js/gui.js +++ b/js/gui.js @@ -220,5 +220,23 @@ GUI_control.prototype.fillSelect = function ($element, values, currentValue, uni } }; +GUI_control.prototype.simpleBind = function () { + $('input[data-simple-bind]').not('[data-simple-binded="true"]').each(function () { + var $this = $(this), + toBind = $this.data('simple-bind').split("."); + + if (toBind.length !== 2 || window[toBind[0]][toBind[1]] === undefined) { + return; + } + + $this.change(function () { + window[toBind[0]][toBind[1]] = $(this).val(); + }); + + $this.val(window[toBind[0]][toBind[1]]); + $this.attr('data-simple-binded', true); + }); +}; + // initialize object into GUI variable var GUI = new GUI_control(); diff --git a/tabs/pid_tuning.html b/tabs/pid_tuning.html index 63a067c1..a32f9287 100755 --- a/tabs/pid_tuning.html +++ b/tabs/pid_tuning.html @@ -219,6 +219,35 @@ + + + + Hz +
+ + + + + + Hz +
+ + + + + + Hz +
+ + + + + + Hz +
+ + + @@ -239,6 +268,20 @@
+ + + + Hz +
+ + + + + + Hz +
+ + diff --git a/tabs/pid_tuning.js b/tabs/pid_tuning.js index e7827cbb..a192047e 100755 --- a/tabs/pid_tuning.js +++ b/tabs/pid_tuning.js @@ -231,6 +231,15 @@ TABS.pid_tuning.initialize = function (callback) { } else { $('.requires-v1_4').hide(); } + + if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) { + $('.requires-v1_6').show(); + } else { + $('.requires-v1_6').hide(); + } + + GUI.simpleBind(); + // UI Hooks $('a.refresh').click(function () {