Ivan, Have you made any further progress on this work?
Brian Johnson, original author

On 3/10/2021 2:51 PM, Ivan Wick wrote:
On Sun, Mar 7, 2021 at 1:48 AM Ivan Wick <ivanwick+sourceforge....@gmail.com 
<mailto:ivanwick%2bsourceforge....@gmail.com>> wrote:

    Hi All,
    Some work has already been done to implement a repeat capture mode for 
PulseView which automatically rearms the trigger for repeated captures, with an 
adjustable time delay between when each capture segment completes and the next 
one starts.

    
https://sourceforge.net/p/sigrok/mailman/sigrok-devel/thread/cdf7c54b-c509-9162-34fb-2709f5756437%40BrianAndChristine.com/

    This feature has not been merged yet, so I'm continuing work on it 
following the suggestions in the prior email exchange to better fit the UI and 
architecture. Changes are on github:

    https://github.com/sigrokproject/pulseview/pull/38

    This is a work in progress and I would appreciate some guidance in getting 
it merged, since I agree that it is a useful feature. Code on this branch can 
compile and run, but has a problem switching the segment display mode while a 
repeat capture is running.

    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.


I've gone ahead and updated my PR to add a Starting state to pv::Session so 
that observers can do one-time setup tasks before states start looping between 
Running and Awaiting, as they do during a repeating capture. Previously, these 
setup tasks were done at the transition to Running state which, without the 
repeat capture ability, would have only happened once.

This allows pv::views::trace::View to reset its currently displayed segment to 
zero only once at the start of a repeating capture.

With this and some other minor updates, the repeat capture feature is working nicely with 
the segment display modes. Selecting "Display last complete segment only" mode 
will redraw the traces only when a capture segment is complete. This behavior was 
requested in Brian's prior repeat capture discussion.

Soeren was right, most of the code to implement repeat captures as multiple 
segments was already there.

I appreciate any feedback and guidance about how to resolve any other open 
tasks.
Thanks,
Ivan


_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel



_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to