New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Bug causing Dynamic Idle to fail if RPM filtering is turned off #12270
Fix Bug causing Dynamic Idle to fail if RPM filtering is turned off #12270
Conversation
Fix for no RPM values sent to Dynamic Idle when RPM filtering was turned off
Do you want to test this code? Here you have an automated build: |
We should probably also put this to the 4.4-maintenance branch |
AUTOMERGE: (FAIL)
|
I'm thinking the processing of rpm data should probably be done elsewhere since it's used not only by the rpm filters. We have had issues like this before, and I'm sure we'll have them again, but for now I think this is good as a bugfix 🙂 |
That's on my TODO list for 4.5 👍 |
…etaflight#12270) Init erpmToHz even if RPM filtering is disabled Fix for no RPM values sent to Dynamic Idle when RPM filtering was turned off
This is a Bug Fix for an issue where Dynamic Idle went to maximum Idle boost, when activated, if RPM Filtering was switched off, even though DShot Telemetry was enabled.
Many thanks to Eddie Trejo for finding the bug and reporting it!
I think the bug originated here in PR #11765, where the initialisation of the various RPM Filter init values exited before calculating the
erpmToHz
value.erpmToHz
is required to calculate and returnminMotorFrequencyHz
to Dynamic Idle viagetMinMotorFrequency
.This PR just moves the calculation
erpmToHz
up, inrpmFilterInit
, so that it is calculated before the return when RPM Filtering is not enabled.This appears to solve the bug.