bluerobotics / bluerobotics/cockpit
`VeryGenericIndicator` UI and processing improvements
- Dominant language
- TypeScript
- Stars
- 198
- Forks
- 63
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 57
Description
There are several features missing from the original proposal in #449:
- [ ] primary display [JS expression, access to `message` and `params` objects]
* `0.3*previous + 0.7*message.value*100`
* access to the previous output of the widget would allow IIR filtering
* access to several past outputs could allow FIR filtering as well
* we might need to also include access to the timestamps of the relevant values if they're not at a consistent frequency, or at least some variable T or delta as the time since the last update occurred
* this may require a field for a default value, to support more complex use-cases
* `message.current_distance`
* `sum(message.voltages)`
- [ ] [optional] secondary display [JS expression, access to `message` and `params` objects]
* `message.name`
* `"altitude"`
* `message.current_battery*100`
- [ ] [optional] secondary units [text field]
* N/A
* N/A
* `A`
- [ ] primary color [picker, with ability to add extra colours for a value range / function]
* [255,255,255]
* range from red to orange to green based on `message.current_distance`
* it may make sense to allow flashing the widget if there are large changes over time, or if a threshold is crossed
* range based on message values and vehicle parameters (per #343), or just manually specified thresholds
- [ ] [optional] secondary color (defaults to primary, but if specified the icon is a mix of the two)
* N/A
* N/A
* possibly current-usage based, compared to params/specific values
Then if we add a widget duplication function (e.g. click and hold before dragging) you could easily configure multiple similar widgets after doing all the setup for one of them.
We can also have a simplified starting interface that hides the optional variables and colour settings behind a “show advanced features” button or something.
#539 and #561 are also relevant.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the original proposal in #449 and the related issues #539 and #561, then locate the existing VeryGenericIndicator implementation. Clarify which expression, display, color, duplication, and advanced-settings features are in scope before changing the UI. Done should be defined as an agreed subset of these improvements implemented and usable in the widget.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100