Passthrough telemetry over CRSF (crossfire)

@andyp1per all i do know is that per STM32F4xx specs USARTS1 & 6 run off the full APB2 clock divider, while the others use APB1. however, i‘m not positive this is related to the current UART issues we see, as they seem to hit all UARTS except for USART1. so my assumption, based on my limited scope, is some runtime ressource allocation dysbalance. the multi-layer UART handling (hardware -> HAL -> runtime) with individual denominators for each level is exceeding my brain specs by a fair amount though…

I’m not quite understanding. You have RC protocol set to 23 on U1 or U3 or both?

SERIAL_PROTOCOL 23 only set on a single uart at a time.
With SERIAL1_PROTOCOL=23 and SERIAL3_PROTOCOL=2 CRSF works @150hz, with SERIAL1_PROTOCOL=2 and SERIAL3_PROTOCOL=23 CRSF does not work

Buonasera…
Due to lockdown (red area) I decided to spend some time on the bench:
build:
. Radiomaster TX16s + Crossfire mini Tx v2 with WIFI
. Tbs nanoRx
. Matek f765 wing
. Gps
. Airspeed (digital)
. Lidar
Wirings:
. XF CSRF on U6 Protocol=23 Alt board=1
. XF MAVL on U4
. Gps and compass on U2 and I2c1
. ASPD on I2c2
. Lidar on U7
on XF Crsf tx rx ch1-2 mavlink ch 3-4

everything worked…
or better… as expected some RFMD changes 1-2, 2-1 bad AHRS, wi fi connection with pc or tablet or phone took minutes RC problem but no FS and so on… as described in theese183 posts.
I decided to use a sik radio in order to speed up connection to GCS. So radio on U4… ch3-4 on XF rx reverted to default…
Magic happened… rock solid RFMD no more random changes… same distance TX-RX than before, mode 2 stable… and it seems a faster and stable data update alt, speed,… rediscovered sensors and found 23 against the previous 27 with mavlink enabled on XF rx.
My question is: Do I need mavlink enabled on XF rx for the telemetry to work with your marvelous .lua or not?
I need mavlink just for mission uploading.
If not what I miss?
keep on working I’m struggling to see the stable version.

P.S. Itc’s a ctrap… :grinning: … It’ a plane with your precompiled firmware and the last lua.
Could, the problem with UART speed, be connected to the inversion? F4 and F7 processors have different handling.

Hi Alex …
May I jump in at this point please.
Have similar issues as Richard here. I have telemetry so GPS pitch and roll etc and work fine am using your map widget last year. I have my nano tx channels set to ch 1 sbus ch2 na ch 3 and 4 set to mavlink.
This is wired to uart 1 the mavlink side and sbus in on the matek 405 wing.
Now at moment the telemetry widget shows only gps coords but no telemetry,
are the radio and nano firmwares important. Which versions do you suggest please
Also Is mavlink correct or should it be crsf… When i experimented changing to crsf i lost my telemetry feed…
I also realised I had bit 8 set wrong
If you have time a few pointers here for me would be appreciated I spoke to you last year sometime regarding this possibility over tbs crossfire so now you are actively developing I would love to get this working on my VTOL
You Prob realise that I am not super proficient with ardupilot
Any Pointers appreciated Thanks to Alex and all you developers and testers for great work on improving our hobby…
Regards Dave…

Hi Dave,
a few hints:

  • you need to flash my custom ArduPilot builds until this get’s included in master
  • you need to enable RC over CRSF on your TBS TX Module (no PPM, no SBUS)
    Enable CRSF RC on UART1 and move your mavlink to another UART: set SERIAL1_PROTOCOL=23
  • I tested firmware >= 3.72 (I have a Micro TX V2)

If CRSF setup is correct you should be able to discover around 20 sensors on OpenTX, check that standard telemetry works by changing flightmodes etc.

Once you get standard CRSF telemetry working try to enable passthrough over crossfire by setting RC_OPTIONS bit 8 to 1 (i.e.add 256 to your current RC_OPTIONS value).
Install my crossfire enabled Widget found at the top of this blog, enetr the widget setup (Long press [SYS], browse the tools menu Tab select “Yaapu Config” and toggle the enable crossfire option, long press [RTN] to save, just to be sure power cycle your radio.

Note:Since I don’t have a full Crossfire TX I don’t know if or how well mavlink + CRSF works

Thanks Very Much, Alex…
Yes i am making progress now. I see I need to change uarts from your reply i am using sbus at moment,
These tips helped a lot I have messages up now but no horizon working hopefully plugging into different uart and using crsf will fix
Regards
Dave

1 Like

Alex For your info.
Last year when I experimented with this lot and using full sized crsf tx linked to laptop via bluetooth
using sbus as my control and uart 1 as mavlink, I was remotely able to connect to laptop. Also the data seemed to come through just as if I had it connected via usb. Havent used this setup for a while now as really all i needed to do was fly. :grinning: If i get my wiring re done and all works it will be intersting to see if i can restore that bluetooth mavlink will report back in time…
Thanks

Alex have done as you said
from my nano rx ch and ch 2 are now on uart 1
i have set on the crsf lua that ch 1 and 2 are crsf
went into mission planer set uart 1 = 23
i have rc link switches etc work
more sensors came up including flight modes i have on the widget text and speech but no artificial horizon…
i played with rc options at moment its 256 tried 288 but i then have a red outline no telemetry.
in open tx sensors i have everything i believe so guessing the crsf side is ok
any ideas please.
thanks yet again
Dave

ok, make sure you use my custom ardupilot firmware here

What version is your crossfire firmware?
What is your rf_mode (check sensors RFMD)? What you describe can happen if you’re stuch at low telemetry speed

Hi Alex I am Thanks Am wondering if it is the open tx version

most likely no.
Crossfire firmware version?

opps sorry
I am RFMD 2 and the tbs is latest not beta v3.78

you see status text messages? only CRT or also DBG, INF?
copter, plane or ?

Alex i will link to a small video

Most likely you have the wrong version of ardupilot, did you compile it yourself or you used my prebuilt version?

HI
Its your prebuilt version for f405 wing from this page

I have on more clip that shows my ardupilot config for serial and rc options
at this point tomorrow i guess my only other option is to update to open tx latest and use a wiped sd card with just your telemetry widget
Thanks for your valuable time here helping a novice

1 Like