12 auto InstrParams = DynExp::dynamic_Params_cast<AnalogOut>(Instance.
ParamsGetter());
13 auto InstrData = DynExp::dynamic_InstrumentData_cast<AnalogOut>(Instance.
InstrumentDataGetter());
52 auto DerivedParams = dynamic_Params_cast<AnalogOut>(GetParams());
53 return DerivedParams->MinValue;
58 auto DerivedParams = dynamic_Params_cast<AnalogOut>(GetParams());
59 return DerivedParams->MaxValue;
65 auto InstrData = dynamic_InstrumentData_cast<AnalogOut>(GetInstrumentData());
70 WriteData(CallbackFunc);
81 auto InstrParams = DynExp::dynamic_Params_cast<AnalogOut>(GetParams());
82 auto InstrData = dynamic_InstrumentData_cast<AnalogOut>(GetInstrumentData());
85 auto SampleStream = InstrData->GetSampleStream();
87 SampleStream->Clear();
88 for (
auto i = SampleStream->GetStreamSizeWrite(); i > 0; --i)
Defines a meta instrument for a single analog output port to write a data stream consisting of analog...
virtual ~AnalogOutConfigurator()=0
void ResetImpl(dispatch_tag< OutputPortData >) override final
virtual ~AnalogOutParams()=0
void DisableUserEditable()
Calls DynExp::ParamsBase::DisableUserEditable() on all bundled parameters.
void ExitFuncImpl(dispatch_tag< OutputPortTasks::ExitTask >, DynExp::InstrumentInstance &Instance) override final
Deinitializes the respective instrument within the instrument inheritance hierarchy....
void InitFuncImpl(dispatch_tag< OutputPortTasks::InitTask >, DynExp::InstrumentInstance &Instance) override final
Initializes the respective instrument within the instrument inheritance hierarchy....
virtual bool ApplyLimits() const noexcept
Indicates whether value limits are to be applied to the data stream of the AnalogOut instrument.
virtual void SetDefault(DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const
Writes AnalogOutParams::DefaultValue to the sample stream. CallbackFunc gets called after the task Da...
virtual void OnPrepareExitChild() const override
This function enables derived classes to enqueue tasks to be executed directly before the final exit ...
void ResetImpl(dispatch_tag< OutputPort >) override final
Refer to DynExp::Object::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every de...
virtual void Set(AnalogOutData::SampleStreamType::SampleType Sample, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const
Writes one sample to the sample stream. CallbackFunc gets called after the task DataStreamInstrument:...
virtual DataStreamInstrumentData::ValueType GetUserMaxValue() const override
Indicates the maximal allowed value to generate as defined by the user/software. This value should be...
virtual DataStreamInstrumentData::ValueType GetUserMinValue() const override
Indicates the minimal allowed value to generate as defined by the user/software. This value should be...
virtual void SetSync(AnalogOutData::SampleStreamType::SampleType Sample) const
Synchronized version of Set(), which blocks until Sample has been written.
SampleT SampleType
Alias for SampleT.
double ValueType
Data type to represent hardware limits on the sample values to write to the hardware adapter assigned...
Implements a circular data stream based on Util::circularbuf using samples of an arithmetic type Samp...
Refer to DynExp::ParamsBase::dispatch_tag.
Refer to DynExp::ParamsBase::dispatch_tag.
Refer to ParamsBase::dispatch_tag.
Defines data for a thread belonging to a InstrumentBase instance. Refer to RunnableInstance.
const InstrumentBase::InstrumentDataGetterType InstrumentDataGetter
Getter for instrument's data. Refer to InstrumentBase::InstrumentDataGetterType.
Refer to ParamsBase::dispatch_tag.
static void DisableUserEditable(ParamBase &Param) noexcept
Sets the UserEditable property of the parameter Param to false. Refer to ParamBase::UserEditable.
const Object::ParamsGetterType ParamsGetter
Invoke to obtain the parameters (derived from ParamsBase) of Owner.
std::function< void(const TaskBase &, ExceptionContainer &)> CallbackType
Type of a callback function which is invoked when a task has finished, failed or has been aborted....
DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's...
Accumulates include statements to provide a precompiled header.
double DataType
Data type of time and value.