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

Repeat retriggering #38

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

ivanwick
Copy link

@ivanwick ivanwick commented Mar 7, 2021

Continues work by @Cenkron to add a repeating retrigger mode to PulseView capture sessions. The user can enable repeat mode and set a time delay between when each capture segment completes and the next one is starts.
Screenshot from 2021-03-07 00-11-44
In the prior email exchange, some changes were requested to better fit the UI and architecture:
https://sourceforge.net/p/sigrok/mailman/sigrok-devel/thread/cdf7c54b-c509-9162-34fb-2709f5756437%40BrianAndChristine.com/

Following these suggestions, this PR moves the retrigger timer into the session state and uses the existing feature to display segments from a repetitive capture on the same time scale.

Some draft icons are also added for new UI:

  • Yellow status (awaiting retrigger timeout)
  • Repeat trigger configuration toolbar button

Open questions

  • Session states: The new repeat mode means that a capture session may return to Running state repeatedly. However pv::views::trace::View expects the transition to Running state to happen only once per capture and uses it as a signal to reset the state of the UI which interferes with segment display. More states can be added to the session but I don't know whether it is best to do so. See comments in view.cpp.
  • Configuration UI: Layout, labels, defaults
  • Icons
  • Terminology of this feature (both in UI and in code): "Repetitive trigger rearming" is descriptive but verbose. "Retriggering" is concise but doesn't convey the fact that the repetitive capture might not be retriggered immediately after the delay time, rather the trigger condition is rearmed and capture may start some time later.

Cenkron and others added 7 commits March 6, 2021 19:19
Repeated triggering adds segments, split start_capture and new capture_session functions
Move settings UI into popup instead of dialog
Disable button when capture is running
fixup change tooltip
Add `Starting` state in Session so the view can do one-time setup
tasks before states start looping between `Running` and `Awaiting`.

Update segment display logic in View
Use a common subroutine to update the current segment display in response to
- new segment
- segment completed
- set segment display mode
@tony1tf
Copy link

tony1tf commented Aug 30, 2022

If you are still accepting ideas, I would like an ability to repeat scans until a trigger signal stops. Then display with the normal pretrigger percentage. A sort of 'watchdog'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants