1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-18 22:05:13 +03:00

Merge pull request #545 from basdelfos/bfc_change_dterm_filter

Added new features and settings for BF 3.2
This commit is contained in:
borisbstyle 2017-07-27 09:37:34 +02:00 committed by GitHub
commit fc371852b2
6 changed files with 200 additions and 108 deletions

View file

@ -545,7 +545,7 @@
"message": "Configure via the BlackBox tab after enabling." "message": "Configure via the BlackBox tab after enabling."
}, },
"featureESC_SENSOR": { "featureESC_SENSOR": {
"message": "Use KISS ESC 24A telemetry as sensor" "message": "Use KISS/BLHeli_32 ESC telemetry as sensor"
}, },
"featureCHANNEL_FORWARDING": { "featureCHANNEL_FORWARDING": {
"message": "Forward aux channels to servo outputs" "message": "Forward aux channels to servo outputs"
@ -571,6 +571,12 @@
"featureVTX": { "featureVTX": {
"message": "Video Transmitter" "message": "Video Transmitter"
}, },
"featureANTI_GRAVITY": {
"message": "Temporary boost I-Term on high throttle changes"
},
"featureDYNAMIC_FILTER": {
"message": "Dynamic gyro notch filtering"
},
"featureFAILSAFE": { "featureFAILSAFE": {
"message": "Enable Failsafe Stage 2" "message": "Enable Failsafe Stage 2"
}, },
@ -741,19 +747,19 @@
}, },
"portsIdentifier": { "portsIdentifier": {
"message": "Identifier" "message": "Identifier"
}, },
"portsConfiguration": { "portsConfiguration": {
"message": "Configuration/MSP" "message": "Configuration/MSP"
}, },
"portsSerialRx": { "portsSerialRx": {
"message": "Serial Rx" "message": "Serial Rx"
}, },
"portsSensorIn": { "portsSensorIn": {
"message": "Sensor Input" "message": "Sensor Input"
}, },
"portsTelemetryOut": { "portsTelemetryOut": {
"message": "Telemetry Output" "message": "Telemetry Output"
}, },
"portsPeripherals": { "portsPeripherals": {
"message": "Peripherals" "message": "Peripherals"
@ -845,6 +851,14 @@
"pidTuningNonProfilePidSettings": { "pidTuningNonProfilePidSettings": {
"message": "Profile independent PID Controller Settings" "message": "Profile independent PID Controller Settings"
}, },
"pidTuningAntiGravityGain": {
"message": "Anti Gravity Gain"
},
"pidTuningAntiGravityThres": {
"message": "Anti Gravity Threshold"
},
"pidTuningPidSettings": { "pidTuningPidSettings": {
"message": "PID Controller Settings" "message": "PID Controller Settings"
}, },
@ -924,10 +938,10 @@
"message": "Frequency" "message": "Frequency"
}, },
"pidTuningRatesCurve": { "pidTuningRatesCurve": {
"message": "Rates" "message": "Rates"
}, },
"throttle": { "throttle": {
"message": "Throttle" "message": "Throttle"
}, },
"pidTuningButtonSave": { "pidTuningButtonSave": {
"message": "Save" "message": "Save"
@ -1242,13 +1256,13 @@
"transponderHelp2": { "transponderHelp2": {
"message": "For more information please visit <a href=\"http://www.arcitimer.com/\" title=\"aRCiTimer\" target=\"_blank\">aRCiTimer site</a>" "message": "For more information please visit <a href=\"http://www.arcitimer.com/\" title=\"aRCiTimer\" target=\"_blank\">aRCiTimer site</a>"
}, },
"transponderDataHelp3": { "transponderDataHelp3": {
"message": "Choose ERLT ID 0-63" "message": "Choose ERLT ID 0-63"
}, },
"transponderHelp3": { "transponderHelp3": {
"message": "For more information please visit <a href=\"https://github.com/polyvision/EasyRaceLapTimer\" title=\"aRCiTimer\" target=\"_blank\">EasyRaceLapTimer site</a>" "message": "For more information please visit <a href=\"https://github.com/polyvision/EasyRaceLapTimer\" title=\"aRCiTimer\" target=\"_blank\">EasyRaceLapTimer site</a>"
}, },
"transponderButtonSave": { "transponderButtonSave": {
"message": "Save" "message": "Save"
}, },
"transponderButtonSaveReboot": { "transponderButtonSaveReboot": {
@ -1390,7 +1404,7 @@
"cliSaveToFileBtn": { "cliSaveToFileBtn": {
"message": "Save to File" "message": "Save to File"
}, },
"loggingNote": { "loggingNote": {
"message": "Data will be logged in this tab <span style=\"color: red\">only</span>, leaving the tab will <span style=\"color: red\">cancel</span> logging and application will return to its normal <strong>\"configurator\"</strong> state.<br /> You are free to select the global update period, data will be written into the log file every <strong>1</strong> second for performance reasons." "message": "Data will be logged in this tab <span style=\"color: red\">only</span>, leaving the tab will <span style=\"color: red\">cancel</span> logging and application will return to its normal <strong>\"configurator\"</strong> state.<br /> You are free to select the global update period, data will be written into the log file every <strong>1</strong> second for performance reasons."
}, },
@ -1674,73 +1688,73 @@
"message": "VTX (uses vtx frequency to assign color)" "message": "VTX (uses vtx frequency to assign color)"
}, },
"ledStripFunctionSection": { "ledStripFunctionSection": {
"message": "LED Functions" "message": "LED Functions"
}, },
"ledStripFunctionTitle": { "ledStripFunctionTitle": {
"message": "Function" "message": "Function"
}, },
"ledStripColorModifierTitle": { "ledStripColorModifierTitle": {
"message": "Color modifier" "message": "Color modifier"
}, },
"ledStripThrottleFunction": { "ledStripThrottleFunction": {
"message": "Throttle" "message": "Throttle"
}, },
"ledStripVtxFunction": { "ledStripVtxFunction": {
"message": "Larson scanner" "message": "Larson scanner"
}, },
"ledStripBlinkTitle": { "ledStripBlinkTitle": {
"message": "Blink" "message": "Blink"
}, },
"ledStripBlinkAlwaysOverlay": { "ledStripBlinkAlwaysOverlay": {
"message": "Blink always" "message": "Blink always"
}, },
"ledStripBlinkLandingOverlay": { "ledStripBlinkLandingOverlay": {
"message": "Blink on landing" "message": "Blink on landing"
}, },
"ledStripOverlayTitle": { "ledStripOverlayTitle": {
"message": "Overlay" "message": "Overlay"
}, },
"ledStripWarningsOverlay": { "ledStripWarningsOverlay": {
"message": "Warnings" "message": "Warnings"
}, },
"ledStripIndecatorOverlay": { "ledStripIndecatorOverlay": {
"message": "Indicator (uses position on matrix)" "message": "Indicator (uses position on matrix)"
}, },
"ledStripVtxOverlay": { "ledStripVtxOverlay": {
"message": "VTX (uses vtx frequency to assign color)" "message": "VTX (uses vtx frequency to assign color)"
}, },
"ledStripFunctionSection": { "ledStripFunctionSection": {
"message": "LED Functions" "message": "LED Functions"
}, },
"ledStripFunctionTitle": { "ledStripFunctionTitle": {
"message": "Function" "message": "Function"
}, },
"ledStripColorModifierTitle": { "ledStripColorModifierTitle": {
"message": "Color modifier" "message": "Color modifier"
}, },
"ledStripThrottleFunction": { "ledStripThrottleFunction": {
"message": "Throttle" "message": "Throttle"
}, },
"ledStripVtxFunction": { "ledStripVtxFunction": {
"message": "Larson scanner" "message": "Larson scanner"
}, },
"ledStripBlinkTitle": { "ledStripBlinkTitle": {
"message": "Blink" "message": "Blink"
}, },
"ledStripBlinkAlwaysOverlay": { "ledStripBlinkAlwaysOverlay": {
"message": "Blink always" "message": "Blink always"
}, },
"ledStripBlinkLandingOverlay": { "ledStripBlinkLandingOverlay": {
"message": "Blink on landing" "message": "Blink on landing"
}, },
"ledStripOverlayTitle": { "ledStripOverlayTitle": {
"message": "Overlay" "message": "Overlay"
}, },
"ledStripWarningsOverlay": { "ledStripWarningsOverlay": {
"message": "Warnings" "message": "Warnings"
}, },
"ledStripIndecatorOverlay": { "ledStripIndecatorOverlay": {
"message": "Indicator (uses position on matrix)" "message": "Indicator (uses position on matrix)"
}, },
"controlAxisRoll": { "controlAxisRoll": {
@ -1852,60 +1866,66 @@
"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."
}, },
"pidTuningNonProfileFilterSettings": { "pidTuningNonProfileFilterSettings": {
"message": "Profile independent Filter Settings" "message": "Profile independent Filter Settings"
}, },
"pidTuningGyroLowpassFrequency": { "pidTuningGyroLowpassFrequency": {
"message": "Gyro Soft Lowpass Frequency [Hz]" "message": "Gyro Soft Lowpass Frequency [Hz]"
}, },
"pidTuningGyroLowpassFrequencyHelp": { "pidTuningGyroLowpassFrequencyHelp": {
"message": "Gyro Soft Lowpass Frequency [Hz]" "message": "Gyro Soft Lowpass Frequency [Hz]"
}, },
"pidTuningGyroNotch1Frequency": { "pidTuningGyroNotch1Frequency": {
"message": "Gyro Notch Filter 1 Frequency [Hz]" "message": "Gyro Notch Filter 1 Frequency [Hz]"
}, },
"pidTuningGyroNotch2Frequency": { "pidTuningGyroNotch2Frequency": {
"message": "Gyro Notch Filter 2 Frequency [Hz]" "message": "Gyro Notch Filter 2 Frequency [Hz]"
}, },
"pidTuningGyroNotchFrequencyHelp": { "pidTuningGyroNotchFrequencyHelp": {
"message": "Gyro Notch Filter Frequency in Hz (0 means disabled)" "message": "Gyro Notch Filter Frequency in Hz (0 means disabled)"
}, },
"pidTuningGyroNotch1Cutoff": { "pidTuningGyroNotch1Cutoff": {
"message": "Gyro Notch Filter Cutoff 1 Frequency [Hz]" "message": "Gyro Notch Filter Cutoff 1 Frequency [Hz]"
}, },
"pidTuningGyroNotch2Cutoff": { "pidTuningGyroNotch2Cutoff": {
"message": "Gyro Notch Filter Cutoff 2 Frequency [Hz]" "message": "Gyro Notch Filter Cutoff 2 Frequency [Hz]"
}, },
"pidTuningGyroNotchCutoffHelp": { "pidTuningGyroNotchCutoffHelp": {
"message": "Gyro Notch Filter Cutoff Frequency in Hz (This is where notch filter starts. For example with notch filter 160 and notch hz of 260 it means the range is 160-360hz with most attenuation around center)" "message": "Gyro Notch Filter Cutoff Frequency in Hz (This is where notch filter starts. For example with notch filter 160 and notch hz of 260 it means the range is 160-360hz with most attenuation around center)"
}, },
"pidTuningFilterSettings": { "pidTuningFilterSettings": {
"message": "Filter Settings" "message": "Filter Settings"
}, },
"pidTuningDTermLowpassFrequency": { "pidTuningDTermLowpassType": {
"message": "D Term Lowpass Frequency [Hz]" "message": "D-Term Lowpass Filter"
}, },
"pidTuningDTermLowpassFrequencyHelp": { "pidTuningDTermLowpassTypeTip": {
"message": "D Term Lowpass Frequency [Hz] (0 means disabled)" "message": "Select D-Term lowpass filter type to use. Default is BIQUAD"
}, },
"pidTuningDTermNotchFrequency": { "pidTuningDTermLowpassFrequency": {
"message": "D Term Notch Filter Frequency [Hz]" "message": "D Term Lowpass Frequency [Hz]"
}, },
"pidTuningDTermNotchFrequencyHelp": { "pidTuningDTermLowpassFrequencyHelp": {
"message": "D Term Notch Filter Frequency [Hz] (0 means disabled)" "message": "D Term Lowpass Frequency [Hz] (0 means disabled)"
}, },
"pidTuningDTermNotchCutoff": { "pidTuningDTermNotchFrequency": {
"message": "D Term Notch Filter Cutoff [Hz]" "message": "D Term Notch Filter Frequency [Hz]"
}, },
"pidTuningDTermNotchCutoffHelp": { "pidTuningDTermNotchFrequencyHelp": {
"message": "D Term Notch Filter Cutoff in Hz (This is where notch filter starts. For example with notch filter 160 and notch hz of 260 it means the range is 160-360hz with most attenuation around center)" "message": "D Term Notch Filter Frequency [Hz] (0 means disabled)"
}, },
"pidTuningYawLowpassFrequency": { "pidTuningDTermNotchCutoff": {
"message": "Yaw Lowpass Frequency [Hz]" "message": "D Term Notch Filter Cutoff [Hz]"
}, },
"pidTuningYawLowpassFrequencyHelp": { "pidTuningDTermNotchCutoffHelp": {
"message": "Yaw Lowpass Frequency [Hz] (Yaw axis can sometimes be noiser than the rest. This filter only affects the P of yaw)" "message": "D Term Notch Filter Cutoff in Hz (This is where notch filter starts. For example with notch filter 160 and notch hz of 260 it means the range is 160-360hz with most attenuation around center)"
}, },
"pidTuningYawLowpassFrequency": {
"message": "Yaw Lowpass Frequency [Hz]"
},
"pidTuningYawLowpassFrequencyHelp": {
"message": "Yaw Lowpass Frequency [Hz] (Yaw axis can sometimes be noiser than the rest. This filter only affects the P of yaw)"
},
"pidTuningVbatPidCompensation": { "pidTuningVbatPidCompensation": {
"message": "Vbat PID Compensation" "message": "Vbat PID Compensation"
}, },
@ -2480,22 +2500,22 @@
"message": "FPV Camera Angle [degrees]" "message": "FPV Camera Angle [degrees]"
}, },
"onboardLoggingBlackbox": { "onboardLoggingBlackbox": {
"message": "Blackbox logging device" "message": "Blackbox logging device"
}, },
"onboardLoggingRateOfLogging": { "onboardLoggingRateOfLogging": {
"message": "Blackbox logging rate" "message": "Blackbox logging rate"
}, },
"onboardLoggingSerialLogger": { "onboardLoggingSerialLogger": {
"message": "Outboard serial logging device" "message": "Outboard serial logging device"
}, },
"onboardLoggingFlashLogger": { "onboardLoggingFlashLogger": {
"message": "Onboard dataflash chip" "message": "Onboard dataflash chip"
}, },
"onboardLoggingEraseInProgress": { "onboardLoggingEraseInProgress": {
"message": "Erase in progress, please wait..." "message": "Erase in progress, please wait..."
}, },
"onboardLoggingOnboardSDCard": { "onboardLoggingOnboardSDCard": {
"message": "Onboard SD card" "message": "Onboard SD card"
} }

View file

@ -80,7 +80,14 @@ var Features = function (config) {
if (semver.gte(CONFIG.apiVersion, "1.31.0")) { if (semver.gte(CONFIG.apiVersion, "1.31.0")) {
features.push( features.push(
{bit: 27, group: 'other', name: 'ESC_SENSOR'} {bit: 27, group: 'other', name: 'ESC_SENSOR'}
) );
}
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
features.push(
{bit: 28, group: 'other', name: 'ANTI_GRAVITY'},
{bit: 29, group: 'other', name: 'DYNAMIC_FILTER'}
);
} }
} }

View file

@ -77,21 +77,21 @@ var FC = {
rateProfile: 0, rateProfile: 0,
boardType: 0, boardType: 0,
}; };
FEATURE_CONFIG = { FEATURE_CONFIG = {
features: 0, features: 0,
}; };
MIXER_CONFIG = { MIXER_CONFIG = {
mixer: 0, mixer: 0,
}; };
BOARD_ALIGNMENT_CONFIG = { BOARD_ALIGNMENT_CONFIG = {
roll: 0, roll: 0,
pitch: 0, pitch: 0,
yaw: 0, yaw: 0,
}; };
LED_STRIP = []; LED_STRIP = [];
LED_COLORS = []; LED_COLORS = [];
LED_MODE_COLORS = []; LED_MODE_COLORS = [];
@ -192,7 +192,7 @@ var FC = {
VOLTAGE_METER_CONFIGS = []; VOLTAGE_METER_CONFIGS = [];
CURRENT_METERS = []; CURRENT_METERS = [];
CURRENT_METER_CONFIGS = []; CURRENT_METER_CONFIGS = [];
BATTERY_STATE = {}; BATTERY_STATE = {};
BATTERY_CONFIG = { BATTERY_CONFIG = {
vbatmincellvoltage: 0, vbatmincellvoltage: 0,
@ -202,7 +202,7 @@ var FC = {
voltageMeterSource: 0, voltageMeterSource: 0,
currentMeterSource: 0, currentMeterSource: 0,
}; };
ARMING_CONFIG = { ARMING_CONFIG = {
auto_disarm_delay: 0, auto_disarm_delay: 0,
disarm_kill_switch: 0, disarm_kill_switch: 0,
@ -211,7 +211,7 @@ var FC = {
FC_CONFIG = { FC_CONFIG = {
loopTime: 0 loopTime: 0
}; };
MISC = { MISC = {
// DEPRECATED = only used to store values that are written back to the fc as-is, do NOT use for any other purpose // DEPRECATED = only used to store values that are written back to the fc as-is, do NOT use for any other purpose
failsafe_throttle: 0, failsafe_throttle: 0,
@ -228,14 +228,14 @@ var FC = {
maxthrottle: 0, maxthrottle: 0,
mincommand: 0, mincommand: 0,
}; };
GPS_CONFIG = { GPS_CONFIG = {
provider: 0, provider: 0,
ublox_sbas: 0, ublox_sbas: 0,
auto_config: 0, auto_config: 0,
auto_baud: 0, auto_baud: 0,
}; };
COMPASS_CONFIG = { COMPASS_CONFIG = {
mag_declination: 0, mag_declination: 0,
}; };
@ -243,7 +243,7 @@ var FC = {
RSSI_CONFIG = { RSSI_CONFIG = {
channel: 0, channel: 0,
}; };
MOTOR_3D_CONFIG = { MOTOR_3D_CONFIG = {
deadband3d_low: 0, deadband3d_low: 0,
deadband3d_high: 0, deadband3d_high: 0,
@ -313,6 +313,7 @@ var FC = {
dterm_notch_cutoff: 0, dterm_notch_cutoff: 0,
gyro_soft_notch_hz_2: 0, gyro_soft_notch_hz_2: 0,
gyro_soft_notch_cutoff_2: 0, gyro_soft_notch_cutoff_2: 0,
dterm_filter_type: 0,
}; };
ADVANCED_TUNING = { ADVANCED_TUNING = {
@ -330,6 +331,8 @@ var FC = {
pidMaxVelocityYaw: 0, pidMaxVelocityYaw: 0,
levelAngleLimit: 0, levelAngleLimit: 0,
levelSensitivity: 0, levelSensitivity: 0,
itermThrottleThreshold: 0,
itermAcceleratorGain: 0,
}; };
SENSOR_CONFIG = { SENSOR_CONFIG = {

View file

@ -789,6 +789,9 @@ MspHelper.prototype.process_data = function(dataHandler) {
FILTER_CONFIG.gyro_soft_notch_hz_2 = data.readU16(); FILTER_CONFIG.gyro_soft_notch_hz_2 = data.readU16();
FILTER_CONFIG.gyro_soft_notch_cutoff_2 = data.readU16(); FILTER_CONFIG.gyro_soft_notch_cutoff_2 = data.readU16();
} }
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
FILTER_CONFIG.dterm_filter_type = data.readU8();
}
} }
break; break;
case MSPCodes.MSP_SET_PID_ADVANCED: case MSPCodes.MSP_SET_PID_ADVANCED:
@ -808,10 +811,14 @@ MspHelper.prototype.process_data = function(dataHandler) {
ADVANCED_TUNING.itermThrottleGain = data.readU8(); ADVANCED_TUNING.itermThrottleGain = data.readU8();
ADVANCED_TUNING.pidMaxVelocity = data.readU16(); ADVANCED_TUNING.pidMaxVelocity = data.readU16();
ADVANCED_TUNING.pidMaxVelocityYaw = data.readU16(); ADVANCED_TUNING.pidMaxVelocityYaw = data.readU16();
} if (semver.gte(CONFIG.apiVersion, "1.24.0")) {
if (semver.gte(CONFIG.apiVersion, "1.24.0")) { ADVANCED_TUNING.levelAngleLimit = data.readU8();
ADVANCED_TUNING.levelAngleLimit = data.readU8(); ADVANCED_TUNING.levelSensitivity = data.readU8();
ADVANCED_TUNING.levelSensitivity = data.readU8(); }
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
ADVANCED_TUNING.itermThrottleThreshold = data.readU16();
ADVANCED_TUNING.itermAcceleratorGain = data.readU16();
}
} }
break; break;
case MSPCodes.MSP_SENSOR_CONFIG: case MSPCodes.MSP_SENSOR_CONFIG:
@ -1392,6 +1399,9 @@ MspHelper.prototype.crunch = function(code) {
buffer.push16(FILTER_CONFIG.gyro_soft_notch_hz_2) buffer.push16(FILTER_CONFIG.gyro_soft_notch_hz_2)
.push16(FILTER_CONFIG.gyro_soft_notch_cutoff_2) .push16(FILTER_CONFIG.gyro_soft_notch_cutoff_2)
} }
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
buffer.push8(FILTER_CONFIG.dterm_filter_type);
}
} }
break; break;
case MSPCodes.MSP_SET_PID_ADVANCED: case MSPCodes.MSP_SET_PID_ADVANCED:
@ -1412,6 +1422,10 @@ MspHelper.prototype.crunch = function(code) {
buffer.push8(ADVANCED_TUNING.levelAngleLimit) buffer.push8(ADVANCED_TUNING.levelAngleLimit)
.push8(ADVANCED_TUNING.levelSensitivity); .push8(ADVANCED_TUNING.levelSensitivity);
} }
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
buffer.push16(ADVANCED_TUNING.itermThrottleThreshold)
.push16(ADVANCED_TUNING.itermAcceleratorGain);
}
} }
// only supports 1 version pre bf 3.0 // only supports 1 version pre bf 3.0
else { else {

View file

@ -326,6 +326,24 @@
</td> </td>
</table> </table>
</div> </div>
<div class="antigravity topspacer tpa">
<table class="cf">
<thead>
<tr>
<th i18n="pidTuningAntiGravityGain"></th>
<th i18n="pidTuningAntiGravityThres"></th>
</tr>
</thead>
<tbody>
<tr style="height: 35px;">
<td><input type="number" name="itermAcceleratorGain" step="0.1" min="1" max="30" /></td>
<td><input type="number" name="itermThrottleThreshold" step="10" min="20" max="1000" /></td>
</tr>
</tbody>
</table>
</div>
<div class="gui_box grey topspacer"> <div class="gui_box grey topspacer">
<table class="pid_titlebar"> <table class="pid_titlebar">
<thead> <thead>
@ -434,6 +452,21 @@
<p i18n="tuningHelp"></p> <p i18n="tuningHelp"></p>
</div> </div>
</div> </div>
<div class="dtermfiltertype cf_column twothird">
<div class="profile single-field" style="width:200px; margin-bottom: 0px;">
<div class="helpicon cf_tip" i18n_title="pidTuningDTermLowpassTypeTip" style="margin-top: 5px;"></div>
<div class="head" i18n="pidTuningDTermLowpassType"></div>
<div class="bottomarea">
<select name="dtermFilterType">
<option value="0" class="PT1">PT1</option>
<option value="1" class="BIQUAD">BIQUAD</option>
<option value="2" class="FIR">FIR</option>
</select>
</div>
</div>
</div>
<div class="cf_column twothird"> <div class="cf_column twothird">
<div class="gui_box grey topspacer pid_filter"> <div class="gui_box grey topspacer pid_filter">
<table class="pid_titlebar new_rates"> <table class="pid_titlebar new_rates">

View file

@ -258,6 +258,15 @@ TABS.pid_tuning.initialize = function (callback) {
} else { } else {
$('.pid_sensitivity').hide(); $('.pid_sensitivity').hide();
} }
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
$('.profile select[name="dtermFilterType"]').val(FILTER_CONFIG.dterm_filter_type);
$('.antigravity input[name="itermThrottleThreshold"]').val(ADVANCED_TUNING.itermThrottleThreshold);
$('.antigravity input[name="itermAcceleratorGain"]').val(ADVANCED_TUNING.itermAcceleratorGain / 1000);
} else {
$('.dtermfiltertype').hide();
$('.antigravity').hide();
}
} }
function form_to_pid_and_rc() { function form_to_pid_and_rc() {
@ -368,6 +377,12 @@ TABS.pid_tuning.initialize = function (callback) {
ADVANCED_TUNING.levelAngleLimit = parseInt($('.pid_tuning input[name="angleLimit"]').val()); ADVANCED_TUNING.levelAngleLimit = parseInt($('.pid_tuning input[name="angleLimit"]').val());
ADVANCED_TUNING.levelSensitivity = parseInt($('.pid_tuning input[name="sensitivity"]').val()); ADVANCED_TUNING.levelSensitivity = parseInt($('.pid_tuning input[name="sensitivity"]').val());
} }
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
FILTER_CONFIG.dterm_filter_type = $('.profile select[name="dtermFilterType"]').val();
ADVANCED_TUNING.itermThrottleThreshold = parseInt($('.antigravity input[name="itermThrottleThreshold"]').val());
ADVANCED_TUNING.itermAcceleratorGain = parseInt($('.antigravity input[name="itermAcceleratorGain"]').val() * 1000);
}
} }
function showAllPids() { function showAllPids() {
@ -590,7 +605,7 @@ TABS.pid_tuning.initialize = function (callback) {
$('#pid-tuning .ptermSetpoint').hide(); $('#pid-tuning .ptermSetpoint').hide();
$('#pid-tuning .dtermSetpoint').hide(); $('#pid-tuning .dtermSetpoint').hide();
} }
if (!semver.gte(CONFIG.apiVersion, "1.16.0")) { if (!semver.gte(CONFIG.apiVersion, "1.16.0")) {
$('#pid-tuning .delta').hide(); $('#pid-tuning .delta').hide();
$('.tab-pid_tuning .note').hide(); $('.tab-pid_tuning .note').hide();