Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TX module debug capability to hardware screen #5648

Open
1 task done
jmole opened this issue Nov 4, 2024 · 10 comments
Open
1 task done

Add TX module debug capability to hardware screen #5648

jmole opened this issue Nov 4, 2024 · 10 comments
Labels
enhancement ✨ New feature or request

Comments

@jmole
Copy link

jmole commented Nov 4, 2024

Is there an existing issue for this feature request?

  • I have searched the existing issues

Is your feature request related to a problem?

I recently got a Radiomaster TX16S II, and started playing around with it by first going through the model wizard. I made a new quadcopter model, and then moved on to explore other parts of the touchscreen GUI.

When I later tried to launch the ELRS lua script, the radio stopped responding. So, I upgraded the radio firmware, and then ELRS firmware via serial passthrough. After this, the ELRS lua script said there was no module connected, but I was able to escape from it and try other things.

I later discovered that the new model that the wizard had created had no modules enabled, but it took a lot of fooling around (including me disassembling the radio) to discover this.

So it was surprising to me that I was able to flash the module with a new ELRS version, but I was not able to query basic parameters about the module, either on the Hardware page, or the Version page, simply because the model I was using didn't have the module enabled.

Describe the solution you'd like

A button on the hardware tab, that when pressed:

  • warns that packet transmission may be stopped
  • queries module busses and reports their status
  • describes the findings

Describe alternatives you've considered

  1. a more emphatic warning on the ELRS lua script about going to the model page
  2. have the wizard lua script include the radio's default module by default in new models

While these would both have solved my immediate problem, I think having a model-free ability to debug module communication would be a great addition to EdgeTX.

Additional context

No response

@jmole jmole added the enhancement ✨ New feature or request label Nov 4, 2024
@pfeerick
Copy link
Member

pfeerick commented Nov 4, 2024 via email

@jmole
Copy link
Author

jmole commented Nov 4, 2024

The modules are not "off" though, it's just that the serial link on the edgeTX side is disabled.

I also think it's unlikely that someone will be diving into the hardware menu to debug an RF module and interrupt transmission while actively piloting a vehicle.

You can just as easily crash by switching to a new model or attempting to change model settings on the fly.

The idea here is to allow for model-agnostic hardware validation on the bench, just like we do today with switches, analogs, etc.

@gagarinlg
Copy link
Member

The power to the modules is switched off, when they are off.in the model config.

@mha1
Copy link
Contributor

mha1 commented Nov 4, 2024

The modules are not "off" though, it's just that the serial link on the edgeTX side is disabled.

No, the modules are really off. EdgeTX cuts power to the internal/external modules if Internal/External RF settings are set to "Off" as can be easily observed with an external OLED screen module.

@jmole
Copy link
Author

jmole commented Nov 4, 2024

I am at a loss then, how did I manage to flash the internal ELRS module via edgeTX serial pass through if it was off?

@pfeerick
Copy link
Member

pfeerick commented Nov 4, 2024

Because when you use the ELRS Configurator to update the module, it has control of the radio, not you. It can turn stuff on and off as it needs to get it's job done. i.e. I've not checked the programming flow on the ELRS configurator when it's flashing via passthrough, but it probably turns the module off, holding a GPIO down to configure the ELRS module's MCU to go into programming mode, and then powering the module back up again (but now it is sat in programming mode, waiting for the firmware update to come in). And something similar happens when you do passthrough flashing to the backpack module.

@jmole
Copy link
Author

jmole commented Nov 5, 2024

You mean, it's possible to turn on the radio module and communicate with it without interfering with other functionality in EdgeTX? It seems like this is exactly the sort of thing I'm asking for here (except that perhaps a lua debug script could "take control of the radio and turn things on and off to get it's job done").

I'm happy to take a stab at this myself if this sounds feasible.

@pfeerick
Copy link
Member

pfeerick commented Nov 5, 2024 via email

@pfeerick
Copy link
Member

pfeerick commented Nov 5, 2024 via email

@3djc
Copy link
Collaborator

3djc commented Nov 5, 2024

Also, things like XYZ aren't available unless you are running the script, where the lua act as a dumb terminal. In other words, you have no realistic way (ie API) to get and store information displayed by the lua script

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ✨ New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants