Allow to configure Trigger Window in seconds, not by counting samples
This would allow to have triggered mode as well for the power-supply class - mode: "DISJUNCT_SINGLE_SAMPLE"
Currently, CircularBufferManagerBase::pre_trigger_samples_
and CircularBufferManagerBase::post_trigger_samples_
are used in updateTriggerWindowIter
in order to update the Trigger Window. The current concept only works for signal-sources which already provide data in a triggered way (Data-Packages of size 'pre+post samples').
The idea is, to as well provide 'triggered' data-Windows for the streaming data (CircularBufferManagerBase
with ClientNotificationType::TRIGGERED). Since the samples of streaming data are not necessarily equidistant (modes DISJUNCT_SINGLE_SAMPLES
and DISJUNCT_MULTI_SAMPLES
), the Trigger-Window would need to be calculated in seconds (instead of n_samples).
Required changes:
-
CircularBufferManagerBase::pre_trigger_samples_
-->CircularBufferManagerBase::pre_trigger_time_
-
CircularBufferManagerBase::post_trigger_samples_
-->CircularBufferManagerBase::post_trigger_time_
-
CircularBufferManagerBase::setTriggerSamples
needs to calculate *time for continuous modes and throw an error for disjunct modes. - New method
CircularBufferManagerBase::setTriggerTime
to set the time. - Modification of the method
updateTriggerWindowIter
to work time-based - Make sure that Trigger Windows are generated for Streaming channels (Possibly changes in
pushBackDataFinished
are required … to be checked where else) - Unit-Tests for triggered + disjunct in
CircularBufferManagerBaseTest