NI-DAQmx .NET Framework 4.5 API Reference

DigitalMultiChannelWriter.WriteWaveform Method

  • Updated2023-02-21
  • 2 minute(s) read
DigitalMultiChannelWriter.WriteWaveform Method
Writes one or more digital waveform samples to one or more DOChannel objects in a task.

Namespace:  NationalInstruments.DAQmx
Assembly:  NationalInstruments.DAQmx (in NationalInstruments.DAQmx.dll) Version: 20.7.45.49302

Syntax

public void WriteWaveform(
	bool autoStart,
	DigitalWaveform[] data
)
Public Sub WriteWaveform ( 
	autoStart As Boolean,
	data As DigitalWaveform()
)

Parameters

autoStart
Type: SystemBoolean
If set to this method automatically calls Start if you do not explicitly call it. You cannot set this parameter to if you have installed events on the task.
data
Type: NationalInstrumentsDigitalWaveform
A 1D array of DigitalWaveform objects to write to the task. Each element in the array corresponds to a channel in the task. The order of the channels in the array corresponds to the order in which you add the channels to the task. The order of the lines in the digital waveform corresponds to the order in which you add the lines to the channel.

Exceptions

ExceptionCondition
DaqExceptionThe NI-DAQmx driver returned an error.
IndexOutOfRangeExceptiondata has a non-zero lower bound.

Remarks

If the task uses on-demand timing, this method returns only after the device generates all samples. If the task uses any timing type other than on-demand, this method returns immediately and does not wait for the device to generate all samples. Your application must call the WaitUntilDone method to block until the device has generated all samples.

Digital waveform writes are not affected by the SampleInterval or StartTime properties on the DigitalWaveform. To configure timing for digital waveform writes, use the ConfigureSampleClock method.

NI-DAQmx read and write methods time out after the amount of time specified by the Timeout property on the task you are reading from or writing to.

This method returns immediately if the output buffer has sufficient space for the samples. Otherwise, the call is blocked until the application generates enough samples to fit the new data into the output buffer.

See Also

Log in to get a better experience