Passthrough telemetry over CRSF (crossfire)

If you can trigger a crash long press TELE, page to the crashed widget page, press wheel and select “widget options” and report back what you get on screen

Hi Alex, I’m having the same problem as @depeurvince. There is also a github-issue where we posted some informations: Horus Widget 1.9.4 beta1 shows only disabled · Issue #116 · yaapu/FrskyTelemetryScript (github.com)

The error in the widget-options is:
refresh():?:0: attempt to perform arithmetic on field ‘terrainLastData’ (a nil value)

Thanks for your help

If I use separate serial ports for a 433TM radio and the CRSF RX, will both work at the same time for both telemetry and RC? Thanks!

should work, but please disable RC over mavlink and keep the mavlink rates quite low, there only is so much bandwidth!

1 Like

it’s exactly what I can too

It crashes at startup but during flight as well.
Re setting the widget makes it working perfectly for a while…

Alright guys, what am I missing here? For reference I started with a working Crossfire Nano Diversity on Mavlink > Ardupilot Telem1 (Pixhawk 1-1M) and get all of the Mavlink telemetry properly. Without changing any wiring I have done the following and still cannot get the additional telemetry from the ardupilot:

  • Changed the same Crossfire receiver outputs from MAV to CRSF.
  • Confirmed my Nano receiver RX/TX pins support CRSF.
  • Made sure Crossfire is at 150hz
  • Disabled RC over Mavlink (not sure if it matters)
  • Flashed the arduplane beta from the OP.
  • Changed Arduplane options as follows:
    SERIAL1_PROTOCOL = 23
    SERIAL1_BAUD = 57
    RC_OPTIONS = (32 + 256) = 288
  • Rebooted
  • Connected
  • Deleted and rediscovered sensors.
  • Tried the force telemetry mode.

RC control works along with basic receiver telemetry, but no additional telemetry is discovered. I’ve checked and double checked and re-done the above multiple times.

Any help is very much appreciated.

1 Like

I got it figured out. Apparently Pixhawk 1-1M doesn’t support Crossfire, and I was using it even though I had the 2M hardware.

matek h743 slim, MatekH743-bds copter firmware
CRSF TX/RX is connected to UART6 (serial7), as written on the matek website
RC_OPTIONS = 288
SERIAL7_PROTOCOL = 23

ArduCopter V4.1.0-beta4 (37070bfe)
25.06.2021 11:43:11 : CRSF: running on non-DMA serial port
25.06.2021 11:43:11 : CRSF: running on non-DMA serial port
25.06.2021 11:43:11 : CRSF: running on non-DMA serial port
25.06.2021 11:43:11 : RCInput: decoding CRSF
Is this a critical error?

It’s not critical but CRSF runs at 416k baud which doesn’t work that well on non-DMA channels

Then what serial is better to use on this FC?
SERIAL3 used for GPS

STABILIZE> ftp get @SYS/uarts.txt -
STABILIZE> Getting @SYS/uarts.txt as -
UARTV1
SERIAL0 OTG1  TX =    9575 RX =     201 TXBD= 26813 RXBD=   562
SERIAL1 UART7 TX*=       0 RX*=       0 TXBD=     0 RXBD=     0
SERIAL2 UART1 TX*=      68 RX*=       0 TXBD=   190 RXBD=     0
SERIAL3 UART2 TX*=       0 RX*=       0 TXBD=     0 RXBD=     0
SERIAL4 UART3 TX*=       0 RX*=       0 TXBD=     0 RXBD=     0
SERIAL5 UART8 TX*=       0 RX*=       0 TXBD=     0 RXBD=     0
SERIAL6 UART4 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL7 UART6 TX =       3 RX =       0 TXBD=     8 RXBD=     0
SERIAL8 OTG2  TX =       0 RX =       0 TXBD=     0 RXBD=     0

You want a serial port with * (indicates DMA) on both TX and RX

UARTV1
SERIAL0 OTG1  TX =   88484 RX =    3243 TXBD= 16264 RXBD=   596
SERIAL1 UART7 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL2 UART1 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL3 UART2 TX*=     854 RX*=       0 TXBD=   156 RXBD=     0
SERIAL4 UART3 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL5 UART8 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL6 UART4 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL7 UART6 TX =   10071 RX =  206120 TXBD=  1851 RXBD= 37888
SERIAL8 OTG2  TX =       0 RX =       0 TXBD=     0 RXBD=     0

only SERIAL3 have DMA…
Why is there only one port with DMA?

Is DMA optional for GPS?

Seems strange - I ran this on a MatekH743 Slim with bdshot on latest master - not sure why your results would be different.

You can get away without DMA on GPS

If ESC telemetry and BIDIR DSHOT are enabled at the same time, then where will RPM for Dynamic Harmonic Notch Filter come from?

It will come from both, but obviously the BDSHOT rate is much higher so will form the majority of the data. If you are using bdshot then you can dial the TRATE right down to 10Hz say.

Will the script ever be able to use mavlink and rc over mavlink?

TBS just released a big update to increase the speed and stability of mavlink.

nope, my script can only use CRSF, but there’s a fork of my script here that requires a custom version of OpenTX by @olliw42 that can handle mavlink as native telemetry source, perhaps check it out.

Thanks Alex sounds like I just wire another 2 ports up

1 Like

@Alex, I cannot get the data on my yaapu screen but I am receiving the data when using a custom screen layout and I have full RC control.

Hardware:
Crossfire nano
Matek F765-Wing
RadioMaster T16

FW:
Yaapu 1.9.b
4.1.0 dev

Parameters:
Serial7 = 23
Baud rate = 57
Serial7_option = 0
RC_Option = I tried 1, 8, 256, 256+8… etc. (Sorry but this instruction is bit confusing to my small brain “set RC_OPTIONS bit 8 = 1 (add 256 to your current RC_OPTIONS value)”
RSSI_Type = 3

Nothing seems to bring Yaapu screen comes alive. But on the custom screen I am receiving everything except voltage and current readout.

Hi Riz, how did you wire/configure it to your nano RX? You need to use CRSF tx/rx, once you have RC + standard CRSF telemetry working (ROLL, PITCH, FLTM, CURR, etc) check your RC_OPTIONS value and add 256 to whatever it was, if for instance your RC_OPTIONS was 0 then 0+256=256 set it to 256, if it was 8 then 8+256=264 set it to 264.