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 missing Enable switch to SF/GF functions #3024

Closed
1 task done
JimB40 opened this issue Jan 12, 2023 · 11 comments · Fixed by #3601
Closed
1 task done

Add missing Enable switch to SF/GF functions #3024

JimB40 opened this issue Jan 12, 2023 · 11 comments · Fixed by #3601
Labels
enhancement ✨ New feature or request
Milestone

Comments

@JimB40
Copy link
Collaborator

JimB40 commented Jan 12, 2023

Is there an existing issue for this problem?

  • I have searched the existing issues

What part of EdgeTX is the focus of this bug?

Transmitter firmware

Current Behavior

Lack of Enable control in below stated Specia/Global Functions:

  • Play Sound
  • Play Track
  • Play Value
  • Lua Script
  • BgMusic
  • BgMusic II
  • Vario
  • Haptic
  • SD Logs
  • Screenshot
  • RacingMode
  • No Touch
  • Set Main Screen

Expected Behavior

Implement Enable control

Steps To Reproduce

Version

2.8.0

Transmitter

Radiomaster TX16S / TX16SMK2

Anything else?

No response

@JimB40 JimB40 added bug 🪲 Something isn't working triage Bug report awaiting review / sorting labels Jan 12, 2023
@JimB40 JimB40 added this to the 2.9 milestone Jan 12, 2023
@eshifri
Copy link
Contributor

eshifri commented Jan 13, 2023

It is easy to do, but it means that pretty much every CF/GF needs to have "enable" control.
The exceptions are RESERVED amd TEST functions.
Is it the intent?

@JimB40
Copy link
Collaborator Author

JimB40 commented Jan 13, 2023

I was trying to confirm with @pfeerick why some of SF/GF functions have this Enable feature and others don't.
Short answer is 'we don't know' :)

So putting heritage apart, I was thinking if this feature is valuable, or just another feature 'let's have it why not'
Most SF/GF are 'fixed' in my configs. Like Volume is on S1, Brightnes on S2, Screen switching on 6P switch and I don't change them (switch them on/off). So this Enable is just one more thing to click and potential source of trouble - "wh my SF/GF funcion doesn't work"

The only valuable case I was thinking of was to create 'scenarios'. So for example you have 3 different functions assigned to the same switch and you quickly toogle just to use one of them. But then ETX shoud rather group those SF/GF and allow to enable only one.

So to make UX consitent we should consider adding Enable to all or ... ditch Enable for all :)

But maybe there are other areas when this Enable for SF/GF is useful.
Any plane pilots over there using this feature? @jfrickmann , @lshems

PS.
If we leave it for sure I'd change one thing. When new SF/GF is created default Enable should be ON as at least in my user-case everytime I have to switch it on

@lshems
Copy link
Contributor

lshems commented Jan 13, 2023

OK, why is the on/off switch useful:

because people do tend to have a habit of creating one master template that is used over and over again, and indeed, as you said, different versions with different settings for the same SF can then be in that template, and you can simply toggle between the ones you want to be active.

Also, you can of course inactivate a SF by deleting the trigger, but then the SF disappears completely, and I don't even know if the settings will be restored once you set a trigger again..

In my humble opinion, there are some solutions:
Create an OFF trigger, which allows to show SF which you do not want to have active, but keep settings from.
Allow the OFF trigger to be reverted to the last set trigger on that SF as one of the options in the trigger select list.

In this way, you have a similar or better functionality than we have now, that is applyable to all SF in general.

@lshems
Copy link
Contributor

lshems commented Jan 13, 2023

OFF trigger is thus not the same as NO trigger at all.

@pfeerick
Copy link
Member

Basically they should exist for all SF/GF. It has nothing to do with plane pilots, and more to do with complex configs, organisation, and as you say "scenarios". Trainer Mode and Instant Trim are also examples of ones that you might want to be able to leave present, but toggle on and off as needed.

Instead of messing with the "Switch" parameter (referred to as trigger above), I would stick with the enable/disable toggle. Which probably should be in the header bar, and yes, enabled by default. If it is in the disabled state, in the overview it should be visually different to one that is enabled (regardless of if that is active/inactive by virtual of the switch/trigger).

@elecpower
Copy link
Collaborator

As a fixed wing pilot I use templates and have many SFs and a few GFs. Having the consistency to enable/disable every function type is something I have been waiting for. So much better than deleting and re-adding those without enable/disable flag.

Some of my functions are used to provide audio information when testing new/modified sources or new models when fine tuning then turn them off.

@eshifri
Copy link
Contributor

eshifri commented Jan 13, 2023

Wouldn't it be nice to allow "enable" to be controlled by a switch?
This way one can change performance of several CF depending on scenario.

@lshems
Copy link
Contributor

lshems commented Jan 13, 2023

To meta for most users. Two switches to trigger the same thing. You can manage that if you want with logical switches as a trigger and have te functions on 'ON'.

@pfeerick pfeerick added enhancement ✨ New feature or request and removed triage Bug report awaiting review / sorting bug 🪲 Something isn't working labels Jan 14, 2023
@pfeerick
Copy link
Member

Agreed... multiple SF/GF can already be triggered via a switch by virtue of the switch condition. So while I understand where you're getting at, that isn't needed, and with the 'SAFE' SF coming in soon hopefully, a two-stage switch will also be possible.

@gagarinlg
Copy link
Member

Any decision if this should go into 2.9 or not?

@pfeerick
Copy link
Member

pfeerick commented May 8, 2023

Yes, I want it, just needs rebasing ... unfortunately phil made changes to the SF page in the meantime that I couldn't resolve easily when I looked at it last.

pfeerick pushed a commit that referenced this issue May 16, 2023
Formatting.

chore(ui): Convert GVAR tab to LVGL (#2945)

fix(ui): Adjust model setup button layout to better fit portrait screen (#2956)

* Adjust model setup layout to better fix on portrait LCD screen.

* Set buttons to fixed width and allow to grow vertically to fit text.

* Cleanup layout logic - buttons stretched horizontally, centered vertically.

fix(color): Invalid custom curves + layout updates (#2973)

* Layout updates and bug fixes for curve editor.
- Fix issue 2972 where an invalid curve could be created
- Use vertical layout or list of points
- Add border to preview to better show end points
- Fix issue where preview was redrawn very frequently
- Better organisation of curve edit classes

* Fix to refresh curve preview on input edit page when parameters changed.

chore: freeRTOS task stack diagnostics (#2976)

* migrated stack diagnostics (available, free) to using built in FreeRTOS builtin function

Note: main stack must be and is treated differently as it is not under FreeRTOS control. main stack is painted by the STM32 startup routine. free main stack is calculated checking the remaining painted stack area.

* corrected my merge error

* missed a blank

fix(lua): fix drawHudRectangle for roll = 0 (#2978)

- fixed an extra line at the bottom of the hud rectangle
- fixed overflowing hud rectangle for horizon outside viewport (pitch > 0)

fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)

* Fix carryTrim in LUA

* Remove carryTrim

feat(diags): Red LED before RTC data, blue LED after (#3006)

* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens

fix(color): Update top bar date & time when in setup pages (#3037)

fix(translation): JP had overlapping strings due to line breaks (#3004)

fix(cpn): Translate OFF in external module setup (#2998)

* Translate OFF in external module setup

* Update moduledata.cpp

Add B/W and CP support

Init enabled to 1

delete extra file

Fix Save/Read operations

Cleanup and fix R/W

Cleanup based on review

Change the fields order to match YAML

change the fields order to match the YAML

Add headers, set new CF to enabled

Remove "ON" label from "Enabled" field.
Fix "disabled" when swicthing functions.

Set enable==1 when changing the function.

Set "enabled" if function is changed on B/W radios
@pfeerick pfeerick modified the milestones: 2.9, 2.10 Jun 15, 2023
philmoz pushed a commit that referenced this issue Oct 28, 2023
Formatting.

chore(ui): Convert GVAR tab to LVGL (#2945)

fix(ui): Adjust model setup button layout to better fit portrait screen (#2956)

* Adjust model setup layout to better fix on portrait LCD screen.

* Set buttons to fixed width and allow to grow vertically to fit text.

* Cleanup layout logic - buttons stretched horizontally, centered vertically.

fix(color): Invalid custom curves + layout updates (#2973)

* Layout updates and bug fixes for curve editor.
- Fix issue 2972 where an invalid curve could be created
- Use vertical layout or list of points
- Add border to preview to better show end points
- Fix issue where preview was redrawn very frequently
- Better organisation of curve edit classes

* Fix to refresh curve preview on input edit page when parameters changed.

chore: freeRTOS task stack diagnostics (#2976)

* migrated stack diagnostics (available, free) to using built in FreeRTOS builtin function

Note: main stack must be and is treated differently as it is not under FreeRTOS control. main stack is painted by the STM32 startup routine. free main stack is calculated checking the remaining painted stack area.

* corrected my merge error

* missed a blank

fix(lua): fix drawHudRectangle for roll = 0 (#2978)

- fixed an extra line at the bottom of the hud rectangle
- fixed overflowing hud rectangle for horizon outside viewport (pitch > 0)

fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)

* Fix carryTrim in LUA

* Remove carryTrim

feat(diags): Red LED before RTC data, blue LED after (#3006)

* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens

fix(color): Update top bar date & time when in setup pages (#3037)

fix(translation): JP had overlapping strings due to line breaks (#3004)

fix(cpn): Translate OFF in external module setup (#2998)

* Translate OFF in external module setup

* Update moduledata.cpp

Add B/W and CP support

Init enabled to 1

delete extra file

Fix Save/Read operations

Cleanup and fix R/W

Cleanup based on review

Change the fields order to match YAML

change the fields order to match the YAML

Add headers, set new CF to enabled

Remove "ON" label from "Enabled" field.
Fix "disabled" when swicthing functions.

Set enable==1 when changing the function.

Set "enabled" if function is changed on B/W radios
pfeerick pushed a commit that referenced this issue Nov 12, 2023
Formatting.

chore(ui): Convert GVAR tab to LVGL (#2945)

fix(ui): Adjust model setup button layout to better fit portrait screen (#2956)

* Adjust model setup layout to better fix on portrait LCD screen.

* Set buttons to fixed width and allow to grow vertically to fit text.

* Cleanup layout logic - buttons stretched horizontally, centered vertically.

fix(color): Invalid custom curves + layout updates (#2973)

* Layout updates and bug fixes for curve editor.
- Fix issue 2972 where an invalid curve could be created
- Use vertical layout or list of points
- Add border to preview to better show end points
- Fix issue where preview was redrawn very frequently
- Better organisation of curve edit classes

* Fix to refresh curve preview on input edit page when parameters changed.

chore: freeRTOS task stack diagnostics (#2976)

* migrated stack diagnostics (available, free) to using built in FreeRTOS builtin function

Note: main stack must be and is treated differently as it is not under FreeRTOS control. main stack is painted by the STM32 startup routine. free main stack is calculated checking the remaining painted stack area.

* corrected my merge error

* missed a blank

fix(lua): fix drawHudRectangle for roll = 0 (#2978)

- fixed an extra line at the bottom of the hud rectangle
- fixed overflowing hud rectangle for horizon outside viewport (pitch > 0)

fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)

* Fix carryTrim in LUA

* Remove carryTrim

feat(diags): Red LED before RTC data, blue LED after (#3006)

* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens

fix(color): Update top bar date & time when in setup pages (#3037)

fix(translation): JP had overlapping strings due to line breaks (#3004)

fix(cpn): Translate OFF in external module setup (#2998)

* Translate OFF in external module setup

* Update moduledata.cpp

Add B/W and CP support

Init enabled to 1

delete extra file

Fix Save/Read operations

Cleanup and fix R/W

Cleanup based on review

Change the fields order to match YAML

change the fields order to match the YAML

Add headers, set new CF to enabled

Remove "ON" label from "Enabled" field.
Fix "disabled" when swicthing functions.

Set enable==1 when changing the function.

Set "enabled" if function is changed on B/W radios
pfeerick pushed a commit that referenced this issue Nov 12, 2023
Formatting.

chore(ui): Convert GVAR tab to LVGL (#2945)

fix(ui): Adjust model setup button layout to better fit portrait screen (#2956)

* Adjust model setup layout to better fix on portrait LCD screen.

* Set buttons to fixed width and allow to grow vertically to fit text.

* Cleanup layout logic - buttons stretched horizontally, centered vertically.

fix(color): Invalid custom curves + layout updates (#2973)

* Layout updates and bug fixes for curve editor.
- Fix issue 2972 where an invalid curve could be created
- Use vertical layout or list of points
- Add border to preview to better show end points
- Fix issue where preview was redrawn very frequently
- Better organisation of curve edit classes

* Fix to refresh curve preview on input edit page when parameters changed.

chore: freeRTOS task stack diagnostics (#2976)

* migrated stack diagnostics (available, free) to using built in FreeRTOS builtin function

Note: main stack must be and is treated differently as it is not under FreeRTOS control. main stack is painted by the STM32 startup routine. free main stack is calculated checking the remaining painted stack area.

* corrected my merge error

* missed a blank

fix(lua): fix drawHudRectangle for roll = 0 (#2978)

- fixed an extra line at the bottom of the hud rectangle
- fixed overflowing hud rectangle for horizon outside viewport (pitch > 0)

fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)

* Fix carryTrim in LUA

* Remove carryTrim

feat(diags): Red LED before RTC data, blue LED after (#3006)

* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens

fix(color): Update top bar date & time when in setup pages (#3037)

fix(translation): JP had overlapping strings due to line breaks (#3004)

fix(cpn): Translate OFF in external module setup (#2998)

* Translate OFF in external module setup

* Update moduledata.cpp

Add B/W and CP support

Init enabled to 1

delete extra file

Fix Save/Read operations

Cleanup and fix R/W

Cleanup based on review

Change the fields order to match YAML

change the fields order to match the YAML

Add headers, set new CF to enabled

Remove "ON" label from "Enabled" field.
Fix "disabled" when swicthing functions.

Set enable==1 when changing the function.

Set "enabled" if function is changed on B/W radios
pfeerick pushed a commit that referenced this issue Nov 27, 2023
Formatting.

chore(ui): Convert GVAR tab to LVGL (#2945)

fix(ui): Adjust model setup button layout to better fit portrait screen (#2956)

* Adjust model setup layout to better fix on portrait LCD screen.

* Set buttons to fixed width and allow to grow vertically to fit text.

* Cleanup layout logic - buttons stretched horizontally, centered vertically.

fix(color): Invalid custom curves + layout updates (#2973)

* Layout updates and bug fixes for curve editor.
- Fix issue 2972 where an invalid curve could be created
- Use vertical layout or list of points
- Add border to preview to better show end points
- Fix issue where preview was redrawn very frequently
- Better organisation of curve edit classes

* Fix to refresh curve preview on input edit page when parameters changed.

chore: freeRTOS task stack diagnostics (#2976)

* migrated stack diagnostics (available, free) to using built in FreeRTOS builtin function

Note: main stack must be and is treated differently as it is not under FreeRTOS control. main stack is painted by the STM32 startup routine. free main stack is calculated checking the remaining painted stack area.

* corrected my merge error

* missed a blank

fix(lua): fix drawHudRectangle for roll = 0 (#2978)

- fixed an extra line at the bottom of the hud rectangle
- fixed overflowing hud rectangle for horizon outside viewport (pitch > 0)

fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)

* Fix carryTrim in LUA

* Remove carryTrim

feat(diags): Red LED before RTC data, blue LED after (#3006)

* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens

fix(color): Update top bar date & time when in setup pages (#3037)

fix(translation): JP had overlapping strings due to line breaks (#3004)

fix(cpn): Translate OFF in external module setup (#2998)

* Translate OFF in external module setup

* Update moduledata.cpp

Add B/W and CP support

Init enabled to 1

delete extra file

Fix Save/Read operations

Cleanup and fix R/W

Cleanup based on review

Change the fields order to match YAML

change the fields order to match the YAML

Add headers, set new CF to enabled

Remove "ON" label from "Enabled" field.
Fix "disabled" when swicthing functions.

Set enable==1 when changing the function.

Set "enabled" if function is changed on B/W radios
pfeerick pushed a commit that referenced this issue Dec 3, 2023
Formatting.

chore(ui): Convert GVAR tab to LVGL (#2945)

fix(ui): Adjust model setup button layout to better fit portrait screen (#2956)

* Adjust model setup layout to better fix on portrait LCD screen.

* Set buttons to fixed width and allow to grow vertically to fit text.

* Cleanup layout logic - buttons stretched horizontally, centered vertically.

fix(color): Invalid custom curves + layout updates (#2973)

* Layout updates and bug fixes for curve editor.
- Fix issue 2972 where an invalid curve could be created
- Use vertical layout or list of points
- Add border to preview to better show end points
- Fix issue where preview was redrawn very frequently
- Better organisation of curve edit classes

* Fix to refresh curve preview on input edit page when parameters changed.

chore: freeRTOS task stack diagnostics (#2976)

* migrated stack diagnostics (available, free) to using built in FreeRTOS builtin function

Note: main stack must be and is treated differently as it is not under FreeRTOS control. main stack is painted by the STM32 startup routine. free main stack is calculated checking the remaining painted stack area.

* corrected my merge error

* missed a blank

fix(lua): fix drawHudRectangle for roll = 0 (#2978)

- fixed an extra line at the bottom of the hud rectangle
- fixed overflowing hud rectangle for horizon outside viewport (pitch > 0)

fix(lua): Remove faulty carryTrim, replace with trimSource (#2995)

* Fix carryTrim in LUA

* Remove carryTrim

feat(diags): Red LED before RTC data, blue LED after (#3006)

* Added turning the red LED before RTC data and blue LED afterwards

With the LED turned RED if the RTC data retrieval fails it will stay red.
This will at least be an indication that the RTC startup encountered
a problem. For now there is no indication that this problem occurred.

* GH-3005 Moved LED manipulation to conditionally compiled when RTC operation happens

fix(color): Update top bar date & time when in setup pages (#3037)

fix(translation): JP had overlapping strings due to line breaks (#3004)

fix(cpn): Translate OFF in external module setup (#2998)

* Translate OFF in external module setup

* Update moduledata.cpp

Add B/W and CP support

Init enabled to 1

delete extra file

Fix Save/Read operations

Cleanup and fix R/W

Cleanup based on review

Change the fields order to match YAML

change the fields order to match the YAML

Add headers, set new CF to enabled

Remove "ON" label from "Enabled" field.
Fix "disabled" when swicthing functions.

Set enable==1 when changing the function.

Set "enabled" if function is changed on B/W radios
pfeerick added a commit that referenced this issue Dec 3, 2023
Co-authored-by: eshifri <eshifri@hotmail.com>
Co-authored-by: philmoz <philmoz@users.noreply.github.com>
ulfhedlund added a commit to ulfhedlund/edgetx that referenced this issue Dec 8, 2023
ulfhedlund added a commit to ulfhedlund/edgetx that referenced this issue Dec 8, 2023
pfeerick pushed a commit to ulfhedlund/edgetx that referenced this issue Dec 12, 2023
pfeerick pushed a commit to ulfhedlund/edgetx that referenced this issue Dec 12, 2023
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
6 participants