-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[crsf] add temperature, RPM and AirSpeed telemetry #11025
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
base: master
Are you sure you want to change the base?
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Thanks for making your first PR for INAV! To avoid compile warnings, you may want to expand the scope of |
In order to pass CI, your changes should not emit warnings. |
User description
This adds RPM and temperature telemetry values to CRSF.
Basically the values are taken from connected ESCs and temperature sensors if available. Not sure if it's useful to add MCU temperature or BARO temperature.
Currently, all temperatures are sent within one package with ID = 0 --> 20 values are supported.
PR Type
Enhancement
Description
This description is generated by an AI tool. It may have inaccuracies
Add RPM telemetry support for ESC sensors
Add temperature telemetry for ESCs and sensors
Implement CRSF frame types 0x0C and 0x0D
Support up to 20 temperature values per frame
Diagram Walkthrough
File Walkthrough
crsf.h
Add RPM and temperature frame type definitions
src/main/rx/crsf.h
CRSF_FRAMETYPE_RPM
(0x0C) frame type constantCRSF_FRAMETYPE_TEMP
(0x0D) frame type constantcrsf.c
Implement RPM and temperature telemetry functions
src/main/telemetry/crsf.c
crsfSerialize24()
function for 24-bit serializationcrsfRpm()
function for ESC RPM telemetrycrsfTemperature()
function for temperature telemetry