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

Introduce selective configuration saving and exclusion to the Configurator #4296

Open
Darkmann12 opened this issue Jan 5, 2025 · 0 comments

Comments

@Darkmann12
Copy link

Darkmann12 commented Jan 5, 2025

Is your feature request related to a problem? Please describe

This is something I have felt has been missing in the Configurator for a long time. Currently there is no way to selectively save parts of a configuration without combing through all the options yourself and removing extraneous options after saving or before loading. This is inconvenient and annoying, when say, I just want the OSD settings of one quad to transfer to another, or my rates, or my switches, so on, and so forth. Or maybe I want the entire configuration without the Ports and PIDs. Maybe I want to share a configuration with a friend, while not forcing my rates and my OSD on them. Again, currently I don't see any way of doing this without taking a full diff / "backup" and using a lot of selection and backspace button, and inevitably forgetting things, especially with many options spanning across different diff headers, making it easy to overlook or unwittingly erase lines of configuration. It's a bit messy and inconvenient.

Describe the solution you'd like

I would like to see new arguments added for the diff command, and these form two categories:

  • Positive arguments: These only include exactly what you specify, and cover the basic configuration options people would want to transfer easily. The syntax would be diff <category of configuration>, for example diff osd or diff rateprofile osd aux. The CLI tool would then output all related configuration options (meaning each option would have to have an invisible tag, which I get is an appreciable amount of work), and you could save to file like a regular diff. It might be a little trickier to work this functionality into buttons for the Presets tab, but I feel it would be exceptionally useful there - perhaps issuing a "clear" as toggle buttons are activated or disactivated, and re-running the output in as real-time as possible, or having the toggles as a prior stage to a "generate preset" button which would spit out a single output exactly once.
  • Negative arguments: These exclude exactly what you specify. This would rely on the same tagging system as for the positives, but using the syntax diff <option> -<category of configuration>, for example diff all -osd or diff all -rateprofile -osd -aux, providing a quick and easy way for a user to translate across nearly-full configurations. There is, at a stretch, the possibility of also allowing this within categories, for example diff profile -profile_3 or diff osd -warnings, but I expect this to be slightly more work, and slightly less useful.
    Overall while this is going to be helpful for ease of setup, I also expect these extra options for diff to be helpful tools in troubleshooting, ensuring the replacement of chunks of configuration with no ambiguity that things may have been forgotten, accidentally erased from a manually-combed-through diff, or overwritten by a diff.

Describe alternatives you've considered

The only alternative solution I've had come to mind apart from the current status quo is an online tool (or maybe not, maybe some button or tab within the Configurator) where a full diff can be uploaded and the same tags and toggles be applied to automagically comb through and present you with just the CLI options you need, and a button to save the tool's output as a standard diff/config/backup file.

Other information

limon for president

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant