Skip to content

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
Edited by al.schwinn