EdgeTX / edgetx

EdgeTX is the cutting edge open source firmware for your R/C radio
https://edgetx.org
GNU General Public License v2.0
1.58k stars 337 forks source link

LUA mixer that worked under openTX now crashes #2399

Open ruedli opened 2 years ago

ruedli commented 2 years ago

Is there an existing issue for this problem?

What part of EdgeTX is the focus of this bug?

Transmitter firmware

Current Behavior

I have not researched the reason that it crashes, as my LUA programming is a bit rusty after using this many years ago.

I searched for considerations for LUA mixer scripts when migrating from openTX to edgeTX, but could not find information, so I assumed all was OK.

Expected Behavior

A LUA mixer script working under openTX should work under edgeTX

It worked on openTX 2.3 Jumper T16/ I now tried on edgeTX 2.8.0-rc1 Radiomaster TX16S Dalm.zip

Steps To Reproduce

compile firmware enabling LUA mixers scripts, I used:

https://gitpod.io/#https://github.com/EdgeTX/edgetx/releases/tag/v2.8.0-rc1

cmake -Wno-dev -DPCB=X10 -DPCBREV=TX16S -DDEFAULT_MODE=2 -DGVARS=YES -DPPM_UNIT=US -DLUA_MIXER=YES -DHELI=OFF -DCMAKE_BUILD_TYPE=Release ../

OBSERVATION: The standard build does NOT have -DLUA_MIXER=YES, openTX came with this. QUESTION: Do I need more / other compile options?

Select in the now appearing model settings / mixer script tab a mixer script (I attached the one I used). The radio reports the script has an error. Dalm.zip

Version

Other (Please specify below)

Transmitter

Radiomaster TX16S

Anything else?

v2.8.0-rc1

pfeerick commented 2 years ago

Is this new for 2.8, or a pre-existing fault? What happens if you try a build from 2.7.1 as a comparison - there are some LUAMIXER builds at the "by request" link in #1951

ruedli commented 2 years ago

Downloaded TX16S_EN_NOHELI_LUAMIXER.zip and will try.

Also downloaded openTX 2.3.15, as I tried on Jumper T16 and not RM TX16S keep you posted...

ruedli commented 2 years ago

I tried both in 2.7.1, as in my built: 2.8.0-rc1. Behaviour is the same. This is the bad news.

The good news, is I got it working / hacking it "somehow".

This is what I did:

HOWEVER

Now the script worked! I could find the the telemetry value I added (Dalm) and it calculated. Also the error was now "gone".

It might have something to do with how the script is initiated? Not sure. It could also be an error in my coding, not very experienced on this LUA mixer programming. I will test on openTX to make sure it behaves the same there, do not analyze into detail, unless this fault behaviour makes sense in the edgeTX context.

signal-2022-09-28-175032

signal-2022-09-28-175047

signal-2022-09-28-175133

pfeerick commented 2 years ago

There were some issues that we were looking into about a year ago, but to be honest I don't seem much comment from people using mixer lua scripts so it sort of ground to a halt while working on other stuff. So I don't even know if this is still up to date https://github.com/EdgeTX/edgetx/issues/1317

raphaelcoeffic commented 2 years ago

@ruedli can you actually reproduce the faulty behaviour in Simulator? Or does it only happen on radio? Is that on the bench, or does it require changing altitude values?