Added selection of dterm lowpass filter type

10.3.x-maintenance
Bas Delfos 2017-07-12 11:36:25 +02:00
parent 667c4d5af3
commit bc86e8bc18
5 changed files with 140 additions and 102 deletions

View File

@ -741,19 +741,19 @@
},
"portsIdentifier": {
"message": "Identifier"
"message": "Identifier"
},
"portsConfiguration": {
"message": "Configuration/MSP"
"message": "Configuration/MSP"
},
"portsSerialRx": {
"message": "Serial Rx"
"message": "Serial Rx"
},
"portsSensorIn": {
"message": "Sensor Input"
"message": "Sensor Input"
},
"portsTelemetryOut": {
"message": "Telemetry Output"
"message": "Telemetry Output"
},
"portsPeripherals": {
"message": "Peripherals"
@ -921,10 +921,10 @@
"message": "Frequency"
},
"pidTuningRatesCurve": {
"message": "Rates"
"message": "Rates"
},
"throttle": {
"message": "Throttle"
"message": "Throttle"
},
"pidTuningButtonSave": {
"message": "Save"
@ -1239,13 +1239,13 @@
"transponderHelp2": {
"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"
},
"transponderHelp3": {
"message": "For more information please visit <a href=\"https://github.com/polyvision/EasyRaceLapTimer\" title=\"aRCiTimer\" target=\"_blank\">EasyRaceLapTimer site</a>"
},
"transponderButtonSave": {
"transponderButtonSave": {
"message": "Save"
},
"transponderButtonSaveReboot": {
@ -1387,7 +1387,7 @@
"cliSaveToFileBtn": {
"message": "Save to File"
},
"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."
},
@ -1671,73 +1671,73 @@
"message": "VTX (uses vtx frequency to assign color)"
},
"ledStripFunctionSection": {
"message": "LED Functions"
"message": "LED Functions"
},
"ledStripFunctionTitle": {
"message": "Function"
"message": "Function"
},
"ledStripColorModifierTitle": {
"message": "Color modifier"
"message": "Color modifier"
},
"ledStripThrottleFunction": {
"message": "Throttle"
"message": "Throttle"
},
"ledStripVtxFunction": {
"message": "Larson scanner"
"message": "Larson scanner"
},
"ledStripBlinkTitle": {
"message": "Blink"
"message": "Blink"
},
"ledStripBlinkAlwaysOverlay": {
"message": "Blink always"
"message": "Blink always"
},
"ledStripBlinkLandingOverlay": {
"message": "Blink on landing"
"message": "Blink on landing"
},
"ledStripOverlayTitle": {
"message": "Overlay"
"message": "Overlay"
},
"ledStripWarningsOverlay": {
"message": "Warnings"
"message": "Warnings"
},
"ledStripIndecatorOverlay": {
"message": "Indicator (uses position on matrix)"
"message": "Indicator (uses position on matrix)"
},
"ledStripVtxOverlay": {
"message": "VTX (uses vtx frequency to assign color)"
},
"ledStripFunctionSection": {
"message": "LED Functions"
"message": "LED Functions"
},
"ledStripFunctionTitle": {
"message": "Function"
"message": "Function"
},
"ledStripColorModifierTitle": {
"message": "Color modifier"
"message": "Color modifier"
},
"ledStripThrottleFunction": {
"message": "Throttle"
"message": "Throttle"
},
"ledStripVtxFunction": {
"message": "Larson scanner"
"message": "Larson scanner"
},
"ledStripBlinkTitle": {
"message": "Blink"
"message": "Blink"
},
"ledStripBlinkAlwaysOverlay": {
"message": "Blink always"
"message": "Blink always"
},
"ledStripBlinkLandingOverlay": {
"message": "Blink on landing"
"message": "Blink on landing"
},
"ledStripOverlayTitle": {
"message": "Overlay"
"message": "Overlay"
},
"ledStripWarningsOverlay": {
"message": "Warnings"
"message": "Warnings"
},
"ledStripIndecatorOverlay": {
"message": "Indicator (uses position on matrix)"
"message": "Indicator (uses position on matrix)"
},
"controlAxisRoll": {
@ -1849,60 +1849,66 @@
"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."
},
"pidTuningNonProfileFilterSettings": {
"message": "Profile independent Filter Settings"
},
"pidTuningGyroLowpassFrequency": {
"message": "Gyro Soft Lowpass Frequency [Hz]"
},
"pidTuningGyroLowpassFrequencyHelp": {
"message": "Gyro Soft Lowpass Frequency [Hz]"
},
"pidTuningGyroNotch1Frequency": {
"message": "Gyro Notch Filter 1 Frequency [Hz]"
},
"pidTuningGyroNotch2Frequency": {
"message": "Gyro Notch Filter 2 Frequency [Hz]"
},
"pidTuningGyroNotchFrequencyHelp": {
"message": "Gyro Notch Filter Frequency in Hz (0 means disabled)"
},
"pidTuningGyroNotch1Cutoff": {
"pidTuningNonProfileFilterSettings": {
"message": "Profile independent Filter Settings"
},
"pidTuningGyroLowpassFrequency": {
"message": "Gyro Soft Lowpass Frequency [Hz]"
},
"pidTuningGyroLowpassFrequencyHelp": {
"message": "Gyro Soft Lowpass Frequency [Hz]"
},
"pidTuningGyroNotch1Frequency": {
"message": "Gyro Notch Filter 1 Frequency [Hz]"
},
"pidTuningGyroNotch2Frequency": {
"message": "Gyro Notch Filter 2 Frequency [Hz]"
},
"pidTuningGyroNotchFrequencyHelp": {
"message": "Gyro Notch Filter Frequency in Hz (0 means disabled)"
},
"pidTuningGyroNotch1Cutoff": {
"message": "Gyro Notch Filter Cutoff 1 Frequency [Hz]"
},
"pidTuningGyroNotch2Cutoff": {
"message": "Gyro Notch Filter Cutoff 2 Frequency [Hz]"
},
"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)"
},
"pidTuningFilterSettings": {
"message": "Filter Settings"
},
"pidTuningDTermLowpassFrequency": {
"message": "D Term Lowpass Frequency [Hz]"
},
"pidTuningDTermLowpassFrequencyHelp": {
"message": "D Term Lowpass Frequency [Hz] (0 means disabled)"
},
"pidTuningDTermNotchFrequency": {
"message": "D Term Notch Filter Frequency [Hz]"
},
"pidTuningDTermNotchFrequencyHelp": {
"message": "D Term Notch Filter Frequency [Hz] (0 means disabled)"
},
"pidTuningDTermNotchCutoff": {
"message": "D Term Notch Filter Cutoff [Hz]"
},
"pidTuningDTermNotchCutoffHelp": {
"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)"
},
"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": {
"message": "Filter Settings"
},
"pidTuningDTermLowpassType": {
"message": "D-Term Lowpass Filter"
},
"pidTuningDTermLowpassTypeTip": {
"message": "Select D-Term lowpass filter type to use. Default is BIQUAD"
},
"pidTuningDTermLowpassFrequency": {
"message": "D Term Lowpass Frequency [Hz]"
},
"pidTuningDTermLowpassFrequencyHelp": {
"message": "D Term Lowpass Frequency [Hz] (0 means disabled)"
},
"pidTuningDTermNotchFrequency": {
"message": "D Term Notch Filter Frequency [Hz]"
},
"pidTuningDTermNotchFrequencyHelp": {
"message": "D Term Notch Filter Frequency [Hz] (0 means disabled)"
},
"pidTuningDTermNotchCutoff": {
"message": "D Term Notch Filter Cutoff [Hz]"
},
"pidTuningDTermNotchCutoffHelp": {
"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": {
"message": "Vbat PID Compensation"
},
@ -2474,22 +2480,22 @@
"message": "FPV Camera Angle [degrees]"
},
"onboardLoggingBlackbox": {
"message": "Blackbox logging device"
"message": "Blackbox logging device"
},
"onboardLoggingRateOfLogging": {
"message": "Blackbox logging rate"
"onboardLoggingRateOfLogging": {
"message": "Blackbox logging rate"
},
"onboardLoggingSerialLogger": {
"message": "Outboard serial logging device"
"onboardLoggingSerialLogger": {
"message": "Outboard serial logging device"
},
"onboardLoggingFlashLogger": {
"message": "Onboard dataflash chip"
"onboardLoggingFlashLogger": {
"message": "Onboard dataflash chip"
},
"onboardLoggingEraseInProgress": {
"message": "Erase in progress, please wait..."
"onboardLoggingEraseInProgress": {
"message": "Erase in progress, please wait..."
},
"onboardLoggingOnboardSDCard": {
"message": "Onboard SD card"
"onboardLoggingOnboardSDCard": {
"message": "Onboard SD card"
}

View File

@ -77,21 +77,21 @@ var FC = {
rateProfile: 0,
boardType: 0,
};
FEATURE_CONFIG = {
features: 0,
};
MIXER_CONFIG = {
mixer: 0,
};
};
BOARD_ALIGNMENT_CONFIG = {
roll: 0,
pitch: 0,
yaw: 0,
};
LED_STRIP = [];
LED_COLORS = [];
LED_MODE_COLORS = [];
@ -192,7 +192,7 @@ var FC = {
VOLTAGE_METER_CONFIGS = [];
CURRENT_METERS = [];
CURRENT_METER_CONFIGS = [];
BATTERY_STATE = {};
BATTERY_CONFIG = {
vbatmincellvoltage: 0,
@ -202,7 +202,7 @@ var FC = {
voltageMeterSource: 0,
currentMeterSource: 0,
};
ARMING_CONFIG = {
auto_disarm_delay: 0,
disarm_kill_switch: 0,
@ -211,7 +211,7 @@ var FC = {
FC_CONFIG = {
loopTime: 0
};
MISC = {
// 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,
@ -228,14 +228,14 @@ var FC = {
maxthrottle: 0,
mincommand: 0,
};
GPS_CONFIG = {
provider: 0,
ublox_sbas: 0,
auto_config: 0,
auto_baud: 0,
};
COMPASS_CONFIG = {
mag_declination: 0,
};
@ -243,7 +243,7 @@ var FC = {
RSSI_CONFIG = {
channel: 0,
};
MOTOR_3D_CONFIG = {
deadband3d_low: 0,
deadband3d_high: 0,
@ -313,6 +313,7 @@ var FC = {
dterm_notch_cutoff: 0,
gyro_soft_notch_hz_2: 0,
gyro_soft_notch_cutoff_2: 0,
dterm_filter_type: 0,
};
ADVANCED_TUNING = {

View File

@ -788,6 +788,9 @@ MspHelper.prototype.process_data = function(dataHandler) {
FILTER_CONFIG.gyro_soft_notch_hz_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;
case MSPCodes.MSP_SET_PID_ADVANCED:
@ -1388,6 +1391,9 @@ MspHelper.prototype.crunch = function(code) {
buffer.push16(FILTER_CONFIG.gyro_soft_notch_hz_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;
case MSPCodes.MSP_SET_PID_ADVANCED:

View File

@ -434,6 +434,21 @@
<p i18n="tuningHelp"></p>
</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="gui_box grey topspacer pid_filter">
<table class="pid_titlebar new_rates">

View File

@ -258,6 +258,12 @@ TABS.pid_tuning.initialize = function (callback) {
} else {
$('.pid_sensitivity').hide();
}
if (semver.gte(CONFIG.apiVersion, "1.36.0")) {
$('.profile select[name="dtermFilterType"]').val(FILTER_CONFIG.dterm_filter_type);
} else {
$('.dtermfiltertype').hide();
}
}
function form_to_pid_and_rc() {
@ -368,6 +374,10 @@ TABS.pid_tuning.initialize = function (callback) {
ADVANCED_TUNING.levelAngleLimit = parseInt($('.pid_tuning input[name="angleLimit"]').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();
}
}
function showAllPids() {
@ -590,7 +600,7 @@ TABS.pid_tuning.initialize = function (callback) {
$('#pid-tuning .ptermSetpoint').hide();
$('#pid-tuning .dtermSetpoint').hide();
}
if (!semver.gte(CONFIG.apiVersion, "1.16.0")) {
$('#pid-tuning .delta').hide();
$('.tab-pid_tuning .note').hide();