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::setTriggerSamplesneeds to calculate *time for continuous modes and throw an error for disjunct modes. - New method
CircularBufferManagerBase::setTriggerTimeto set the time. - Modification of the method
updateTriggerWindowIterto work time-based - Make sure that Trigger Windows are generated for Streaming channels (Possibly changes in
pushBackDataFinishedare required … to be checked where else) - Unit-Tests for triggered + disjunct in
CircularBufferManagerBaseTest