1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 01:05:27 +03:00

Merge pull request #11050 from haslinghuis/fw_change_filter_sliders

This commit is contained in:
J Blackman 2021-11-26 06:35:52 +11:00 committed by GitHub
commit 7a3cbd0706
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -65,22 +65,50 @@ static void calculateNewPidValues(pidProfile_t *pidProfile)
static void calculateNewDTermFilterValues(pidProfile_t *pidProfile)
{
pidProfile->dterm_lpf1_dyn_min_hz = constrain(DTERM_LPF1_DYN_MIN_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
pidProfile->dterm_lpf1_dyn_max_hz = constrain(DTERM_LPF1_DYN_MAX_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
pidProfile->dterm_lpf1_static_hz = constrain(DTERM_LPF1_DYN_MIN_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
pidProfile->dterm_lpf2_static_hz = constrain(DTERM_LPF2_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, LPF_MAX_HZ);
pidProfile->dterm_lpf1_type = FILTER_PT1;
pidProfile->dterm_lpf2_type = FILTER_PT1;
if (pidProfile->dterm_lpf1_dyn_min_hz) {
pidProfile->dterm_lpf1_dyn_min_hz = constrain(DTERM_LPF1_DYN_MIN_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
pidProfile->dterm_lpf1_dyn_max_hz = constrain(DTERM_LPF1_DYN_MAX_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
}
if (pidProfile->dterm_lpf1_static_hz) {
pidProfile->dterm_lpf1_static_hz = constrain(DTERM_LPF1_DYN_MIN_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
}
if (pidProfile->dterm_lpf2_static_hz) {
pidProfile->dterm_lpf2_static_hz = constrain(DTERM_LPF2_HZ_DEFAULT * pidProfile->simplified_dterm_filter_multiplier / 100, 0, LPF_MAX_HZ);
}
if (!pidProfile->dterm_lpf1_type) {
pidProfile->dterm_lpf1_type = FILTER_PT1;
}
if (!pidProfile->dterm_lpf2_type) {
pidProfile->dterm_lpf2_type = FILTER_PT1;
}
}
static void calculateNewGyroFilterValues()
{
gyroConfigMutable()->gyro_lpf1_dyn_min_hz = constrain(GYRO_LPF1_DYN_MIN_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
gyroConfigMutable()->gyro_lpf1_dyn_max_hz = constrain(GYRO_LPF1_DYN_MAX_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
gyroConfigMutable()->gyro_lpf1_static_hz = constrain(GYRO_LPF1_DYN_MIN_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
gyroConfigMutable()->gyro_lpf2_static_hz = constrain(GYRO_LPF2_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, LPF_MAX_HZ);
gyroConfigMutable()->gyro_lpf1_type = FILTER_PT1;
gyroConfigMutable()->gyro_lpf2_type = FILTER_PT1;
if (gyroConfigMutable()->gyro_lpf1_dyn_min_hz) {
gyroConfigMutable()->gyro_lpf1_dyn_min_hz = constrain(GYRO_LPF1_DYN_MIN_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
gyroConfigMutable()->gyro_lpf1_dyn_max_hz = constrain(GYRO_LPF1_DYN_MAX_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
}
if (gyroConfigMutable()->gyro_lpf1_static_hz) {
gyroConfigMutable()->gyro_lpf1_static_hz = constrain(GYRO_LPF1_DYN_MIN_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, DYN_LPF_MAX_HZ);
}
if (gyroConfigMutable()->gyro_lpf2_static_hz) {
gyroConfigMutable()->gyro_lpf2_static_hz = constrain(GYRO_LPF2_HZ_DEFAULT * gyroConfig()->simplified_gyro_filter_multiplier / 100, 0, LPF_MAX_HZ);
}
if (!gyroConfigMutable()->gyro_lpf1_type) {
gyroConfigMutable()->gyro_lpf1_type = FILTER_PT1;
}
if (!gyroConfigMutable()->gyro_lpf2_type) {
gyroConfigMutable()->gyro_lpf2_type = FILTER_PT1;
}
}
void applySimplifiedTuning(pidProfile_t *pidProfile)