FrSkyRC / ETHOS-Feedback-Community

Feedback & suggestions are welcomed here for ETHOS by FrSky
192 stars 86 forks source link

[Improvement Suggestion] Widgets Should Remember Their Settings #4589

Open BladeScraper-Designs opened 1 month ago

BladeScraper-Designs commented 1 month ago

I couldn't really think of a good title for this so let me explain.

Say you have a variety of telemetry sensors, and you have widgets set up on your home screens to display the value of those sensors. Then say something you're doing or testing or updating or whatever else requires you to delete and rediscover your telemetry sensors.

All of the Widgets that were tied to the sensors go blank when you do this, and you have to restart all over again with setting up your widgets.

The widget's settings should be stored as part of the model file. It already stores the type of widget - e.g. Value - but it does not store any settings of the Value widgets, and as such, even when the sensor reappears after discovering sensors it does not get added back to the widgets.

The system should store the settings of the widget too, so that when one has to delete and rediscover sensors for whatever reason (and this is not an uncommon thing to have to do), the widget automatically re-finds the value it was previously set up to display.

For telemetry widgets, it should definitely go by unique ID, so that even if you renamed the sensor originally it'll still find the new one with the "stock" name (e.g. I rename VFAS to Voltage usually).

neuhausj commented 1 month ago

I noticed the same issue also on Special functions when calling telemetry sensors out. (example: vario, altitude callouts). Once sensor are rediscovered, a manual update of the special function is required to put back the same sensor name.

bsongis-frsky commented 1 month ago

When a sensor is removed, all the references to it are removed. It is the same for curves, timers, vars, etc.

bsongis-frsky commented 1 month ago

The only solution I can see is to introduce a new button to "Re-discover the sensors", to replace the references, instead of removing. But it is not that simple!

neuhausj commented 1 month ago

What I noticed, is that when pairing a new RX from an existing template, all sensors are mostly correct expect a few (VSpeed or Altitude in my case). To fix the situtation, I only remove VSpeed from the telemetry list and rediscover the new VSpeed (exact same name).

At that point, I have to reasign it the special functions and/or widgets as the link to the first variable is no more.

A "Re-discover sensor" could help indeed, which would update the sensor(s) only if the varname stays the same.

BladeScraper-Designs commented 1 month ago

Could you not store the telemetry ID in the widget settings? That way, when the telemetry sensor comes back, and the ID is the same, it simply repopulates. If the ID is not found (e.g. because you deleted), it obviously stops showing the value, but the ID is still stored, unless a new Value is assigned to the widget or the widget is removed entirely.

I won't say I know the perfect solution, I just know that the amount of time it takes to re-do all widgets can be extensive, and I do it often because of this issue. I'm sure there is some possible solution!