-
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. |
|
Who has tested this, please? |
|
@gismo2004 I wanted to test this with my older radio running Opentx and a TBS CRSF module. To see if it had compatibility. |
|
@Jetrell honestly, I have no idea how these changes should influence other messages. VSpd is sent via message 0x07 which this PR does not touch at all. I don't know how OpenTx handles CRSF telemetry, but seems to be different to EdgeTx where it works for me at least. Not sure what you mean by 0x09 payload size? If you think it is related to message 0x09 Barometric Altitude & Vertical Speed which is NOT sending VSpeed in iNAV then we need to find out, why it is implemented like that currently. Additionally, if it is really message 0x09 that causes it, I am still unsure how my changes interact with that massage?! @sensei-hacker any thoughts? |
|
I can't see anything in this PR which would affect vspeed. However #11100 does make a change to that sensor. It wouldn't surprise me if the change breaks OpenTX. Which is why I asked for the legacy mode to be added. It seems like OpenTX would really benefit from a small update to bring it in line with some protocol changes. I hope that happens. I really don't want to install EdgeTX. |
Me too. I still use OpenTX on my older X9D+ for testing. It saves wearing out the newer radios switches etc. I prefer to leave it for my better aircraft. Feel free to chime in @MrD-RC @stronnag with your knowledge. of how INAV would handle this. |
|
I agree with you. Personally I've not updated Crossfire in a long time. Because of all the problems that people started having with links being dropped. Is the latest firmware even reliable? As for EdgeTX. I simply don't like it on my X10. I see it as a step backwards. The UI is unnecessarily oversized and a lot of things that were fixed in OpenTX were broken again in EdgeTX. Making it worse to use. It works ok on the Jumper T15. The fat UI is less noticeable on the smaller screen. But there are still the other issues. Text entry with the buttons is particularly annoying on Edge. [EDIT] |
I'll third that. OpenTX here. The newest EdgeTX might have some feature that would be really cool if I didn't have INAV taking care of the cool stuff. |
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 definitionssrc/main/rx/crsf.h
CRSF_FRAMETYPE_RPM(0x0C) frame type constantCRSF_FRAMETYPE_TEMP(0x0D) frame type constantcrsf.c
Implement RPM and temperature telemetry functionssrc/main/telemetry/crsf.c
crsfSerialize24()function for 24-bit serializationcrsfRpm()function for ESC RPM telemetrycrsfTemperature()function for temperature telemetry