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.
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'.
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. 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:
Open questions
Running
state repeatedly. Howeverpv::views::trace::View
expects the transition toRunning
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.