Fix CPU bug due toe reinitialising of filters
This commit is contained in:
parent
da9673b982
commit
4ff2802095
|
@ -247,7 +247,7 @@ static void resetPidProfile(pidProfile_t *pidProfile)
|
||||||
pidProfile->dtermSetpointWeight = 120;
|
pidProfile->dtermSetpointWeight = 120;
|
||||||
pidProfile->yawRateAccelLimit = 220;
|
pidProfile->yawRateAccelLimit = 220;
|
||||||
pidProfile->rateAccelLimit = 0;
|
pidProfile->rateAccelLimit = 0;
|
||||||
pidProfile->toleranceBand = 15;
|
pidProfile->toleranceBand = 0;
|
||||||
pidProfile->toleranceBandReduction = 40;
|
pidProfile->toleranceBandReduction = 40;
|
||||||
pidProfile->zeroCrossAllowanceCount = 2;
|
pidProfile->zeroCrossAllowanceCount = 2;
|
||||||
pidProfile->itermThrottleGain = 0;
|
pidProfile->itermThrottleGain = 0;
|
||||||
|
|
|
@ -116,11 +116,13 @@ void initFilters(const pidProfile_t *pidProfile) {
|
||||||
if (pidProfile->dterm_notch_hz && !dtermNotchInitialised) {
|
if (pidProfile->dterm_notch_hz && !dtermNotchInitialised) {
|
||||||
float notchQ = filterGetNotchQ(pidProfile->dterm_notch_hz, pidProfile->dterm_notch_cutoff);
|
float notchQ = filterGetNotchQ(pidProfile->dterm_notch_hz, pidProfile->dterm_notch_cutoff);
|
||||||
for (axis = 0; axis < 3; axis++) biquadFilterInit(&dtermFilterNotch[axis], pidProfile->dterm_notch_hz, gyro.targetLooptime, notchQ, FILTER_NOTCH);
|
for (axis = 0; axis < 3; axis++) biquadFilterInit(&dtermFilterNotch[axis], pidProfile->dterm_notch_hz, gyro.targetLooptime, notchQ, FILTER_NOTCH);
|
||||||
|
dtermNotchInitialised = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pidProfile->dterm_filter_type == FILTER_BIQUAD) {
|
if (pidProfile->dterm_filter_type == FILTER_BIQUAD) {
|
||||||
if (pidProfile->dterm_lpf_hz && !dtermBiquadLpfInitialised) {
|
if (pidProfile->dterm_lpf_hz && !dtermBiquadLpfInitialised) {
|
||||||
for (axis = 0; axis < 3; axis++) biquadFilterInitLPF(&dtermFilterLpf[axis], pidProfile->dterm_lpf_hz, gyro.targetLooptime);
|
for (axis = 0; axis < 3; axis++) biquadFilterInitLPF(&dtermFilterLpf[axis], pidProfile->dterm_lpf_hz, gyro.targetLooptime);
|
||||||
|
dtermBiquadLpfInitialised = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue