stepinside/Arduino-CRSF

Telemetry support

Opened this issue · 8 comments

This awesome and super happy to see you are working on this library. I'm planning to try it out for a combat robot (like Battle bots). Do you have plans for implementing telemetry and/or would you accept a PR if I get a chance to work on it?

Sorry for my late reply. I would love to implement telemetry and appreciate any contribution, but unfortunately I don't have time to work on it right now because I have some higher priority projects.

Do you have documentation on how telemetry is implemented? Maybe I can have a look in my free time.

Unfortunately not.

I might have some time to help, as I'm now getting more interested in elrs for arduino remote control use.

if we can find docs on how the telemetry is encoded and come up with a first requirements doc, I'm game to have a go at it. telemetry is a big part of what makes elrs very competitive.

worst case we can dive into the actual source code from another project. using existing include files (etc) would be very helpful, here.

Speaking of the worst case, here is some stuff from the ExpressLRS source code:

https://github.com/ExpressLRS/ExpressLRS/blob/master/src/lib/CrsfProtocol/crsf_protocol.h

https://github.com/ExpressLRS/ExpressLRS/blob/master/src/lib/CRSF/CRSF.cpp#L267

https://github.com/ExpressLRS/ExpressLRS/blob/521e2140903ea4845b4a125b7f1bb3f79d749877/src/lib/TelemetryProtocol/telemetry_protocol.h

I am not sure if this really helps, I didn't find so much useful code in there sadly, but C/C++ is not my strongest of programming languagues yet, so you might find more than I do.

I could not get this lib to work, not even at 115200.

I could get THIS one to work: https://github.com/CapnBry/CRServoF/tree/master/lib/CrsfSerial

has anyone gotton this code (not the capnbry) one working? no matter what I do, I get nothing from serial out. same hardware (mega shield style board) and same elrs rx, flashed to 3.0.0 and at 115200 baud, that guy's lib works and decodes my 9 channels fine and this one shows no output at all.

maybe I'm missing some essential loop() calls or something?

hi i have been looking for a telemetry solution for a long time too. But I found nothing interesting apart from a few links on the ardupilot forum. The implementation is only native.
Here's an interesting hack But too difficult for me to implement.
https://www.g3gg0.de/wordpress/fpv/fpv-analysis-of-tbs-crossfire/

Maybe someone will do this crsf telemetry one day

Mateksys CRSF-PWM-C has the device and software unfortunately not opensource

Congratulations to the author for the work @stepinside

hi i have been looking for a telemetry solution for a long time too. But I found nothing interesting apart from a few links on the ardupilot forum. The implementation is only native. Here's an interesting hack But too difficult for me to implement. https://www.g3gg0.de/wordpress/fpv/fpv-analysis-of-tbs-crossfire/

Maybe someone will do this crsf telemetry one day

Mateksys CRSF-PWM-C has the device and software unfortunately not opensource

Congratulations to the author for the work @stepinside

I've solved the telemetry problem. Can read all of the link statistics at 150Hz on an Arduino Due directly from an ELRS RX. I will post a repository here soon.

Not sure if you were still interested in a telemetry solution.