Passthrough telemetry over CRSF (crossfire)

Hi, sure, latest version supports both at the same time, you simply enable CRSF support from the config menu under TOOLS, nothing special needs to be done

Hey @yaapu, fantastic work as always. Are there any builds of your changes patched over on top of stable?

Iā€™m having issues with latest (its pan/tilt support is broken!). MSP for DJI OSD support + this CRSF Passthrough have been really great otherwise.

Hi, no unfortunately no backports :frowning:

Hello,

Is it possible to switch off these OSD messages?

I donā€™t mean the messages in the Mission Planner, but in the OSD messages text field.

ā€¦
CRSF RF mode 1, rate is 156Hz
CRSF: RF mode 2, rate is 155Hz
ā€¦

Hi, no but in a well behaving system you should see them when they are useful i.e. when you switch rf mode, if you see them too often your setup is perhaps jumping between modes too much

@yaapu I am a bit late to the party. But yeah I could confirm this issue still exist.

When ARMING_RUDDER is disabled definitely telemetry wasnā€™t present, the moment I turned it back to 1 (ArmingOnly) - telemetry came back. This is easy to reproduce on my end.

I have the same exact setup with @VenomFPV
F405 Wing flashed with latest arduplane latest 4.1.0.dev
Crossfire nano and micro tx v2 both running on 4.0.8 firmware
otx 2.3.11 on Taranis X9D+

CRSF TX/RX is connected to UART1
GPS is connected to UART3

Attached is my param.
arming_rudder_disabled_yaapu_telem.param (19.1 KB)

Thanks a lot for the hard work you put into this! Such amazing work.

1 Like

Thank you for all your effort.
Works great with Mateksys F405 wing, but only on UART3.

Big update: I finally got it all working! Bidirectional WiFi UDP connection to QGroundControl on my Mac and iPhone through my Tango2 to my Matek F405-Wing.

I used this TBS Support articleā€™s howto+firmware to update my wifi module to V1.41 - alpha and that made the difference.

Hereā€™s my complete setup: In the Crossfire Setup Menu I set the Wifi Module (running V1.41) to UDP On, note the port. Set the Crossfire Nano RX Output 1/2 to CSRF, 3/4 to Mavlink RX/TX. I wired crossfire 1/2 to Serial3 and 3/4 to Serial1 (any other serial should also work). In QGroundControl I added a new Comm Link, UDP, with the Listening Port noted earlier, and no Target Hosts added. In parameters I set SERIAL3_PROTOCOL to RCIN, RC_OPTIONS to 256, and SERIAL1_PROTOCOL to `MAVLink2. Thatā€™s it. Finally got it.

2 Likes

If you use the default port 14550 for Mavlink and set it in the Wifi module, you donā€™t need to make any settings in QGC or MP, because these apps will connect automatically.

The default setting of TBS for Mavlink to port 8888 is complete nonsense ā€¦

2 Likes

Itā€™s not working on serial3. Very frustrating.

Ok, so it looks like what you are suppose to do here is define BRD_ALT_CONFIG = 1 and then use serial6. Not sure if this affects your other experiments, but without that RCIN is defined as being on an interrupt

The latest ExpressLRS apparently has full CRSF telemetry support. I havenā€™t gotten it to work with Yaapu telemetry, but I do see the telemetry data in OpenTX with the latest version (RC1, which confusingly is apparently the third release candidate, lol).

ā€œInitially ExpressLRS had very limited telemetry support but with Version 1 RC 1 this changed and full support telemetry was added as optional feature.ā€

I was very surprised to see this entry on the Crossfire module today - did I miss something significant during my winter break? Didnā€™t activate the entry as I wasnā€™t sure what it would doā€¦

Hi, it looks like CRSF telemetry support is limited to a subset of all available CRSF packets

You have access to a subset of ArduPilot parameters, the same ones you would see via the OSD

https://ardupilot.org/copter/docs/common-paramosd.html

But bear in mind that it really only works on the transmitter itself, the CRSF TX does not have a powerful enough CPU to cope. If you have an OpenTX transmitter you can go to the crossfire menu. Also TBS have released some new AgentX scripts that should work a bit better.

Iā€™m digging into the code because there is a discrepancy in the ExpressLRS documentation. In some sections it says they only support a subset, and in other sections it says they now support all CRSF telemetry. I asked about this in the ExpressLRS Discord group and was told that the documentation Wiki is open to edits by anyone, so that is their explanation for the inconsistency.

The ExpressLRS devs have updated the documentation, to show that they are passing all CRSF telemetry data.

Iā€™m getting 22 telemetry types with ELRS and 23 with Crossfire/Tracer. It seems like the only type that I donā€™t see in OpenTX when using ELRS is FM/Flight Mode. Yaapu telemetry says No Telemetry.

Iā€™m on 200hz refresh rate with 1:2 telemetry rate and Iā€™m using a TX16S.

3 Likes

thatā€™s cool, I must have a spare R9 kit around, Iā€™ll try it myself

2 Likes

@yaapu Have you run into anyone having late frame rate errors that trigger a fail-safe? I had one recently, and now thereā€™s another post about it. His log has more examples, but Iā€™ll post mine if itā€™s needed too.