PulseView/Concepts

From sigrok
Revision as of 22:47, 31 January 2016 by Abraxa (talk | contribs) (Initial draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

These are ideas that need discussion and implementation.


Issues to discuss at the PV concept meetup

For details, see sections below.

  • Idea: Select mode vs. drag mode for the view
  • Idea: Mobile UI vs. Desktop UI
  • Idea: Group handle bar enhancement
  • Idea: Pseudo scope mode
  • Idea: Browser-like tabbed UI


Idea: Select mode vs. drag mode for the view

Currently, the user has no means of selecting anything. We definitely need this ability, though, for example to let the user specify a range that the decoders should decode.

My idea (abraxa) is to let the view operate in two modes: select mode and drag mode. The default would be select mode where a drag across the view selects a range.

The user can switch to drag mode by pressing CTRL while dragging. Alternatively, we could also think about using the right mouse button for this, though it might interfere with context menus that we'll eventually see being used on the view.


Idea: Mobile UI vs. Desktop UI

Currently, PV tries to satisfy both worlds at the same time. I don't think this works well at all. My suggestion (abraxa) is to show a different style of UI depending on the device.

Mobile UI:

No menu
All menu items moved to burger menu
Dragging in the view moves the traces
Additional toolbar button visible that lets the user toggle between "drag" and "select" mode for the view

Desktop UI:

Menu always visible
No burger menu button
Dragging in the view selects a range, dragging with CTRL pressed moves the traces


Idea: Group handle bar enhancement

There's currently no way to shrink/enlarge a group of traces. I (abraxa) suggest we make handle bars behave differently, depending on where the user clicks it:

Upper 1/3rd:  Resize trace group vertically (bottom of trace group is unaffected)
Middle 1/3rd: Move trace group vertically (size is unaffected)
Lower 1/3rd:  Resize trace group vertically (top of trace group is unaffected)


Idea: Pseudo scope mode

A valid use case for PV is to use it like a scope. This however currently doesn't really work very well as PV treats all data as streaming data. In order to make PV behave like a scope, I (abraxa) suggest we add a pseudo scope mode that the user can enable.

In this mode, PV requires a trigger to be set. The ruler no longer shows a continuous time but instead a "-xx ms" to "+xx ms" time relative to t=0 where the trigger occurred.

The trigger would by default be positioned at 50% of the view's width. Data would be handled as in stream mode, i.e. appended to the existing data. However, the view doesn't scroll.

When a new trigger packet arrives, the view is showing the new trigger at the desired t=0 location (e.g. 50%), along with the data surrounding it.


Idea: Brower-like tabbed UI

TBD