Skip to content

Commit 77d9aab

Browse files
Quick-FlashnerdCopter
authored andcommitted
add to osd
1 parent 9598de8 commit 77d9aab

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

src/main/cli/settings.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,10 +1072,10 @@ const clivalue_t valueTable[] = {
10721072
{ "dterm_lpf1_dyn_expo", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, 10 }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf1_dyn_expo) },
10731073
#endif
10741074
{ PARAM_NAME_DTERM_LPF1_TYPE, VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_DTERM_LPF_TYPE }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf1_type) },
1075-
{ "dterm_lpf1_biquad_q", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, 10 }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf1_biquad_q) },
1075+
{ "dterm_lpf1_biquad_q", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 1, 100 }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf1_biquad_q) },
10761076
{ PARAM_NAME_DTERM_LPF1_STATIC_HZ, VAR_INT16 | PROFILE_VALUE, .config.minmax = { 0, LPF_MAX_HZ }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf1_static_hz) },
10771077
{ PARAM_NAME_DTERM_LPF2_TYPE, VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_DTERM_LPF_TYPE }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf2_type) },
1078-
{ "dterm_lpf2_biquad_q", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, 10 }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf2_biquad_q) },
1078+
{ "dterm_lpf2_biquad_q", VAR_UINT8 | PROFILE_VALUE, .config.minmaxUnsigned = { 1, 100 }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf2_biquad_q) },
10791079
{ PARAM_NAME_DTERM_LPF2_STATIC_HZ, VAR_INT16 | PROFILE_VALUE, .config.minmax = { 0, LPF_MAX_HZ }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_lpf2_static_hz) },
10801080
{ PARAM_NAME_DTERM_NOTCH_HZ, VAR_UINT16 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, LPF_MAX_HZ }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_notch_hz) },
10811081
{ PARAM_NAME_DTERM_NOTCH_CUTOFF, VAR_UINT16 | PROFILE_VALUE, .config.minmaxUnsigned = { 0, LPF_MAX_HZ }, PG_PID_PROFILE, offsetof(pidProfile_t, dterm_notch_cutoff) },
@@ -1702,7 +1702,6 @@ const clivalue_t valueTable[] = {
17021702
#ifdef USE_RPM_FILTER
17031703
{ PARAM_NAME_RPM_FILTER_HARMONICS, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, 3 }, PG_RPM_FILTER_CONFIG, offsetof(rpmFilterConfig_t, rpm_filter_harmonics) },
17041704
{ PARAM_NAME_RPM_FILTER_Q, VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 250, 3000 }, PG_RPM_FILTER_CONFIG, offsetof(rpmFilterConfig_t, rpm_filter_q) },
1705-
{ PARAM_NAME_RPM_FILTER_Q, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 1, 255 }, PG_RPM_FILTER_CONFIG, offsetof(rpmFilterConfig_t, noise_limit) },
17061705
{ PARAM_NAME_RPM_FILTER_MIN_HZ, VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 30, 200 }, PG_RPM_FILTER_CONFIG, offsetof(rpmFilterConfig_t, rpm_filter_min_hz) },
17071706
{ PARAM_NAME_RPM_FILTER_FADE_RANGE_HZ, VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 0, 1000 }, PG_RPM_FILTER_CONFIG, offsetof(rpmFilterConfig_t, rpm_filter_fade_range_hz) },
17081707
{ PARAM_NAME_RPM_FILTER_LPF_HZ, VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 100, 500 }, PG_RPM_FILTER_CONFIG, offsetof(rpmFilterConfig_t, rpm_filter_lpf_hz) },

src/main/cms/cms_menu_imu.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -862,7 +862,9 @@ static CMS_Menu cmsx_menuDynFilt = {
862862
#endif
863863

864864
static uint16_t cmsx_dterm_lpf1_static_hz;
865+
static uint8_t cmsx_dterm_lpf1_q;
865866
static uint16_t cmsx_dterm_lpf2_static_hz;
867+
static uint8_t cmsx_dterm_lpf2_q;
866868
static uint16_t cmsx_dterm_notch_hz;
867869
static uint16_t cmsx_dterm_notch_cutoff;
868870
static uint16_t cmsx_yaw_lowpass_hz;
@@ -874,7 +876,9 @@ static const void *cmsx_FilterPerProfileRead(displayPort_t *pDisp)
874876
const pidProfile_t *pidProfile = pidProfiles(pidProfileIndex);
875877

876878
cmsx_dterm_lpf1_static_hz = pidProfile->dterm_lpf1_static_hz;
879+
cmsx_dterm_lpf1_q = pidProfile->dterm_lpf1_biquad_q;
877880
cmsx_dterm_lpf2_static_hz = pidProfile->dterm_lpf2_static_hz;
881+
cmsx_dterm_lpf2_q = pidProfile->dterm_lpf2_biquad_q;
878882
cmsx_dterm_notch_hz = pidProfile->dterm_notch_hz;
879883
cmsx_dterm_notch_cutoff = pidProfile->dterm_notch_cutoff;
880884
cmsx_yaw_lowpass_hz = pidProfile->yaw_lowpass_hz;
@@ -890,7 +894,9 @@ static const void *cmsx_FilterPerProfileWriteback(displayPort_t *pDisp, const OS
890894
pidProfile_t *pidProfile = currentPidProfile;
891895

892896
pidProfile->dterm_lpf1_static_hz = cmsx_dterm_lpf1_static_hz;
897+
pidProfile->dterm_lpf1_biquad_q = cmsx_dterm_lpf1_q;
893898
pidProfile->dterm_lpf2_static_hz = cmsx_dterm_lpf2_static_hz;
899+
pidProfile->dterm_lpf2_biquad_q = cmsx_dterm_lpf2_q;
894900
pidProfile->dterm_notch_hz = cmsx_dterm_notch_hz;
895901
pidProfile->dterm_notch_cutoff = cmsx_dterm_notch_cutoff;
896902
pidProfile->yaw_lowpass_hz = cmsx_yaw_lowpass_hz;
@@ -903,7 +909,9 @@ static const OSD_Entry cmsx_menuFilterPerProfileEntries[] =
903909
{ "-- FILTER PP --", OME_Label, NULL, NULL },
904910

905911
{ "DTERM LPF1", OME_UINT16 | SLIDER_DTERM, NULL, &(OSD_UINT16_t){ &cmsx_dterm_lpf1_static_hz, 0, LPF_MAX_HZ, 1 } },
912+
{ "LPF1 Q", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_dterm_lpf1_q, 0, 100, 1 } },
906913
{ "DTERM LPF2", OME_UINT16 | SLIDER_DTERM, NULL, &(OSD_UINT16_t){ &cmsx_dterm_lpf2_static_hz, 0, LPF_MAX_HZ, 1 } },
914+
{ "LPF2 Q", OME_UINT8, NULL, &(OSD_UINT8_t){ &cmsx_dterm_lpf2_q, 0, 100, 1 } },
907915
{ "DTERM NF", OME_UINT16, NULL, &(OSD_UINT16_t){ &cmsx_dterm_notch_hz, 0, LPF_MAX_HZ, 1 } },
908916
{ "DTERM NFCO", OME_UINT16, NULL, &(OSD_UINT16_t){ &cmsx_dterm_notch_cutoff, 0, LPF_MAX_HZ, 1 } },
909917
{ "YAW LPF", OME_UINT16, NULL, &(OSD_UINT16_t){ &cmsx_yaw_lowpass_hz, 0, 500, 1 } },

src/main/flight/pid.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,9 @@ void resetPidProfile(pidProfile_t *pidProfile)
180180
// reset the lowpass filter type to PT1 overriding the desired BIQUAD setting.
181181
.dterm_lpf2_static_hz = DTERM_LPF2_HZ_DEFAULT, // second Dterm LPF ON by default
182182
.dterm_lpf1_type = FILTER_PT1,
183-
.dterm_lpf1_biquad_q = 141,
183+
.dterm_lpf1_biquad_q = 71,
184184
.dterm_lpf2_type = FILTER_PT1,
185-
.dterm_lpf2_biquad_q = 141,
185+
.dterm_lpf2_biquad_q = 71,
186186
.dterm_lpf1_dyn_min_hz = DTERM_LPF1_DYN_MIN_HZ_DEFAULT,
187187
.dterm_lpf1_dyn_max_hz = DTERM_LPF1_DYN_MAX_HZ_DEFAULT,
188188
.launchControlMode = LAUNCH_CONTROL_MODE_NORMAL,
@@ -1127,7 +1127,7 @@ void FAST_CODE pidController(const pidProfile_t *pidProfile, timeUs_t currentTim
11271127
if (feedforwardGain > 0) {
11281128
// halve feedforward in Level mode since stick sensitivity is weaker by about half
11291129
feedforwardGain *= FLIGHT_MODE(ANGLE_MODE) ? 0.5f : 1.0f;
1130-
// transition now calculated in feedforward.c when new RC data arrives
1130+
// transition now calculated in feedforward.c when new RC data arrives
11311131
float feedForward = feedforwardGain * pidSetpointDelta * pidRuntime.pidFrequency;
11321132

11331133
#ifdef USE_FEEDFORWARD

0 commit comments

Comments
 (0)