Skip to content

NI DAQMX Timing

Greg Stoll edited this page Sep 6, 2021 · 1 revision

Timing

DAQmxCfgBurstHandshakingTimingExportClock

int32 DAQmxCfgBurstHandshakingTimingExportClock (TaskHandle taskHandle, int32 sampleMode, uInt64 sampsPerChan, float64 sampleClkRate, const char sampleClkOutpTerm[], int32 sampleClkPulsePolarity, int32 pauseWhen, int32 readyEventActiveLevel);

Purpose

Configures when the DAQ device transfers data to a peripheral device, using the DAQ device's onboard sample clock to control burst handshaking timing.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
sampleMode int32 Specifies whether the task acquires or generates samples continuously or if it acquires or generates a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChan uInt64 The number of samples to acquire from each channel if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.
sampleClkRate float64 Specifies the sampling rate in samples per channel per second. If you use an external source for the Sample Clock, set this input to the maximum expected rate of that clock.
sampleClkOutpTerm const char [] Specifies the terminal to which to route the Sample Clock.
sampleClkPulsePolarity int32 Specifies if the polarity for the exported sample clock is active high or active low.
pauseWhen int32 Specifies whether the task pauses while the signal is high or low.
readyEventActiveLevel int32 Specifies the polarity for the Ready for Transfer event.

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.

DAQmxCfgBurstHandshakingTimingImportClock

int32 DAQmxCfgBurstHandshakingTimingImportClock (TaskHandle taskHandle, int32 sampleMode, uInt64 sampsPerChan, float64 sampleClkRate, const char sampleClkSrc[], int32 sampleClkActiveEdge, int32 pauseWhen, int32 readyEventActiveLevel);

Purpose

Configures when the DAQ device transfers data to a peripheral device, using an imported sample clock to control burst handshaking timing.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
sampleMode int32 Specifies whether the task acquires or generates samples continuously or if it acquires or generates a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChan uInt64 The number of samples to acquire from each channel if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.
sampleClkRate float64 Specifies the sampling rate in samples per channel per second. If you use an external source for the Sample Clock, set this input to the maximum expected rate of that clock.
sampleClkSrc const char [] Specifies the terminal of the signal to use as the Sample Clock.
sampleClkActiveEdge int32 Specifies on which edge of a clock pulse sampling takes place. This property is useful primarily when the signal you use as the Sample Clock is not a periodic clock.
Value Description
DAQmx_Val_Rising Acquire or generate samples on the rising edges of the Sample Clock.
DAQmx_Val_Falling Acquire or generate samples on the falling edges of the Sample Clock.
pauseWhen int32 Specifies whether the task pauses while the signal is high or low.
readyEventActiveLevel int32 Specifies the polarity for the Ready for Transfer event.

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.

DAQmxCfgChangeDetectionTiming

int32 DAQmxCfgChangeDetectionTiming (TaskHandle taskHandle, const char risingEdgeChan[], const char fallingEdgeChan[], int32 sampleMode, uInt64 sampsPerChan);

Purpose

Configures the task to acquire samples on the rising and/or falling edges of the lines or ports you specify.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
risingEdgeChan const char [] The names of the digital lines or ports on which to detect rising edges. You can specify a list or range of channels.
fallingEdgeChan const char [] The names of the digital lines or ports on which to detect falling edges. You can specify a list or range of channels.
sampleMode int32 Specifies whether the task acquires samples continuously or if it acquires a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChan uInt64 The number of samples to acquire from each channel if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.

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.

DAQmxCfgHandshakingTiming

int32 DAQmxCfgHandshakingTiming (TaskHandle taskHandle, int32 sampleMode, uInt64 sampsPerChanToAcquire);

Purpose

Determines the number of digital samples to acquire or generate using digital handshaking between the device and a peripheral device.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
sampleMode int32 Specifies whether the task acquires or generates samples continuously or if it acquires or generates a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChanToAcquire uInt64 The number of samples to acquire or generate for each channel in the task if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.

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.

DAQmxCfgImplicitTiming

int32 DAQmxCfgImplicitTiming (TaskHandle taskHandle, int32 sampleMode, uInt64 sampsPerChanToAcquire);

Purpose

Sets only the number of samples to acquire or generate without specifying timing. Typically, you should use this function when the task does not require sample timing, such as tasks that use counters for buffered frequency measurement, buffered period measurement, or pulse train generation. For finite counter output tasks, sampsPerChanToAcquire is the number of pulses to generate.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
sampleMode int32 Specifies whether the task acquires or generates samples continuously or if it acquires or generates a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChanToAcquire uInt64 The number of samples to acquire or generate for each channel in the task if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.

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.

DAQmxCfgPipelinedSampClkTiming

int32 DAQmxCfgPipelinedSampClkTiming (TaskHandle taskHandle, const char source[], float64 rate, int32 activeEdge, int32 sampleMode, uInt64 samplesPerChannel);

Purpose

Sets the source of the Sample Clock, the rate of the Sample Clock, and the number of samples to acquire or generate. The device acquires or generates samples on each Sample Clock edge, but does not respond to certain triggers until a few Sample Clock edges later. Pipelining allows higher data transfer rates at the cost of increased trigger response latency. Refer to the device documentation for information about which triggers pipelining affects.

This timing type allows handshaking using the Pause trigger, the Ready for Transfer event, or the Data Active event. Refer to the device documentation for more information.

This timing type is supported only by the NI 6536 and NI 6537.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
source const char [] The source terminal of the Sample Clock. To use the internal clock of the device, use NULL or use OnboardClock.
rate float64 The sampling rate in samples per second per channel. If you use an external source for the Sample Clock, set this value to the maximum expected rate of that clock.
activeEdge int32 Specifies on which edge of the clock to acquire or generate samples.
Value Description
DAQmx_Val_Rising Acquire or generate samples on the rising edges of the Sample Clock.
DAQmx_Val_Falling Acquire or generate samples on the falling edges of the Sample Clock.
sampleMode int32 Specifies whether the task acquires or generates samples continuously or if it acquires or generates a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChanToAcquire uInt64 The number of samples to acquire or generate for each channel in the task if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.

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.

DAQmxCfgSampClkTiming

int32 DAQmxCfgSampClkTiming (TaskHandle taskHandle, const char source[], float64 rate, int32 activeEdge, int32 sampleMode, uInt64 sampsPerChanToAcquire);

Purpose

Sets the source of the Sample Clock, the rate of the Sample Clock, and the number of samples to acquire or generate.

Parameters

Input
Name Type Description
taskHandle TaskHandle The task used in this function.
source const char [] The source terminal of the Sample Clock. To use the internal clock of the device, use NULL or use OnboardClock.
rate float64 The sampling rate in samples per second per channel. If you use an external source for the Sample Clock, set this value to the maximum expected rate of that clock.
activeEdge int32 Specifies on which edge of the clock to acquire or generate samples.
Value Description
DAQmx_Val_Rising Acquire or generate samples on the rising edges of the Sample Clock.
DAQmx_Val_Falling Acquire or generate samples on the falling edges of the Sample Clock.
sampleMode int32 Specifies whether the task acquires or generates samples continuously or if it acquires or generates a finite number of samples.
Value Description
DAQmx_Val_FiniteSamps Acquire or generate a finite number of samples.
DAQmx_Val_ContSamps Acquire or generate samples until you stop the task.
DAQmx_Val_HWTimedSinglePoint Acquire or generate samples continuously using hardware timing without a buffer. Hardware timed single point sample mode is supported only for the sample clock and change detection timing types.
sampsPerChanToAcquire uInt64 The number of samples to acquire or generate for each channel in the task if sampleMode is DAQmx_Val_FiniteSamps. If sampleMode is DAQmx_Val_ContSamps, NI-DAQmx uses this value to determine the buffer size.

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.

Table of Contents

Internal Development

Creating and Setting Up a gRPC Server

Server Security Support

Creating a gRPC Client

gRPC Client Examples

Session Utilities API Reference

Driver Documentation

gRPC API Differences From C API

Sharing Driver Sessions Between Clients

C API Docs
NI-DAQmx
NI-DCPOWER
NI-DIGITAL PATTERN DRIVER
NI-DMM
NI-FGEN
NI-FPGA
NI-RFmx Bluetooth
NI-RFmx NR
NI-RFmx WCDMA
NI-RFmx GSM
NI-RFmx CDMA2k
NI-RFmx Instr
NI-RFmx LTE
NI-RFmx SpecAn
NI-RFmx TD-SCDMA
NI-RFmx WLAN
NI-RFSA
NI-RFSG
NI-SCOPE
NI-SWITCH
NI-TCLK
NI-XNET
Clone this wiki locally