Passthrough telemetry over CRSF (crossfire)

Hello Alex,
I recently upgraded my remote control to open tx 2.3.11 and used the yaapu script. It runs for a short period of time, sometimes a few seconds and sometimes a few minutes. The system prompts “Script syntax error not enough memory”, other scripts and other scripts of the remote control. The useless models are deleted, and the problem remains the same after testing. Please help, thanks.

which radio, which script version?

taranis X9d+ 1.9.4_b1 (6f7d99a) crsf enable

you’re probably running out of memory, did you select in the config menu “min” for center and right panels?

Please tell me how to set it up? Which menu is it? thank

o i see ,no, is all “def” Should i set it to min ?

The problem seems to be solved after setting “min”, thank you so much!

Sometimes this error occurs, why is this? Only restart the remote control.

you need to power cycle the radio after changing to min, did you do it?

Yes, I did, and everything is ok now, thank you for your hard work!

1 Like

After updating to the latest AC dev version I’m now getting a “non-DMA serial port” warning on Matek F405-CTR using UART 3.

With CRSF and Yaapu both working fine so far, is it still absolutely recommended to switch UART for the receiver?

OT: I’m also now getting a message that simply says “led” - nothing else, when trying to switch to Autotune (on the bench, just testing). Is it a bug?

The warning is there to make it easier for users to setup. It will work without DMA but your mileage will vary as to how well. In particular there were a couple of reports of RC failsafes that we were worried occurred because of lack of DMA.

The message should only appear once - if its spammy please let us know

No idea about the led message.

I think we should probably move this discussion to the 4.1 channel …

Thanks, in case of possible RC failsafes I really don’t want to take any chances.

But it looks I’ll have trouble on this board. For Matek F405-CTR I’m getting:

SERIAL0 OTG1  TX =  395818 RX =    3951 TXBD= 22360 RXBD=   223
SERIAL1 UART3 TX*=       0 RX =       1 TXBD=     0 RXBD=     0
SERIAL2 UART4 TX =       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL3 UART1 TX*=   13774 RX*=       0 TXBD=   778 RXBD=     0
SERIAL4 UART5 TX*=       0 RX =       0 TXBD=     0 RXBD=     0
SERIAL5 UART2 TX =       0 RX =       0 TXBD=     0 RXBD=     0

So far I’m using UART3 for the receiver, so the warning is correct. According to https://ardupilot.org/copter/docs/common-matekf405.html I would have to move GPS from UART1 to UART5 (“GPS2”), to free UART1 for the receiver. But UART5’s RX pads are specificly for ESC telemetry which works and I wouldn’t want to lose if possible. Is there any way around this?

Suggestion: It would be great if the DMA info could be added to the documention of each board. But maybe on newer boards it’s less of an issue?

Hi, you don’t kneed DMA for GPS, up to 230k baud you should be good even without it, a possible layout is swapping gps and receiver

Thanks, I’ll try swapping them. When I originally build this craft last year, I found that not every function worked on every serial port, so I tried to stick to the default order from the documentation (SERIAL3 = GPS1 = USART1).

I don’t know how hard whoever originally did the hwdef for this board tried to get more DMA channels - its possible that some hwdef changes might make things a bit better

Looks like I’m facing a similar problem on Kakute F7 AIO 1.5. I’m using UART1 for RC input, while the documentation suggests using UART6, but as for DMA:

(I haven’t checked myself yet, the copter is buried in a box under other boxes at the moment.)

At least I’m lucky on F405-WING, on both planes I’m already using:

SERIAL1 UART1 TX*=       0 RX*=       0 TXBD=     0 RXBD=     0

Trying the UART swap on F405-CTR now and will report back.

If you are willing to forego dshot on PWM5 then you can do this:

--- a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef.dat
+++ b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef.dat
@@ -118,7 +118,7 @@ PC6  TIM3_CH1 TIM3 PWM(1) GPIO(50)
 PC7  TIM8_CH2 TIM8 PWM(2) GPIO(51)
 PC8  TIM8_CH3 TIM8 PWM(3) GPIO(52)
 PC9  TIM8_CH4 TIM8 PWM(4) GPIO(53)
-PA15 TIM2_CH1 TIM2 PWM(5) GPIO(54)
+PA15 TIM2_CH1 TIM2 PWM(5) GPIO(54) NODMA
 PA8  TIM1_CH1 TIM1 PWM(6) GPIO(55)

and get full DMA on USART3. In fact I’ve added this to my PR for bdshot on this board so that you have the option of full DMA on USART3 and UART4 on this board by using the bdshot config

1 Like

Thanks, fortunately it worked by simply swapping RX and GPS, as @yaapu suggested. So the receiver is now on UART1 and GPS on 3 and I can finish up this copter (which is actually last year’s 3" attempt moved to a bigger frame and motors - there was just too much crammed onto the little frame, interference everywhere).

Next would be the Kakute F7 AIO 1.5 - is there a way to get full DMA on on UART1? That was the 10" copter I in fact had some failsafes with last year, which I thought came from 4k cam interference.

hello…
everything has been working since a month or more but the moment i change my arming option in mission planner to be armed without the rudder and be armed by just plugging the battery Yaapu stops working for me, i have tried fresh installs etc, like i just said everything works fine but the moment i disable arming via rudder Yaapu stops showing any data on screen, in the sub menu of Yaapu i can see the msgs flowing and it shows i am in RMFD mode 2, please see if you guys can replicate this issue

@yaapu

Can you help me understand the pluses and minuses of MAVlinkV2 vs CRSF for control link and telemetry.

Can I use mission planner with CRSF?

Can I use your script with MAVlinkV2?

I’m planning on using just one serial on the F765 board so I’ve got to pick one or the other.