From ed04a1f24a4f186eff37562bfe5cea718905811a Mon Sep 17 00:00:00 2001 From: Martin Budden Date: Fri, 24 Nov 2017 07:23:19 +0000 Subject: [PATCH] Improve ACC filter initialisation --- src/main/fc/config.c | 2 +- src/main/fc/fc_init.c | 2 +- src/main/sensors/acceleration.c | 4 ++-- src/main/sensors/acceleration.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/fc/config.c b/src/main/fc/config.c index 4eff243387..7bb5fc289c 100755 --- a/src/main/fc/config.c +++ b/src/main/fc/config.c @@ -307,7 +307,7 @@ void activateConfig(void) failsafeReset(); setAccelerationTrims(&accelerometerConfigMutable()->accZero); - setAccelerationFilter(accelerometerConfig()->acc_lpf_hz); + accInitFilters(); imuConfigure(throttleCorrectionConfig()->throttle_correction_angle); #endif // USE_OSD_SLAVE diff --git a/src/main/fc/fc_init.c b/src/main/fc/fc_init.c index 16ce58aeb1..41e06cb137 100644 --- a/src/main/fc/fc_init.c +++ b/src/main/fc/fc_init.c @@ -511,7 +511,7 @@ void init(void) // so we are ready to call validateAndFixGyroConfig(), pidInit(), and setAccelerationFilter() validateAndFixGyroConfig(); pidInit(currentPidProfile); - setAccelerationFilter(accelerometerConfig()->acc_lpf_hz); + accInitFilters(); #ifdef USE_SERVOS servosInit(); diff --git a/src/main/sensors/acceleration.c b/src/main/sensors/acceleration.c index bd33f8674a..804ac6b465 100644 --- a/src/main/sensors/acceleration.c +++ b/src/main/sensors/acceleration.c @@ -499,9 +499,9 @@ void setAccelerationTrims(flightDynamicsTrims_t *accelerationTrimsToUse) accelerationTrims = accelerationTrimsToUse; } -void setAccelerationFilter(uint16_t initialAccLpfCutHz) +void accInitFilters(void) { - accLpfCutHz = initialAccLpfCutHz; + accLpfCutHz = accelerometerConfig()->acc_lpf_hz; if (acc.accSamplingInterval) { for (int axis = 0; axis < XYZ_AXIS_COUNT; axis++) { biquadFilterInitLPF(&accFilter[axis], accLpfCutHz, acc.accSamplingInterval); diff --git a/src/main/sensors/acceleration.h b/src/main/sensors/acceleration.h index 57ee0fc82d..e275391f36 100644 --- a/src/main/sensors/acceleration.h +++ b/src/main/sensors/acceleration.h @@ -80,4 +80,4 @@ void resetRollAndPitchTrims(rollAndPitchTrims_t *rollAndPitchTrims); void accUpdate(rollAndPitchTrims_t *rollAndPitchTrims); union flightDynamicsTrims_u; void setAccelerationTrims(union flightDynamicsTrims_u *accelerationTrimsToUse); -void setAccelerationFilter(uint16_t initialAccLpfCutHz); +void accInitFilters(void);