|
DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data class for FunctionGenerator.
More...
#include <FunctionGenerator.h>
Inheritance diagram for DynExpInstr::FunctionGeneratorData:Public Member Functions | |
| FunctionGeneratorData (DataStreamBasePtrType &&SampleStream) | |
Constructs a DataStreamInstrumentData instance. | |
| virtual | ~FunctionGeneratorData ()=default |
| auto | GetCurrentWaveformType () const noexcept |
| Returns CurrentWaveformType. | |
| auto | GetCurrentFrequencyInHz () const noexcept |
| Returns CurrentFrequencyInHz. | |
| auto | GetCurrentAmplitude () const noexcept |
| Returns CurrentAmplitude. | |
| auto | GetCurrentOffset () const noexcept |
| Returns CurrentOffset. | |
| auto | GetCurrentPhaseInRad () const noexcept |
| Returns CurrentPhaseInRad. | |
| auto | GetCurrentDutyCycle () const noexcept |
| Returns CurrentDutyCycle. | |
| auto | GetCurrentTriggerMode () const noexcept |
| Returns CurrentTriggerMode. | |
| auto | GetCurrentTriggerEdge () const noexcept |
| Returns CurrentTriggerEdge. | |
| auto | GetShouldAutostart () const noexcept |
| Returns ShouldAutostart. | |
| auto | GetCurrentPulses () const noexcept |
| Returns CurrentPulses. | |
Public Member Functions inherited from DynExpInstr::DataStreamInstrumentData | |
| DataStreamInstrumentData (DataStreamBasePtrType &&SampleStream) | |
Constructs a DataStreamInstrumentData instance. | |
| 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. | |
| template<typename T > | |
| auto | GetCastSampleStream () const |
| Casts the data stream instrument's sample stream to a derived data stream type. | |
| ValueType | GetHardwareMinValue () const noexcept |
| Returns HardwareMinValue. | |
| ValueType | GetHardwareMaxValue () const noexcept |
| Returns HardwareMaxValue. | |
| UnitType | GetValueUnit () const noexcept |
| Returns ValueUnit. | |
| void | SetHardwareMinValue (ValueType Value) noexcept |
| Sets HardwareMinValue. | |
| void | SetHardwareMaxValue (ValueType Value) noexcept |
| Sets HardwareMaxValue. | |
| void | SetValueUnit (UnitType Unit) noexcept |
| Sets ValueUnit. | |
Public Member Functions inherited from DynExp::InstrumentDataBase | |
| InstrumentDataBase () | |
| virtual | ~InstrumentDataBase () |
| auto | GetLastUpdateTime () const |
| Getter for LastUpdate. | |
| auto | GetException () const noexcept |
| Getter for InstrumentDataBase::InstrumentException. | |
| 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. | |
| 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. | |
| std::unique_ptr< TaskBase > | PopTaskFront () |
| Removes a task from the front of an instrument's task queue. | |
| std::unique_ptr< TaskBase > | PopTaskBack () |
| Removes a task from the back of an instrument's task queue. | |
| auto | GetTaskFront () noexcept |
| Getter for first enqueued task. | |
| auto | GetTaskBack () noexcept |
| Getter for last enqueued task. | |
| size_t | GetNumEnqueuedTasks () const noexcept |
| Getter for the instrument task queue's length. | |
| std::unique_ptr< TaskBase > | PopFinishedTask () |
| Removes a task from the front of an instrument's list of finished tasks. | |
| size_t | GetNumFinishedTasks () const noexcept |
| Getter for the length of the instrument's list of finished tasks. | |
| bool | IsQueueClosed () const noexcept |
| Determines whether the instrument task queue is closed. | |
Public Member Functions inherited from Util::INonCopyable | |
| INonCopyable (const INonCopyable &)=delete | |
| INonCopyable & | operator= (const INonCopyable &)=delete |
Private Member Functions | |
| void | ResetImpl (dispatch_tag< DataStreamInstrumentData >) override final |
| virtual void | ResetImpl (dispatch_tag< FunctionGeneratorData >) |
Private Attributes | |
| bool | DataHasBeenUpdated { false } |
| Indicates whether new data has been written to the instrument's data stream which needs now to be transferred to the underlying hardware in an FunctionGeneratorTasks::UpdateTask calling DataStreamInstrument::WriteData(). | |
| FunctionGeneratorDefs::WaveformTypes | CurrentWaveformType {} |
| Current waveform type. | |
| double | CurrentFrequencyInHz {} |
| Current waveform's frequency in Hz. | |
| double | CurrentAmplitude {} |
| Current waveform's amplitude. | |
| double | CurrentOffset {} |
| Current waveform's offset. | |
| double | CurrentPhaseInRad {} |
| Current waveform's phase in radians. | |
| double | CurrentDutyCycle {} |
| Current waveform's duty cycle or rise/fall ratio. | |
| FunctionGeneratorDefs::TriggerDescType::TriggerModeType | CurrentTriggerMode |
| Current trigger mode. | |
| FunctionGeneratorDefs::TriggerDescType::TriggerEdgeType | CurrentTriggerEdge |
| Current edge type to trigger on. | |
| bool | ShouldAutostart {} |
| Determines whether to directly make the underlying hardware device start generating the function (true) or whether to await a trigger signal (false). | |
| FunctionGeneratorDefs::PulsesDescType | CurrentPulses |
| Current waveform's pulse segments. | |
Additional Inherited Members | |
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. | |
Public Types inherited from DynExp::InstrumentDataBase | |
| using | TaskQueueType = std::list< std::unique_ptr< TaskBase > > |
| Type of an instrument task queue owning the tasks within. | |
| using | TaskQueueIteratorType = TaskQueueType::const_iterator |
Const iterator type to elements of TaskQueueType. | |
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. | |
Public Attributes inherited from DynExp::InstrumentDataBase | |
| InstrumentBaseOnlyType | InstrumentBaseOnly |
Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase. | |
| InstrumenThreadOnlyType | InstrumentThreadOnly |
Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). | |
Protected Member Functions inherited from Util::ISynchronizedPointerLockable | |
| ISynchronizedPointerLockable () | |
| ~ISynchronizedPointerLockable () | |
| Object should never be destroyed before completely unlocked. | |
Protected Member Functions inherited from Util::INonCopyable | |
| constexpr | INonCopyable ()=default |
| ~INonCopyable ()=default | |
Data class for FunctionGenerator.
Definition at line 568 of file FunctionGenerator.h.
|
inline |
Constructs a DataStreamInstrumentData instance.
| SampleStream | Data stream the related DataStreamInstrument instance operates on. The DataStreamInstrumentData instance takes ownership of the stream. |
| Util::InvalidArgException | is thrown if SampleStream is nullptr. |
Definition at line 582 of file FunctionGenerator.h.
|
virtualdefault |
|
inlinenoexcept |
Returns CurrentAmplitude.
Definition at line 588 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentDutyCycle.
Definition at line 591 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentFrequencyInHz.
Definition at line 587 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentOffset.
Definition at line 589 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentPhaseInRad.
Definition at line 590 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentPulses.
Definition at line 595 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentTriggerEdge.
Definition at line 593 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentTriggerMode.
Definition at line 592 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns CurrentWaveformType.
Definition at line 586 of file FunctionGenerator.h.
|
inlinenoexcept |
Returns ShouldAutostart.
Definition at line 594 of file FunctionGenerator.h.
|
finaloverrideprivatevirtual |
Reimplemented from DynExpInstr::DataStreamInstrumentData.
Definition at line 270 of file FunctionGenerator.cpp.
|
inlineprivatevirtual |
Reimplemented in DynExpInstr::DummyDataStreamInstrumentData, DynExpInstr::RS_SMB100BData, DynExpInstr::RS_SMC100AData, DynExpInstr::SwabianInstrumentsPulseStreamerData, and DynExpInstr::OutputPortData.
Definition at line 603 of file FunctionGenerator.h.
|
friend |
Definition at line 575 of file FunctionGenerator.h.
|
friend |
Definition at line 574 of file FunctionGenerator.h.
|
friend |
Definition at line 573 of file FunctionGenerator.h.
|
friend |
Definition at line 572 of file FunctionGenerator.h.
|
friend |
Definition at line 571 of file FunctionGenerator.h.
|
friend |
Definition at line 576 of file FunctionGenerator.h.
|
friend |
Definition at line 570 of file FunctionGenerator.h.
|
private |
Current waveform's amplitude.
Definition at line 614 of file FunctionGenerator.h.
|
private |
Current waveform's duty cycle or rise/fall ratio.
Definition at line 617 of file FunctionGenerator.h.
|
private |
Current waveform's frequency in Hz.
Definition at line 613 of file FunctionGenerator.h.
|
private |
Current waveform's offset.
Definition at line 615 of file FunctionGenerator.h.
|
private |
Current waveform's phase in radians.
Definition at line 616 of file FunctionGenerator.h.
|
private |
Current waveform's pulse segments.
Definition at line 622 of file FunctionGenerator.h.
|
private |
Current edge type to trigger on.
Definition at line 619 of file FunctionGenerator.h.
|
private |
Current trigger mode.
Definition at line 618 of file FunctionGenerator.h.
|
private |
Current waveform type.
Definition at line 612 of file FunctionGenerator.h.
|
private |
Indicates whether new data has been written to the instrument's data stream which needs now to be transferred to the underlying hardware in an FunctionGeneratorTasks::UpdateTask calling DataStreamInstrument::WriteData().
Definition at line 610 of file FunctionGenerator.h.
|
private |
Determines whether to directly make the underlying hardware device start generating the function (true) or whether to await a trigger signal (false).
Definition at line 620 of file FunctionGenerator.h.