DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DataStreamInstrument.h File Reference

Implementation of a data stream meta instrument and of data streams input/output devices might work on. More...

Go to the source code of this file.

Classes

class  DynExpInstr::DataStreamInstrumentTasks::InitTask
 Defines a task for initializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by an initialization task class derived from InitTaskBase. Even if the task does not do anything, at least it has to call InitTaskBase::InitFuncImpl() of the derived instrument's initialization task class. More...
 
class  DynExpInstr::DataStreamInstrumentTasks::ExitTask
 Defines a task for deinitializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by a deinitialization task class derived from ExitTaskBase. Even if the task does not do anything, at least it has to call ExitTaskBase::ExitFuncImpl() of the derived instrument's deinitialization task class. More...
 
class  DynExpInstr::DataStreamInstrumentTasks::UpdateTask
 Defines a task for updating an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase must be accompanied by an update task class derived from UpdateTaskBase. Even if the task does not do anything, at least it has to call UpdateTaskBase::UpdateFuncImpl() of the derived instrument's update task class. More...
 
class  DynExpInstr::DataStreamInstrumentTasks::SetStreamSizeTask
 Task to set the size of the related data stream instrument's stream. More...
 
struct  DynExpInstr::BasicSample
 Defines a trivially-copyable basic sample as time (t)-value (f(t)) pairs (t, f(t)). More...
 
class  DynExpInstr::DataStreamBase
 Base class for all data streams compatible with the data stream instrument's data class DataStreamInstrumentData. More...
 
class  DynExpInstr::CircularDataStreamBase
 Base class for all circular data streams based on Util::circularbuf. More...
 
class  DynExpInstr::CircularDataStream< SampleT, >
 Implements a circular data stream based on Util::circularbuf. More...
 
class  DynExpInstr::BasicSampleStream
 Implements a circular data stream based on Util::circularbuf using samples of type BasicSample. More...
 
class  DynExpInstr::NumericSampleStream< SampleT, >
 Implements a circular data stream based on Util::circularbuf using samples of an arithmetic type SampleT. More...
 
class  DynExpInstr::StreamSizeParamsExtension
 Bundles parameters to describe a data stream's stream size. More...
 
struct  DynExpInstr::StreamSizeParamsExtension::ValueType
 Type containing the values of all the parameters belonging to StreamSizeParamsExtension. More...
 
class  DynExpInstr::NumericSampleStreamParamsExtension
 Bundles parameters to describe a NumericSampleStream's sampling properties. More...
 
struct  DynExpInstr::NumericSampleStreamParamsExtension::ValueType
 Type containing the values of all the parameters belonging to NumericSampleStreamParamsExtension. More...
 
class  DynExpInstr::DataStreamInstrumentData
 Data class for DataStreamInstrument. More...
 
class  DynExpInstr::DataStreamInstrumentParams
 Parameter class for DataStreamInstrument. More...
 
class  DynExpInstr::DataStreamInstrumentConfigurator
 Configurator class for DataStreamInstrument. More...
 
class  DynExpInstr::DataStreamInstrument
 Implementation of the data stream meta instrument, which is a base class for all instruments reading/writing single/multiple values from/to input/output devices. More...
 

Namespaces

 DynExpInstr
 DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's core functionality in a modular way.
 
 DynExpInstr::DataStreamInstrumentTasks
 Tasks for DataStreamInstrument.
 

Typedefs

template<typename T >
using DynExpInstr::DataStreamPtrType = std::unique_ptr< T >
 Type of a pointer owning a data stream instance derived from DataStreamBase. More...
 
using DynExpInstr::DataStreamBasePtrType = DataStreamPtrType< DataStreamBase >
 Type of a pointer owning a DataStreamBase instance. More...
 
using DynExpInstr::AnalogSampleStream = NumericSampleStream< double >
 Alias for a numeric sample stream of double samples. More...
 
using DynExpInstr::DigitalSampleStream = NumericSampleStream< uint8_t >
 Alias for a numeric sample stream of uint8_t (single byte) samples. More...
 
using DynExpInstr::AnalogSampleStreamPtrType = DataStreamPtrType< AnalogSampleStream >
 Alias for a pointer owning a AnalogSampleStream instance. More...
 
using DynExpInstr::DigitalSampleStreamPtrType = DataStreamPtrType< DigitalSampleStream >
 Alias for a pointer owning a DigitalSampleStream instance. More...
 

Detailed Description

Implementation of a data stream meta instrument and of data streams input/output devices might work on.

Definition in file DataStreamInstrument.h.


Class Documentation

◆ DynExpInstr::StreamSizeParamsExtension::ValueType

struct DynExpInstr::StreamSizeParamsExtension::ValueType

Type containing the values of all the parameters belonging to StreamSizeParamsExtension.

Definition at line 675 of file DataStreamInstrument.h.

Class Members
NumberType StreamSize Stream size of the related DataStreamInstrument instance's sample stream in samples.

◆ DynExpInstr::NumericSampleStreamParamsExtension::ValueType

struct DynExpInstr::NumericSampleStreamParamsExtension::ValueType

Type containing the values of all the parameters belonging to NumericSampleStreamParamsExtension.

Definition at line 742 of file DataStreamInstrument.h.

Class Members
SamplingModeType SamplingMode Sampling mode of the related DataStreamInstrument instance's sample stream. Indicates whether reading/writing happens only once or continuously.
NumberType SamplingRate Sampling rate of the related DataStreamInstrument instance's sample stream in samples per second.