DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpInstr::SwabianInstrumentsPulseStreamerData Class Reference
+ Inheritance diagram for DynExpInstr::SwabianInstrumentsPulseStreamerData:

Public Types

using SampleStreamType = BasicSampleStream
 
- Public Types inherited from DynExpInstr::DataStreamInstrumentData
enum class  UnitType {
  Arbitrary , LogicLevel , Counts , Volt ,
  Ampere , Power_W , Power_dBm
}
 Units which can be used for data stream instruments. More...
 
using ValueType = double
 Data type to represent hardware limits on the sample values to write to the hardware adapter assigned to the related DataStreamInstrument instance. More...
 
- Public Types inherited from DynExp::InstrumentDataBase
using TaskQueueType = std::list< std::unique_ptr< TaskBase > >
 Type of an instrument task queue owning the tasks within. More...
 
using TaskQueueIteratorType = TaskQueueType::const_iterator
 Const iterator type to elements of TaskQueueType. More...
 

Public Member Functions

 SwabianInstrumentsPulseStreamerData (size_t BufferSizeInSamples=0)
 
virtual ~SwabianInstrumentsPulseStreamerData ()=default
 
auto GetChannel () const noexcept
 
bool IsDigitalChannel () const noexcept
 
bool IsStreaming () const noexcept
 
bool HasFinished () const noexcept
 
- Public Member Functions inherited from DynExpInstr::FunctionGeneratorData
 FunctionGeneratorData (DataStreamBasePtrType &&SampleStream)
 Constructs a DataStreamInstrumentData instance. More...
 
virtual ~FunctionGeneratorData ()=default
 
auto GetCurrentWaveformType () const noexcept
 Returns CurrentWaveformType. More...
 
auto GetCurrentFrequencyInHz () const noexcept
 Returns CurrentFrequencyInHz. More...
 
auto GetCurrentAmplitude () const noexcept
 Returns CurrentAmplitude. More...
 
auto GetCurrentOffset () const noexcept
 Returns CurrentOffset. More...
 
auto GetCurrentPhaseInRad () const noexcept
 Returns CurrentPhaseInRad. More...
 
auto GetCurrentDutyCycle () const noexcept
 Returns CurrentDutyCycle. More...
 
auto GetCurrentTriggerMode () const noexcept
 Returns CurrentTriggerMode. More...
 
auto GetCurrentTriggerEdge () const noexcept
 Returns CurrentTriggerEdge. More...
 
auto GetShouldAutostart () const noexcept
 Returns ShouldAutostart. More...
 
auto GetCurrentPulses () const noexcept
 Returns CurrentPulses. More...
 
- Public Member Functions inherited from DynExpInstr::DataStreamInstrumentData
 DataStreamInstrumentData (DataStreamBasePtrType &&SampleStream)
 Constructs a DataStreamInstrumentData instance. More...
 
virtual ~DataStreamInstrumentData ()=default
 
DataStreamBasePtrType::element_type * GetSampleStream () const noexcept
 Getter for the data stream instrument's sample stream. Logical const-ness: always returns a non-const type to allow modules to directly manipulate the sample stream. More...
 
template<typename T >
auto GetCastSampleStream () const
 Casts the data stream instrument's sample stream to a derived data stream type. More...
 
ValueType GetHardwareMinValue () const noexcept
 Returns HardwareMinValue. More...
 
ValueType GetHardwareMaxValue () const noexcept
 Returns HardwareMaxValue. More...
 
UnitType GetValueUnit () const noexcept
 Returns ValueUnit. More...
 
void SetHardwareMinValue (ValueType Value) noexcept
 Sets HardwareMinValue. More...
 
void SetHardwareMaxValue (ValueType Value) noexcept
 Sets HardwareMaxValue. More...
 
void SetValueUnit (UnitType Unit) noexcept
 Sets ValueUnit. More...
 
- Public Member Functions inherited from DynExp::InstrumentDataBase
 InstrumentDataBase ()
 
virtual ~InstrumentDataBase ()
 
auto GetLastUpdateTime () const
 Getter for LastUpdate. More...
 
auto GetException () const noexcept
 Getter for InstrumentDataBase::InstrumentException. More...
 
void EnqueueTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the back of an instrument's task queue and notifies the instrument about the new task. More...
 
void EnqueuePriorityTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the front of an instrument's task queue and notifies the instrument about the new task. More...
 
std::unique_ptr< TaskBasePopTaskFront ()
 Removes a task from the front of an instrument's task queue. More...
 
std::unique_ptr< TaskBasePopTaskBack ()
 Removes a task from the back of an instrument's task queue. More...
 
auto GetTaskFront () noexcept
 Getter for first enqueued task. More...
 
auto GetTaskBack () noexcept
 Getter for last enqueued task. More...
 
size_t GetNumEnqueuedTasks () const noexcept
 Getter for the instrument task queue's length. More...
 
std::unique_ptr< TaskBasePopFinishedTask ()
 Removes a task from the front of an instrument's list of finished tasks. More...
 
size_t GetNumFinishedTasks () const noexcept
 Getter for the length of the instrument's list of finished tasks. More...
 
bool IsQueueClosed () const noexcept
 Determines whether the instrument task queue is closed. More...
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 

Public Attributes

DynExp::LinkedObjectWrapperContainer< DynExpHardware::SIPulseStreamerHardwareAdapterHardwareAdapter
 
- Public Attributes inherited from DynExp::InstrumentDataBase
InstrumentBaseOnlyType InstrumentBaseOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase. More...
 
InstrumenThreadOnlyType InstrumentThreadOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). More...
 

Private Member Functions

void ResetImpl (dispatch_tag< FunctionGeneratorData >) override final
 
virtual void ResetImpl (dispatch_tag< SwabianInstrumentsPulseStreamerData >)
 

Private Attributes

DynExpHardware::SIPulseStreamerHardwareAdapterParams::OutputChannelType Channel = {}
 
bool Streaming = false
 
bool Finished = false
 
size_t NumFailedStatusUpdateAttempts = 0
 

Friends

class SwabianInstrumentsPulseStreamerTasks::InitTask
 
class SwabianInstrumentsPulseStreamerTasks::UpdateTask
 

Additional Inherited Members

- Static Public Member Functions inherited from DynExpInstr::DataStreamInstrumentData
static const char * UnitTypeToStr (const UnitType &Unit)
 Returns a descriptive string of a respective unit to be e.g. used in plots. More...
 
- Protected Member Functions inherited from Util::ISynchronizedPointerLockable
 ISynchronizedPointerLockable ()
 
 ~ISynchronizedPointerLockable ()
 Object should never be destroyed before completely unlocked. More...
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 

Detailed Description

Definition at line 149 of file SwabianInstrumentsPulseStreamer.h.

Member Typedef Documentation

◆ SampleStreamType

Constructor & Destructor Documentation

◆ SwabianInstrumentsPulseStreamerData()

DynExpInstr::SwabianInstrumentsPulseStreamerData::SwabianInstrumentsPulseStreamerData ( size_t  BufferSizeInSamples = 0)
inline

Definition at line 157 of file SwabianInstrumentsPulseStreamer.h.

◆ ~SwabianInstrumentsPulseStreamerData()

virtual DynExpInstr::SwabianInstrumentsPulseStreamerData::~SwabianInstrumentsPulseStreamerData ( )
virtualdefault

Member Function Documentation

◆ GetChannel()

auto DynExpInstr::SwabianInstrumentsPulseStreamerData::GetChannel ( ) const
inlinenoexcept

Definition at line 160 of file SwabianInstrumentsPulseStreamer.h.

◆ HasFinished()

bool DynExpInstr::SwabianInstrumentsPulseStreamerData::HasFinished ( ) const
inlinenoexcept

Definition at line 165 of file SwabianInstrumentsPulseStreamer.h.

◆ IsDigitalChannel()

bool DynExpInstr::SwabianInstrumentsPulseStreamerData::IsDigitalChannel ( ) const
noexcept

Definition at line 198 of file SwabianInstrumentsPulseStreamer.cpp.

◆ IsStreaming()

bool DynExpInstr::SwabianInstrumentsPulseStreamerData::IsStreaming ( ) const
inlinenoexcept

Definition at line 164 of file SwabianInstrumentsPulseStreamer.h.

◆ ResetImpl() [1/2]

void DynExpInstr::SwabianInstrumentsPulseStreamerData::ResetImpl ( dispatch_tag< FunctionGeneratorData )
finaloverrideprivatevirtual

Reimplemented from DynExpInstr::FunctionGeneratorData.

Definition at line 204 of file SwabianInstrumentsPulseStreamer.cpp.

◆ ResetImpl() [2/2]

virtual void DynExpInstr::SwabianInstrumentsPulseStreamerData::ResetImpl ( dispatch_tag< SwabianInstrumentsPulseStreamerData )
inlineprivatevirtual

Definition at line 171 of file SwabianInstrumentsPulseStreamer.h.

Friends And Related Function Documentation

◆ SwabianInstrumentsPulseStreamerTasks::InitTask

◆ SwabianInstrumentsPulseStreamerTasks::UpdateTask

Member Data Documentation

◆ Channel

DynExpHardware::SIPulseStreamerHardwareAdapterParams::OutputChannelType DynExpInstr::SwabianInstrumentsPulseStreamerData::Channel = {}
private

Definition at line 173 of file SwabianInstrumentsPulseStreamer.h.

◆ Finished

bool DynExpInstr::SwabianInstrumentsPulseStreamerData::Finished = false
private

Definition at line 175 of file SwabianInstrumentsPulseStreamer.h.

◆ HardwareAdapter

DynExp::LinkedObjectWrapperContainer<DynExpHardware::SIPulseStreamerHardwareAdapter> DynExpInstr::SwabianInstrumentsPulseStreamerData::HardwareAdapter

Definition at line 167 of file SwabianInstrumentsPulseStreamer.h.

◆ NumFailedStatusUpdateAttempts

size_t DynExpInstr::SwabianInstrumentsPulseStreamerData::NumFailedStatusUpdateAttempts = 0
private

Definition at line 177 of file SwabianInstrumentsPulseStreamer.h.

◆ Streaming

bool DynExpInstr::SwabianInstrumentsPulseStreamerData::Streaming = false
private

Definition at line 174 of file SwabianInstrumentsPulseStreamer.h.


The documentation for this class was generated from the following files: