Passthrough telemetry over CRSF (crossfire)

@yaapu et all, what is the latest version of Ardupilot that supports this telemetry over Crossfire? I thought Yappu’s code had been merged into master, but today I downloaded 4.2.0-FIRMWARE_VERSION_TYPE_DEV from https://firmware.ardupilot.org/Plane/latest/MatekF405-Wing/firmware-version.txt and it does not support the telemetry script.

Thanks!

Jorge Jimenez
FlyingSandal

@jimenezlee, try Beta version 4.1.0.
4.2 is under development not tested.

1 Like

@yaapu, please, is there some option to see the Current value in your script on TX, when I am using an external current sensor connected to CU2 pad on the FC? I see the right value on the OSD (after setting Current2 in MP), but in the script window it is still Current=0.

I concluded this is an issue of CRSF missing telem. data of Battery2.

This looks promising! I just flashed 4.1 beta and set it up with ExpressLRS. Should be a solid upgrade from the dinky FrSky D16 that I’ve been using.

The one major disadvantage is that I have not got telemetry data (only basic RSSI type information), which is a bit of a deal breaker since I rely on the data heavily during line of sight flying of my diy cameradrone.

I found with an oscilloscope that there is no data present on the RX pin of the receiver from the TX of TELEM1 on my Pixhawk.

I have the following relevant parameters.

RC_PROTOCOLS = 1;
RC_OPTIONS = 256;
SERIAL1_PROTOCOL = 23; // RCIN
SERIAL1_OPTIONS = 0;
SERIAL1_BAUD = 115; // 115200

questions:

  • Do I need to check out a custom branch or fork of Arducopter 4.1 to get the code?
  • Do I need to use 2 serial ports to get this to work? This isn’t ideal but I do have the SERIAL4/5 port free and could create a single harness that uses TX of 4 and RX of 5 as a somewhat elegant solution.

ELRS != CRSF which is what we support. YMMV

ELRS uses CHRF protocol. But I suppose the payload of the CHRF that ELRS uses is different from more traditional crossfire setup?

Shouldn’t there at least be some sort of data on the RX pins? Or does the code more stateful than I expected, looking for certain data in the received frames to know when to transmit telemetry data? As it stands the RX line (on the receiver end) on my unit idles high.

There’s already a statement on ELRS in this thread:

This thread is too long for me to find if this has already been posted, but ELRS instructions for ArduPilot are here: https://www.expresslrs.org/2.0/quick-start/ardupilot-setup/
The elrs Devs have had a number of requests to improve telemetry: https://github.com/ExpressLRS/ExpressLRS/issues/672
https://github.com/ExpressLRS/ExpressLRS/issues/650
https://github.com/ExpressLRS/ExpressLRS/issues/879
With a pr under testing to get part-way there:
https://github.com/ExpressLRS/ExpressLRS/pull/880
The key issue is basically a conflict between their core design goal of minimum latency, and higher bandwidth requirements for telemetry streams. I expect it will improve but by design will not become a fully functional telemetry option without fundamental changes (ie it would probably require someone to fork the project).

Hello guys
i am trying to get the passthrough telemetry to work over crossfire but for some reason i can’t get it working

what is am using
arducopter 4.0.5 orange cube
frsky x10s express
opentx 2.3.14
yaapu 1.9.5 dev
tbs crossfire version 4.11 and 6.00 tried both
tried Serial_protocol 23 and RC_options 8 and 255
also tried a lot of other things but can’t get it to work

through mavlink i receive some telemetry values in the telemetry tab but the yaapu script doesn’t reconize them

do any of you guys know what i am doing wrong?

ah Mark, never thought you were using copter 4.0.5, I assumed you were using at least a beta :frowning:
You need 4.1 betas or 4.2 dev versions for full CRSF support with passthrough

ahhh yes with the 4.1.0 beta it works

that was easy, sorry should have thought about it sooner!

It looks that Yaapu telemetry will work on ELRS - at least I was able to run it on bench with ELRS pull request 880
See https://github.com/ExpressLRS/ExpressLRS/pull/880#issuecomment-922209421

1 Like

Hi, I tested the PR as well down to 50:2 rates and as long as the telemetry rate is high enough (> 30Hz) it seems to work fine.
Right now there’s no way to detect ELRS but the author of the PR, which is also the author of the ELRS telemetry implementation, is working on adding device ping which will allow for such detection.
Since ELRS Air Modes are not CRSF RF Modes, I think we’ll have to add explicit ELRS support to ArduPilot, especially for low rates like 50:2 or 100:4, with a lot of bandwidth, like 500:2 we will hardly see any issues IMO.

Hi
Does it work on taranis x9d and r9m flashed with latest ELrs.?
I have 4.10 dev version ( i think it was installed at june this year… )on matek 405 wing. Or need any beta?
Also latest 1.9.5 yaapu beta installed on the radio crsf enabled.
Do i need anything to install to the FC or the radio to work? Thx

I don’t know if it works on x9d, but it probably should.
See first post here for required Ardupilot configuration (serial protocol, rc_options) and screenshots in ELRS pull request for ELRS configuration (you will need ExpressLRS-src/src/lua/x9d_212x64/TOOLS/elrsV2.lua for x9d), Yaapu configuration on TX side.
Also check https://www.expresslrs.org/2.0/quick-start/ardupilot-setup/

Please report if this works. I was not able to make it work on ELRS 1.0.1 and Ardupilot 4.10 Beta 6

Ok…thanks i hope i will not lost myself in the versions😉
So as i understand well…besides the basic serial setup…(23 protocol +256 value add to option …etc)i need a crsf version of yaapu script on the radio and i also had to upload MatekF405-Wing_crsf_ver_0.8.zip (apj file) to the FC.?
I dont know the 4.1.0 version number…i use it succesfuly for dji msp protocol…do i need a beta version of 4.1.0?

.I tried to run elrsv2 lua…but gives error message.
As i know there are no 2.0 elrs version yet for modules and receivers…i installed 1.10 lates on my r9m.
Is it an issue or i need to keep ELRS lua along with elrsv2 lua in the tools ditectory? I cannot find specific elrsv2 lua file taranis x9d? Pls help

Well, It’s not working with ELRS 1.0.1 - you need to build ELRS firmware from master including those PR commits - it’s probably version 2.x.