mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-26 01:35:41 +03:00
Merge pull request #11050 from haslinghuis/fw_change_filter_sliders
This commit is contained in:
commit
7a3cbd0706
1 changed files with 40 additions and 12 deletions
|
@ -65,22 +65,50 @@ static void calculateNewPidValues(pidProfile_t *pidProfile)
|
||||||
|
|
||||||
static void calculateNewDTermFilterValues(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);
|
if (pidProfile->dterm_lpf1_dyn_min_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_dyn_min_hz = constrain(DTERM_LPF1_DYN_MIN_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_lpf1_dyn_max_hz = constrain(DTERM_LPF1_DYN_MAX_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_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()
|
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);
|
if (gyroConfigMutable()->gyro_lpf1_dyn_min_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_dyn_min_hz = constrain(GYRO_LPF1_DYN_MIN_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_lpf1_dyn_max_hz = constrain(GYRO_LPF1_DYN_MAX_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_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)
|
void applySimplifiedTuning(pidProfile_t *pidProfile)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue