1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-17 13:25:30 +03:00

filter fix

This commit is contained in:
Thorsten Laux 2019-02-21 13:29:30 +01:00
parent e053965489
commit f90e9e51f9

View file

@ -116,7 +116,7 @@ void rpmFilterInit(const rpmFilterConfig_t *config)
}
for (int i = 0; i < getMotorCount(); i++) {
pt1FilterInit(&rpmFilters[i], pt1FilterGain(config->rpm_lpf, pidLooptime));
pt1FilterInit(&rpmFilters[i], pt1FilterGain(config->rpm_lpf, pidLooptime * 1e-6f));
}
erpmToHz = ERPM_PER_LSB / SECONDS_PER_MINUTE / (motorConfig()->motorPoleCount / 2.0f);
@ -125,7 +125,8 @@ void rpmFilterInit(const rpmFilterConfig_t *config)
numberFilters = getMotorCount() * (filters[0].harmonics + filters[1].harmonics);
const float filtersPerLoopIteration = numberFilters / loopIterationsPerUpdate;
filterUpdatesPerIteration = rintf(filtersPerLoopIteration + 0.49f);
maxFrequency = 0.5f / (gyro.targetLooptime * 1e-6f);
// don't go quite to nyquist to avoid oscillations
maxFrequency = 0.48f / (gyro.targetLooptime * 1e-6f);
}
static float applyFilter(rpmNotchFilter_t* filter, int axis, float value)