-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Add (e)RPM field to blackbox logs #12823
Conversation
- change eRPM I frame encoding to UNSIGNED_VB (was SIGNED_VB) - change eRPM P frame prediction to PREVIOUS (was AVERAGE_2) - change eRPM log field name to 'eRPM(/100)' (was 'RPM') - rename rpm field in blackboxMainState_s to erpm - minor formatting fixes to BlackBoxMainFields spacing and some if clauses
Do you want to test this code? Here you have an automated build: |
AUTOMERGE: (FAIL)
|
Updated first post with some example logs. For some reason the data from the RPM field is one frame ahead of the data in the debug in the 3205 Hz file (and occasionally just different). In the 1602 Hz file the data is just slightly off with no obvious pattern. This issue is also present in the other PR (logging the e intervals) but there I couldn't be sure that the difference was not due to some kind of rounding error. Not sure if this is a problem with this PR or have something to do with the decoding in bb explorer. |
@tbolin : Isn't is just race between |
Maybe, but as far as I know getDshotTelemetry that is used to get the eRPM data for the RPM field will also call |
I found the reason for the delay. In |
Complements betaflight/betaflight#12823
* Add RPM black box field * Fix settings table spacing * Move RPM field to end of FlightLogFieldSelect enum * Fix various RPM logging related bugs - change eRPM I frame encoding to UNSIGNED_VB (was SIGNED_VB) - change eRPM P frame prediction to PREVIOUS (was AVERAGE_2) - change eRPM log field name to 'eRPM(/100)' (was 'RPM') - rename rpm field in blackboxMainState_s to erpm - minor formatting fixes to BlackBoxMainFields spacing and some if clauses * Remove superfluous parentheses in blackbox.c
Alternative to #12562, logging eRPM instead of eInterval
Adds a separate field for motor RPM from dshot telemetry.
Will only log the existing motors and only if bidirectional dshot is activated, and leaves the debug field free to use for other things.
Can also be disabled just like other black box fields.
The logged value is eRPM and the field names in the log file are
"eRPM(/100) [*motor number*]"
.However, in black box explorer the field is just called RPM and the displayed values are RPM and Hz.
Corresponding PRs
Blackbox Explorer: betaflight/blackbox-log-viewer#640
Configurator: betaflight/betaflight-configurator#3392
Data
Some example logs with the dshot RPM debug enabled