From c26f033c0da9aae9630a4d07a6d0b053d0b1e24e Mon Sep 17 00:00:00 2001 From: "Pawel Spychalski (DzikuVx)" Date: Fri, 10 May 2019 20:15:53 +0200 Subject: [PATCH] make d boost gyro delta LPF configurable --- src/main/fc/settings.yaml | 5 +++++ src/main/flight/pid.c | 3 ++- src/main/flight/pid.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/fc/settings.yaml b/src/main/fc/settings.yaml index af6a4f2d2c..15b12cacb9 100644 --- a/src/main/fc/settings.yaml +++ b/src/main/fc/settings.yaml @@ -1146,6 +1146,11 @@ groups: condition: USE_D_BOOST min: 1000 max: 16000 + - name: d_boost_gyro_delta_lpf_hz + field: dBoostGyroDeltaLpfHz + condition: USE_D_BOOST + min: 10 + max: 250 - name: PG_PID_AUTOTUNE_CONFIG type: pidAutotuneConfig_t diff --git a/src/main/flight/pid.c b/src/main/flight/pid.c index a2558d6440..434bf3aa37 100644 --- a/src/main/flight/pid.c +++ b/src/main/flight/pid.c @@ -230,6 +230,7 @@ PG_RESET_TEMPLATE(pidProfile_t, pidProfile, .iterm_relax = ITERM_RELAX_OFF, .dBoostFactor = 1.0f, .dBoostMaxAtAlleceleration = 7500.0f, + .dBoostGyroDeltaLpfHz = D_BOOST_GYRO_LPF_HZ, ); void pidInit(void) @@ -251,7 +252,7 @@ void pidInit(void) dBoostMaxAtAlleceleration = pidProfile()->dBoostMaxAtAlleceleration; for (int axis = 0; axis < XYZ_AXIS_COUNT; axis++) { - biquadFilterInitLPF(&dBoostGyroLpf[axis], D_BOOST_GYRO_LPF_HZ, getLooptime()); + biquadFilterInitLPF(&dBoostGyroLpf[axis], pidProfile()->dBoostGyroDeltaLpfHz, getLooptime()); } #endif diff --git a/src/main/flight/pid.h b/src/main/flight/pid.h index e14f2ccebe..befa9c6154 100644 --- a/src/main/flight/pid.h +++ b/src/main/flight/pid.h @@ -130,6 +130,7 @@ typedef struct pidProfile_s { float dBoostFactor; float dBoostMaxAtAlleceleration; + uint8_t dBoostGyroDeltaLpfHz; } pidProfile_t; typedef struct pidAutotuneConfig_s {