From 00ae128e3dd7dd4308117dd5786ae03fccdc3d33 Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Sat, 15 Aug 2015 15:48:38 +0200 Subject: [PATCH] constdT for gyro fliter dTGyro --- src/main/common/filter.h | 1 - src/main/mw.c | 7 ++++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/common/filter.h b/src/main/common/filter.h index 7ea2d3499..9d867fc09 100644 --- a/src/main/common/filter.h +++ b/src/main/common/filter.h @@ -8,7 +8,6 @@ typedef struct filterStatePt1_s { float state; float RC; - float constdT; } filterStatePt1_t; float filterApplyPt1(float input, filterStatePt1_t *filter, uint8_t f_cut, float dt); diff --git a/src/main/mw.c b/src/main/mw.c index 67e962832..c38ac724d 100644 --- a/src/main/mw.c +++ b/src/main/mw.c @@ -689,10 +689,15 @@ void processRx(void) // Gyro Low Pass void filterGyro(void) { int axis; + static float dTGyro; static filterStatePt1_t gyroADCState[XYZ_AXIS_COUNT]; + if (!dTGyro) { + dTGyro = (float)targetLooptime * 0.000001f; + } + for (axis = 0; axis < XYZ_AXIS_COUNT; axis++) { - gyroADC[axis] = filterApplyPt1(gyroADC[axis], &gyroADCState[axis], currentProfile->pidProfile.gyro_cut_hz, dT); + gyroADC[axis] = filterApplyPt1(gyroADC[axis], &gyroADCState[axis], currentProfile->pidProfile.gyro_cut_hz, dTGyro); } } void getArmingChannel(modeActivationCondition_t *modeActivationConditions, uint8_t *armingChannel) {