bluerobotics / bluerobotics/cockpit

`VeryGenericIndicator` UI and processing improvements

Open
#613 0 comments 2 reactions 0 assignees View on GitHub
enhancement ui widget-specific
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.