NI DAQMX Write Functions - ni/grpc-device GitHub Wiki

Write Functions

DAQmxWriteAnalogF64

int32 DAQmxWriteAnalogF64 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, float64 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes multiple floating-point samples to a task that contains one or more analog output channels.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray float64 [] The array of 64-bit samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteAnalogScalarF64

int32 DAQmxWriteAnalogScalarF64 (TaskHandle taskHandle, bool32 autoStart, float64 timeout, float64 value, bool32 *reserved);

Purpose

Writes a floating-point sample to a task that contains a single analog output channel.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write the sample to.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write the value. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the value. If this function successfully writes the value, it does not return an error. Otherwise, the function returns a timeout error.
value float64 A 64-bit sample to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteBinaryI16

int32 DAQmxWriteBinaryI16 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, int16 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes unscaled signed integer samples to the task.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray int16 [] The array of 16-bit samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteBinaryU16

int32 DAQmxWriteBinaryU16 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt16 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes unscaled, unsigned 16-bit integer samples to the task.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray uInt16 [] The array of 16-bit samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteCtrFreq

int32 DAQmxWriteCtrFreq (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, float64 frequency[], float64 dutyCycle[], int32 *numSampsPerChanWritten, bool32 *reserved);

Purpose

Writes a new pulse frequency and duty cycle to each channel in a continuous counter output task that contains one or more channels.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
frequency float64 [] Specifies at what frequency to generate pulses.
dutyCycle float64 [] The width of the pulse divided by the pulse period. NI-DAQmx uses this ratio, combined with frequency, to determine both pulse width and pulse delay.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
numSampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteCtrFreqScalar

int32 DAQmxWriteCtrFreqScalar (TaskHandle taskHandle, bool32 autoStart, float64 timeout, float64 frequency, float64 dutyCycle, bool32 *reserved);

Purpose

Writes a new pulse frequency and duty cycle to a continuous counter output task that contains a single channel.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write the sample to.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
frequency float64 Specifies at what frequency to generate pulses.
dutyCycle float64 The width of the pulse divided by the pulse period. NI-DAQmx uses this ratio, combined with frequency, to determine both pulse width and pulse delay.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteCtrTicks

int32 DAQmxWriteCtrTicks (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt32 highTicks[], uInt32 lowTicks[], int32 *numSampsPerChanWritten, bool32 *reserved);

Purpose

Writes new pulse high tick counts and low tick counts to each channel in a continuous counter output task that contains one or more channels.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
highTicks uInt32 [] The number of timebase ticks the pulse is high.
lowTicks uInt32 [] The number of timebase ticks the pulse is low.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
numSampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteCtrTicksScalar

int32 DAQmxWriteCtrTicksScalar (TaskHandle taskHandle, bool32 autoStart, float64 timeout, uInt32 highTicks, uInt32 lowTicks, bool32 *reserved);

Purpose

Writes a new pulse high tick count and low tick count to a continuous counter output task that contains a single channel.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write the sample to.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
highTicks uInt32 The number of timebase ticks the pulse is high.
lowTicks uInt32 The number of timebase ticks the pulse is low.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteCtrTime

int32 DAQmxWriteCtrTime (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, float64 highTime[], float64 lowTime[], int32 *numSampsPerChanWritten, bool32 *reserved);

Purpose

Writes a new pulse high time and low time to each channel in a continuous counter output task that contains one or more channels.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
highTime float64 [] The amount of time the pulse is high.
lowTime float64 [] The amount of time the pulse is low.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
numSampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteCtrTimeScalar

int32 DAQmxWriteCtrTimeScalar (TaskHandle taskHandle, bool32 autoStart, float64 timeout, float64 highTime, float64 lowTime, bool32 *reserved);

Purpose

Writes a new pulse high time and low time to a continuous counter output task that contains a single channel.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write the sample to.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
highTime float64 The amount of time the pulse is high.
lowTime float64 The amount of time the pulse is low.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteDigitalLines

int32 DAQmxWriteDigitalLines (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt8 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes multiple samples to each digital line in a task. When you create your write array, each sample per channel must contain the number of bytes returned by the DAQmx_Write_DigitalLines_BytesPerChan property.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray uInt8 [] The samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteDigitalScalarU32

int32 DAQmxWriteDigitalScalarU32 (TaskHandle taskHandle, bool32 autoStart, float64 timeout, uInt32 value, bool32 *reserved);

Purpose

Writes a single 32-bit unsigned integer sample to a task that contains a single digital output channel. Use this format for devices with up to 32 lines per port.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write the sample to.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write the value. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the value. If this function successfully writes the value, it does not return an error. Otherwise, the function returns a timeout error.
value uInt32 A 32-bit integer sample to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteDigitalU8

int32 DAQmxWriteDigitalU8 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt8 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes multiple 8-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 8 lines per port.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray uInt8 [] The array of 8-bit integer samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteDigitalU16

int32 DAQmxWriteDigitalU16 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt16 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes multiple 16-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 16 lines per port.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray uInt16 [] The array of 16-bit integer samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

DAQmxWriteDigitalU32

int32 DAQmxWriteDigitalU32 (TaskHandle taskHandle, int32 numSampsPerChan, bool32 autoStart, float64 timeout, bool32 dataLayout, uInt32 writeArray[], int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes multiple 32-bit unsigned integer samples to a task that contains one or more digital output channels. Use this format for devices with up to 32 lines per port.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of two samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSampsPerChan int32 The number of samples, per channel, to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, this function returns an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
dataLayout bool32 Specifies how the samples are arranged, either interleaved or noninterleaved.
Value Description
DAQmx_Val_GroupByChannel Group by channel (noninterleaved)
DAQmx_Val_GroupByScanNumber Group by sample (interleaved)
writeArray uInt32 [] The array of 32-bit integer samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.

Advanced

DAQmxWriteRaw

int32 DAQmxWriteRaw (TaskHandle taskHandle, int32 numSamps, bool32 autoStart, float64 timeout, void *writeArray, int32 *sampsPerChanWritten, bool32 *reserved);

Purpose

Writes raw samples to a task. There is no scaling, parsing, or separation of the samples. Refer to the specifications for your instrument to determine the format of the incoming samples.

Note If you configured timing for your task, your write is considered a buffered write. Buffered writes require a minimum buffer size of 2 samples. If you do not configure the buffer size using DAQmxCfgOutputBuffer, NI-DAQmx automatically configures the buffer when you configure sample timing. If you attempt to write one sample for a buffered write without configuring the buffer, you will receive an error.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task to write samples to.
numSamps int32 The number of samples per channel to write. You must pass in a value of 0 or more in order for the sample to write. If you pass a negative number, you will receive an error.
autoStart bool32 Specifies whether or not this function automatically starts the task if you do not start it.
timeout float64 The amount of time, in seconds, to wait for this function to write all the samples. To specify an infinite wait, pass -1 (DAQmx_Val_WaitInfinitely). This function returns an error if the timeout elapses.
A value of 0 indicates to try once to write the submitted samples. If this function successfully writes all submitted samples, it does not return an error. Otherwise, the function returns a timeout error and returns the number of samples actually written.
writeArray void * The raw samples to write to the task.
reserved bool32 * Reserved for future use. Pass NULL to this parameter.
Output
Name Type Description
sampsPerChanWritten int32 * The actual number of samples per channel successfully written to the buffer.

Return Value

Name Type Description
status int32 The error code returned by the function in the event of an error or warning. A value of 0 indicates success. A positive value indicates a warning. A negative value indicates an error.
⚠️ **GitHub.com Fallback** ⚠️