Table of Contents

Class AnalogInput

Namespace
Bonsai.DAQmx
Assembly
Bonsai.DAQmx.dll

Represents an operator that generates a sequence of voltage measurements from one or more DAQmx analog input channels.

AnalogInput configures and starts a data acquisition task for sampling voltage measurements from one or more physical analog input channels. Samples from each channel will be collected in a sample buffer, where each row corresponds to a channel in the acquisition 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.

If no input source is specified, data will be collected asynchronously every time a new buffer is filled.

AnalogInput-Async

Alternatively, if an input observable sequence is provided, a new data buffer will be collected every time a new notification is emitted by the input source.

AnalogInput-Sync

public class AnalogInput : Source<Mat>
Inheritance
AnalogInput
Inherited Members

Properties

ActiveEdge

Gets or sets a value specifying on which edge of a clock pulse sampling takes place.

public SampleClockActiveEdge ActiveEdge { get; set; }

Property Value

SampleClockActiveEdge

BufferSize

Gets or sets the number of samples to acquire, for finite samples, or the size of the buffer for continuous sampling.

public int BufferSize { get; set; }

Property Value

int

Channels

Gets the collection of analog input channels from which to acquire voltage samples.

public Collection<AnalogInputChannelConfiguration> Channels { get; }

Property Value

Collection<AnalogInputChannelConfiguration>

SampleMode

Gets or sets a value specifying whether the acquisition task will acquire a finite number of samples or if it continuously acquires samples.

public SampleQuantityMode SampleMode { get; set; }

Property Value

SampleQuantityMode

SampleRate

Gets or sets the sampling rate for acquiring voltage measurements, in samples per second.

public double SampleRate { get; set; }

Property Value

double

SamplesPerChannel

Gets or sets the number of samples per channel in each output buffer. If not specified, the number of samples will be set to the size of the buffer.

public int? SamplesPerChannel { get; set; }

Property Value

int?

SignalSource

Gets or sets the optional source terminal of the clock. If not specified, the internal clock of the device will be used.

public string SignalSource { get; set; }

Property Value

string

Methods

Generate()

Generates an observable sequence of voltage measurements from one or more DAQmx analog input channels.

public override IObservable<Mat> Generate()

Returns

IObservable<Mat>

A sequence of 2D Mat objects storing the voltage samples. Each row corresponds to a channel in the acquisition 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.

Generate<TSource>(IObservable<TSource>)

Generates an observable sequence of voltage measurements from one or more DAQmx analog input channels, where each new buffer is emitted only when an observable sequence emits a notification.

public IObservable<Mat> Generate<TSource>(IObservable<TSource> source)

Parameters

source IObservable<TSource>

The sequence containing the notifications used for emitting sample buffers.

Returns

IObservable<Mat>

A sequence of 2D Mat objects storing the voltage samples. Each row corresponds to a channel in the acquisition 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.

Type Parameters

TSource

The type of the elements in the source sequence.