Class AnalogOutput
Represents an operator that generates voltage signals in one or more DAQmx analog output channels from a sequence of sample buffers.
AnalogOutput
configures and starts a task for generating voltage signals in one or more physical analog output channels. Voltage samples for each channel are read from sample buffers in the source sequence, where each row corresponds to one of the channels in the signal generation task, and each column to a sample from each of the channels. The order of the channels follows the order in which you specify the channels in the Channels
property.
Signals can be generated continuously, where a ring buffer is constanty updated with new data arriving from the source sequence.
Alternatively, signals can also be generated with a finite number of samples, in which case the input buffers will provide samples until the specified buffer size is reached. In this case, the operator will wait for the task to finish generating the specified number of samples.
Inherited Members
Namespace: Bonsai.DAQmx
Assembly: Bonsai.DAQmx.dll
Syntax
public class AnalogOutput : Sink<Mat>
Properties
| Improve this Doc View SourceActiveEdge
Gets or sets a value specifying on which edge of a clock pulse sampling takes place.
Declaration
public SampleClockActiveEdge ActiveEdge { get; set; }
Property Value
Type | Description |
---|---|
NationalInstruments.DAQmx.SampleClockActiveEdge |
BufferSize
Gets or sets the number of samples to generate, for finite samples, or the size of the buffer for continuous signal generation.
Declaration
public int BufferSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Channels
Gets the collection of analog output channels used to generate voltage signals.
Declaration
public Collection<AnalogOutputChannelConfiguration> Channels { get; }
Property Value
Type | Description |
---|---|
Collection<AnalogOutputChannelConfiguration> |
SampleMode
Gets or sets a value specifying whether the signal generation task will generate a finite number of samples or if it continuously generates samples.
Declaration
public SampleQuantityMode SampleMode { get; set; }
Property Value
Type | Description |
---|---|
NationalInstruments.DAQmx.SampleQuantityMode |
SampleRate
Gets or sets the sampling rate for generating voltage signals, in samples per second.
Declaration
public double SampleRate { get; set; }
Property Value
Type | Description |
---|---|
Double |
SignalSource
Gets or sets the optional source terminal of the clock. If not specified, the internal clock of the device will be used.
Declaration
public string SignalSource { get; set; }
Property Value
Type | Description |
---|---|
String |
Methods
| Improve this Doc View SourceProcess(IObservable<Mat>)
Generates voltage signals in one or more DAQmx analog output channels from an observable sequence of sample buffers.
Declaration
public override IObservable<Mat> Process(IObservable<Mat> source)
Parameters
Type | Name | Description |
---|---|---|
IObservable<Mat> | source | A sequence of 2D Mat objects storing the voltage samples. Each row corresponds to one of the channels in the signal generation task, and each column to a sample from each of the channels. The order of the channels follows the order in which you specify the channels in the Channels property. |
Returns
Type | Description |
---|---|
IObservable<Mat> | An observable sequence that is identical to the |
Overrides
Process(IObservable<Double>)
Generates a voltage signal in one or more DAQmx analog output channels from an observable sequence of samples.
Declaration
public IObservable<double> Process(IObservable<double> source)
Parameters
Type | Name | Description |
---|---|---|
IObservable<Double> | source | A sequence of floating-point numbers representing the samples used to generate voltage signals. |
Returns
Type | Description |
---|---|
IObservable<Double> | An observable sequence that is identical to the |