Data Acquisition Module

The Data Acquisition Module corresponds to the Data Acquisition tab of the LabOne User Interface. It enables the user to record and align time and frequency domain data from multiple instrument signal sources at a defined data rate. The data may be recorded either continuously or in bursts based upon trigger criteria analogous to the functionality provided by laboratory oscilloscopes.

example data acquisition edge
Figure 1. The plot produced by example_data_acquisition_edge.py, an example distributed with the LabOne Python API. The plot shows 10 bursts of data acquired from a demodulator; each burst was recorded when the demodulator’s R value exceeded a specified threshold using a positive edge trigger. See the Section Running the Examples in the Python Chapter for help getting started with the Python examples.
Historical Note

The Data Acquisition Module was introduced in LabOne Release 17.12 and improved and unified the functionality of the Software Trigger (Recorder) Module and the Spectrum Analyzer Module. The DAQ and Spectrum tabs in the LabOne User Interface both use the Data Acquisition Module. The main new features of the DAQ Module (in comparison to the Software Trigger Module) are:

  • Simultaneous triggered time and frequency domain (FFT) data acquisition.

  • Exact mode, in addition to linear or nearest neighbor interpolation sampling modes. Exact mode ensures that all the subscribed data is sampled onto the grid defined by the subscribed signal with the highest data rate.

  • A continuous acquisition mode.

  • Dot notation for specifying the exact signal to acquire and any operations to be performed on the data, e.g. averaging, standard deviation, FFT.

Please note that the Software Trigger (Recorder) Module and the Spectrum Analyzer Module will be deprecated in a future release. Migrating a SW Trigger program to the DAQ Module and Migrating a zoomFFT program to the DAQ Module explain how to migrate existing Software Trigger, respectively zoomFFT, API programs to the Data Acquisition Module.

DAQ Module Acquisition Modes and Trigger Types

This section lists the required parameters and special considerations for each trigger mode. For reference documentation of the module’s parameters please see Data Acquisition Module Parameters.

Table 1. Overview of the acquisition modes available in the Data Acquisition Module.
Mode / Trigger Type Description Value of dataAcquisitionModule/type

Continuous

Continuous recording of data.

0

Edge

Edge trigger with noise rejection.

1

Pulse

Pulse width trigger with noise rejection.

3

Tracking (Edge or Pulse)

Level tracking trigger to compensate for signal drift.

4

Digital

Digital trigger with bit masking.

2

Hardware

Trigger on one of the instrument’s hardware trigger channels (not available on HF2).

6

Pulse Counter

Trigger on the value of an instrument’s pulse counter (requires CNT Option).

8

Continuous Acquisition

This mode performs back-to-back recording of the subscribed signal paths. The data is returned by read() in bursts of a defined length (dataAcquisitionModule/duration). This length is defined either:

  • Directly by the user via dataAcquisitionModule/duration for the case of nearest or linear sampling (specified by dataAcquisitionModule/grid/mode).

  • Set by the module in the case of exact grid mode based on the value of dataAcquisitionModule/grid/cols and the highest sampling rate rate of all subscribed signal paths.

Acquisition using Level Edge Triggering

Parameters specific to edge triggering are:

  • dataAcquisitionModule/level,

  • dataAcquisitionModule/hysteresis.

The user can request automatic calculation of the level and hysteresis parameters by setting the findlevel parameter to 1. Please see Determining the Trigger Level automatically for more information.

daq analog trigger
Figure 2. Explanation of the Data Acquisition Module’s parameters for an Edge Trigger.

Acquisition using Pulse Triggering

Parameters specific to pulse triggering are:

  • dataAcquisitionModule/level,

  • dataAcquisitionModule/hysteresis,

  • dataAcquisitionModule/pulse/min,

  • dataAcquisitionModule/pulse/max.

The user can request automatic calculation of the level and hysteresis parameters by setting the findlevel parameter to 1. Please see Determining the Trigger Level automatically for more information.

daq pulse trigger
Figure 3. Explanation of the Data Acquisition Module’s parameters for a positive Pulse Trigger.

Acquisition using Tracking Edge or Pulse Triggering

In addition to the parameters specific to edge and pulse triggers, the parameter that is of particular importance when using a tracking trigger type is:

  • dataAcquisitionModule/bandwidth

daq tracking trigger
Figure 4. Explanation of the Data Acquisition Module’s parameters for a Tracking Trigger.

Acquisition using Digital Triggering

To use the DAQ Module with a digital trigger, it must be configured to use a digital trigger type (by setting dataAcquisitionModule/type to 2) and to use the output value of the instrument’s DIO port as it’s trigger source. This is achieved by setting dataAcquisitionModule/triggernode to the device node /DEV…​./DEMODS/N/SAMPLE.bits). It is important to be aware that the Data Acquisition Module takes its value for the DIO output from the demodulator sample field bits, not from a node in the /DEV…​./DIOS/ branch. As such, the specified demodulator must be enabled and and an appropriate transfer rate configured that meets the required trigger resolution (the Data Acquisition Module can only resolve triggers at the resolution of 1/(/DEV…​./DEMODS/N/RATE); it is not possible to interpolate a digital signal to improve trigger resolution and if the incoming trigger pulse on the DIO port is shorter than this resolution, it may be missed).

The Digital Trigger allows not only the trigger bits (dataAcquisitionModule/bits) to be specified but also a bit mask (dataAcquisitionModule/bitmask) in order to allow an arbitrary selection of DIO pins to supply the trigger signal. When a positive, respectively, negative edge trigger is used, all of these selected pins must become high, respectively low. The bit mask is applied as following. For positive edge triggering (dataAcquisitionModule/edge set to value 1), the Data Acquisition Module recording is triggered when the following equality holds for the DIO value:

(/DEV..../DEMODS/N/SAMPLE.bits BITAND dataAcquisitionModule/bitmask) == (dataAcquisitionModule/bits BITAND dataAcquisitionModule/bitmask)

and this equality has not been met for the previous value in time (the previous sample) of /DEV…​./DEMODS/N/SAMPLE.bits. For negative edge triggering (dataAcquisitionModule/edge set to value 2), the Data Acquisition Module recording is triggered when the following inequality holds for the current DIO value:

(/DEV..../DEMODS/N/SAMPLE.bits BITAND dataAcquisitionModule/bitmask) != (dataAcquisitionModule/bits BITAND dataAcquisitionModule/bitmask)

and this inequality was not met (there was equality) for the previous value of the DIO value.

Acquisition using Hardware Triggering

There are no parameters specific only to hardware triggering since the hardware trigger defines the trigger criterion itself; only the trigger edge must be specified. For a hardware trigger the dataAcquisitionModule/triggernode must be one of:

  • /DEV…​/CNTS/N/SAMPLE.TrigAWGTrigN + (requires CNT Option),

  • /DEV…​/DEMODS/N/SAMPLE.TrigAWGTrigN,

  • /DEV…​/DEMODS/N/SAMPLE.TrigDemod4Phase,

  • /DEV…​/DEMODS/N/SAMPLE.TrigDemod8Phase,

  • /DEV…​/CNTS/N/SAMPLE.TrigInN (requires CNT Option),

  • /DEV…​/DEMODS/N/SAMPLE.TrigInN,

  • /DEV…​/DEMODS/N/SAMPLE.TrigOutN.

The hardware trigger type is not supported on HF2 instruments.

Acquisition using Pulse Counter Triggering

Pulse Counter triggering requires the CNT Option. Parameters specific to the pulse counter trigger type:

  • eventcount/mode.

The dataAcquisitionModule/triggernode must be configured to be a pulse counter sample:

  • /DEV…​./CNTS/N/SAMPLE.value

Determining the Trigger Level automatically

The Data Acquisition Module can calculate the dataAcquisitionModule/level and dataAcquisitionModule/hysteresis parameters based on the current input signal for edge, pulse, tracking edge and tracking pulse trigger types. This is particularly useful when using a tracking trigger, where the trigger level is relative to the output of the low-pass filter tracking the input signal’s average (see Figure 4). In the LabOne User Interface this functionality corresponds to the "Find" button in the Settings sub-tab of the Data Acquisition Tab.

This functionality is activated via API by setting the dataAcquisitionModule/findlevel parameter to 1. This is a single-shot calculation of the level and hysteresis parameters, meaning that it is performed only once, not continually. The Data Acquisition Module monitors the input signal for a duration of 0.1 seconds and sets the level parameter to the average of the largest and the smallest values detected in the signal and the hysteresis to 10% of the difference between largest and smallest values. When the Data Acquisition Module has finished its calculation of the level and hysteresis parameters it sets the value of the dataAcquisitionModule/findlevel parameter to 0 and writes the values to the dataAcquisitionModule/level and dataAcquisitionModule/hysteresis parameters. Note that the calculation is only performed if the Data Acquisition Module is currently running, i.e., after execute() has been called. See Python code demonstrating how to use the 0/findlevel parameter. Taken from the Python example example_swtrigger_grid. for Python code demonstrating how to use this behavior.

Example 1. Python code demonstrating how to use the dataAcquisitionModule/findlevel parameter. Taken from the Python example example_data_acquisition_grid.
# Arm the Data Acquisition Module: ready for trigger acquisition.
trigger.execute()
# Tell the Data Acquisition Module to determine the trigger level.
trigger.set('dataAcquisitionModule/findlevel', 1)
findlevel = 1
timeout = 10  # [s]
t0 = time.time()
while findlevel == 1:
    time.sleep(0.05)
    findlevel = trigger.getInt('dataAcquisitionModule/findlevel')
    if time.time() - t0 > timeout:
        trigger.finish()
        trigger.clear()
        raise RuntimeError("Data Acquisition Module didn't find trigger level after %.3f seconds." % timeout)
level = trigger.getDouble('dataAcquisitionModule/level')
hysteresis = trigger.getDouble('dataAcquisitionModule/hysteresis')

Signal Subscription

The Data Acquisition Module uses dot notation for subscribing to the signals. Whereas with the Software Trigger (Recorder Module) you subscribe to an entire streaming node, e.g. /DEV…​./DEMODS/N/SAMPLE and get all the signal components of this node back, with the Data Acquisition Module you specify the exact signal you are interested in capturing, e.g. /DEV…​./DEMODS/N/SAMPLE.r /DEV…​./DEMOD/0/SAMPLE.phase. In addition, by appending suffixes to the signal path, various operations can be applied to the source signal and cascaded to obtain the desired result. Some examples are given below (the /DEV…​/DEMODS/n/SAMPLE prefix has been omitted):

x

Demodulator sample x component.

r.avg

Average of demodulator sample abs(x + iy).

x.std

Standard deviation of demodulator sample x component.

xiy.fft.abs.std

Standard deviation of complex FFT of x + iy.

phase.fft.abs.avg

Average of real FFT of linear corrected phase.

freq.fft.abs.pwr

Power of real FFT of frequency.

r.fft.abs

Real FFT of abs(x + iy).

df.fft.abs

Real FFT of demodulator phase derivative (dθ/dt)/(2π).

xiy.fft.abs.pwr

Power of complex FFT of x + iy.

xiy.fft.abs.filter

Demodulator low-pass filter transfer function. Divide xiy.fft.abs by this to obtain a compensated FFT.

The specification for signal subscription is given below together with the possible options. Angle brackets <> indicate mandatory fields. Square brackets [] indicate optional fields.

<node_path><.source_signal>[.fft<.complex_selector>[.filter]][.pwr][.math_operation]

Signal Subscription Options

source signal

Node

Signal Name

Description (Path of the node containing the signal(s))

Comment

demod

x

Demodulator output in-phase component

y

Demodulator output quadrature component

r

Demodulator output amplitude

theta

Demodulator output phase

frequency

Oscillator frequency

auxin0

Auxilliary input channel 1

auxin1

Auxilliary input channel 2

xiy

Combined demodulator output in-phase and quadrature components

complex output (can only be used as FFT input))

df

Demodulator output phase derivative (can only be used for FFT(dθ/dt)/(2π)

impedance

realz

In-phase component of impedance sample

imagz

Quadrature component of impedance sample

absz

Amplitude of impedance sample

phasez

Phase of impedance sample

frequency

Oscillator frequency

param0

Measurement parameter that depends on circuit configuration

param1

Measurement parameter that depends on circuit configuration

drive

Amplitude of the AC signal applied to the device under test

bias

DC Voltage applied to the device under test

z

Combined impedance in-phase and quadrature components

complex (can only be used as FFT input)

other

Nodes not listed here

Nodes containing only one signal do not have a source_signal field.

FFT (optional)

Name (node_path)

Description (Path of the node containing the signal(s))

Comment

FFT

complex output

complex_selector (mandatory with FFT)

Name (node_path)

Description (Path of the node containing the signal(s))

Comment

real

Real component of FFT

imag

Imaginary component of FFT

abs

Absolute component of FFT

phase

Phase component of FFT

filter (optional)

Name (node_path)

Description (Path of the node containing the signal(s))

Comment

filter

Helper signal representing demodulator low-pass filter transfer function. It can only be applied to 'abs' FFT output of complex demodulator source signal, i.e. 'xiy.fft.abs.filter'. No additional operations are permitted. Can be used to compensate the FFT result for the demodulator low-pass filter.

pwr (optional)

Name (node_path)

Description (Path of the node containing the signal(s))

Comment

pwr

Power calculation

math_operation (optional)

Name (node_path)

Description (Path of the node containing the signal(s))

Comment

avg

Average of grid repetitions (parameter grid/repetitions)

std

Standard deviation

Migrating a SW Trigger program to the DAQ Module

We strongly recommend updating API programs that use the Software Trigger Module to use the Data Acquisition Module since the former may no longer be supported in future releases. This section provides a guide on which parameters to change in order to achieve this.

  • Replace the instantiation of the Software Trigger Module with the Data Acquisition Module ('dataAcquisitionModule').

  • Replace "trigger/0" with "dataAcquisitionModule" in parameter paths.

  • Replace "trigger/" with "dataAcquisitionModule"/ in all parameter paths.

  • Decide on which grid mode to use ("none" is no longer available).

  • If exact grid mode is selected, set grid/cols to an appropriate value, i.e. the number of samples to capture for each trigger. The duration then automatically becomes ("grid/cols") / sampling rate (of the signal with the highest sampling rate when more than one is subscribed).

  • If using a non-exact mode (either nearest or linear interpolation), set the duration to the desired value.

  • Subscribe individually to the signals to be captured using dot notation the same way as setting the trigger node, e.g. "/DEV…​./DEMODS/N/SAMPLE.r". If averaging is activated (grid/repetitions > 1), subscribe using the .avg suffix, e.g. "/DEV…​./DEMODS/N/SAMPLE.r.avg". * The module can now be started by setting the enable parameter to 1 instead of calling execute().

  • Remove any setting of the parameter dataAcquisitionModule/buffersize, this is automatically set by the module and is now read-only.

  • Access the data read from the module in the normal way but note that in the case of demodulator data, the signal is part of the path, e.g. "/DEV…​./DEMODS/N/SAMPLE.r". Note also that in the case of MATLAB, the dot is replaced by underscore, e.g. "/DEV…​./DEMODS/N/SAMPLE_r" to prevent conflicts with the syntax for accessing fields.

  • Note that the retrigger feature that was in the Software Trigger Module is not supported in the Data Acquisition Module.

An important point to remember is that the DAQ Module always returns a grid of samples given by the parameters dataAcquisitionModule/grid/cols and dataAcquisitionModule/grid/rows. In exact grid mode, the trigger duration is given by the subscribed signal with the highest sampling rate. Signals with lower sampling rates are up-sampled using linear interpolation to give the required number of grid samples.

Migrating a zoomFFT program to the DAQ Module

We strongly recommend updating API programs that use the old zoomFFT Module to use the Data Acquisition Module since the former may no longer be supported in future releases. This section provides a guide on which parameters to change in order to achieve this.

  • Replace the instantiation of the zoomFFT Module with Data Acquisition Module ('dataAcquisitionModule').

  • Replace "zoomFFT/" with "dataAcquisitionModule/" in all parameter paths.

  • Remove any references to zoomFFT/bit.

  • Set "dataAcquisitionModule/grid/cols" to a binary power to set the number of samples.

  • Set the "dataAcquisitionModule/type" to 0 for untriggered FFTs. Alternatively specify a different value to enable triggered FFTs.

  • Subscribe individually to the signals on which FFTs are to be performed and add the ".fft" operator followed by the complex operator (".real", ".imag", ".abs", ".phase"), e.g. "/DEV…​./DEMODS/N/SAMPLE.xiy.fft.abs". If averaging is activated (grid/repetitions > 1), subscribe using the .avg suffix, e.g. "/DEV…​./DEMODS/N/SAMPLE.xiy.fft.abs.avg". * If overlapped FFTs are enabled, remove any setting of parameter dataAcquisitionModule/overlap (this used to set the proportion of overlap between 0.0 and 1.0). Instead set the parameter dataAcquisitionModule/spectrum/overlapped to 1 and set the parameter dataAcquisitionModule/refreshrate value (Hz) to give the rate of overlap.

  • Set the parameter dataAcquisitionModule/preview to 1 to get lower resolution previews for longer FFTs.

  • Note that the Data Acquisition Module has many more features for FFT compared to the zoomFFT module, such as grid operation, averaging, waterfall, overwrite, triggered FFTs, which can also be activated. Note also that time-domain and FFT data can be returned from the module simultaneously (i.e. the data used for the FFT is the returned time-domain data) by subscribing the the appropriate signals. There is also a greater selection of signals on which an FFT can be performed, e.g. PID, AuxIn, Boxcar, AU, Pulse Counter, DIO.

Data Acquisition Module Parameters

The following tables provide a comprehensive list of the module’s parameters, see:

Table 2. Data Acquisition Module In/Out Parameters.
Setting/Path Type Unit Description

clearhistory

bool

-

Set to 1 to clear all the acquired data from the module. The module immediately resets clearhistory to 0 after it has been set to 1.

duration

double

s

The recording length of each trigger event. This is an input parameter when the sampling mode (grid/mode) is either nearest or linear interpolation. In exact sampling mode duration is an output parameter; it is calculated and set by the module based on the value of grid/cols and the highest rate of all the subscribed signal paths.

findlevel

bool

-

Set to 1 to automatically find appropriate values of the trigger level and hysteresis based on the current triggernode signal value. The module sets findlevel to 0 once the values have been found and set. See Determining the Trigger Level automatically for further explanation.

forcetrigger

bool

-

Set to 1 to force acquisition of a single trigger for all subscribed signal paths (when running in a triggered acquisition mode). The module immediately resets forcetrigger to 0 after it has been set to 1.

spectrum/autobandwidth

bool

-

Set to 1 to initiate automatic adjustment of the subscribed demodulator bandwidths to obtain optimal alias rejection for the selected frequency span which is equivalent to the sampling rate. The FFT mode has to be enabled (spectrum/enable) and the module has to be running for this function to take effect. The module resets spectrum/autobandwidth to 0 when the adjustment has finished.

Table 3. Data Acquisition Module Input Parameters.
Setting/Path Type Unit Description

awgcontrol

bool

-

Enable interaction with the AWG. If enabled, the row number is identified based on the digital row ID number set by the AWG. If disabled, every new trigger event is attributed to a new row sequentially.

bandwidth

double

Hz

Set to a value other than 0 in order to apply a low-pass filter with the specified bandwidth to the triggernode signal before applying the trigger criteria. For edge and pulse trigger use a bandwidth larger than the trigger signal’s sampling rate divided by 20 to keep the phase delay. For tracking filter use a bandwidth smaller than the trigger signal’s sampling rate divided by 100 to track slow signal components like drifts. The value of the filtered signal is returned by read() under the path /DEV…​./TRIGGER/LOWPASS.

bitmask

int

-

Specify a bit mask for the DIO trigger value. The trigger value is bits AND bit mask (bitwise).. Only used when the trigger type is digital. See Acquisition using Digital Triggering for more information.

bits

int

-

Specify the value of the DIO to trigger on. All specified bits have to be set in order to trigger. Only used when the trigger type is digital. See Acquisition using Digital Triggering for more information.

count

int

-

The number of trigger events to acquire in single-shot mode (when endless is set to 0).

delay

double

s

Time delay of trigger frame position (left side) relative to the trigger edge.

delay = 0:

Trigger edge at left border.

delay < 0:

Trigger edge inside trigger frame (pre-trigger).

delay > 0

Trigger edge before trigger frame (post-trigger).

device

string

-

The device serial to be used with the Data Acquisition Module, e.g. dev123 (compulsory parameter).

edge

int

-

The trigger edge to trigger upon when running an triggered acquisition mode:

1:

Rising edge

2:

Falling edge

3:

Both rising and falling

enable

bool

-

Set to 1 to enable the module and start data acquisition (is equivalent to calling execute()).

endless

bool

-

Set to 1 to enable endless triggering. Set to 0 and use count if the module should only acquire a certain number of trigger events.

eventcount/mode

int

-

Specifies the trigger mode when the triggernode is configured as a pulse counter sample value (/DEV…​./CNTS/0/SAMPLE.value):

0:

Trigger on every sample from the pulse counter, regardless of the counter value.

1:

Trigger on incrementing counter values.

fft/absolute

bool

-

Set to 1 to shift the frequencies in the FFT result so that the center frequency becomes the demodulation frequency rather than 0 Hz (when disabled).

fft/window

int

-

The FFT window function to use (default 1 = Hann). Depending on the application it makes a huge difference which of the provided window function is used. Please check the literature to find out the best trade off for your needs.

0:

Rectangular

1:

Hann

2:

Hamming

3:

Blackman Harris 4 term

16:

Exponential (ring-down)

17:

Cosine (ring-down)

18:

Cosine squared (ring-down)

flags

int

-

Record flags.

FILL = 0x0001

Fill data loss holes (this flag is always enabled).

ALIGN = 0x0002

Align data from multiple subscribed signals (this flag is always enabled).

THROW = 0x0004

Throw an exception if sample loss is detected.

DETECT = 0x0008

Just detect data loss holes (this flag is always enabled).

grid/cols

int

-

Specify the number of columns in the returned data grid (matrix). The data along the horizontal axis is resampled to the number of samples defined by grid/cols. The grid/mode parameter specifies how the data is sample onto the time, respectively frequency, grid.

grid/direction

int

-

The direction to organize data in the grid’s matrix:

0:

Forward. The data in each row is ordered chronologically, e.g., the first data point in each row corresponds to the first timestamp in the trigger data.

1:

Reverse. The data in each row is ordered reverse chronologically, e.g., the first data point in each row corresponds to the last timestamp in the trigger data.

2:

Bidirectional. The ordering of the data alternates between Forward and Backward ordering from row-to-row. The first row is Forward ordered.

grid/mode

int

-

Specify how the acquired data is sample onto the matrix’s horizontal axis (time or frequency). Each trigger event becomes a row in the matrix and each trigger event’s subscribed data is sampled onto the grid defined by the number of columns (grid/cols) and resampled as following:

1:

Use the closest data point (nearest neighbor interpolation).

2:

Use linear interpolation.

4:

Do not resample the data from the subscribed signal path(s) with the highest sampling rate; the horizontal axis data points are determined from the sampling rate and the value of grid/cols . Subscribed signals with a lower sampling rate are upsampled onto this grid using linear interpolation.

grid/overwrite

bool

-

If enabled, the module will return only one data chunk (grid) when it is running, which will then be overwritten by subsequent trigger events.

grid/repetitions

int

-

Number of statistical operations performed per grid. Only applied when the subscribed signal path is, for example, an average or a standard deviation.

grid/rowrepetition

int

-

Enable row-wise repetition. With row-wise repetition, each row is calculated from successive repetitions before starting the next row. With grid-wise repetition, the entire grid is calculated with each repetition.

grid/rows

int

-

Specify the number of rows in the grid’s matrix. Each row is the data recorded from one trigger event.

grid/waterfall

int

-

Set to 1 to enable waterfall mode: Move the data upwards upon each trigger event; the data from newest trigger event is placed in row 0.

historylength

bool

-

Sets an upper limit for the number of data captures stored in the module.

holdoff/count

int

-

The number of skipped trigger events until the next trigger event is acquired.

holdoff/time

double

s

The hold-off time before trigger acquisition is re-armed again. A hold-off time smaller than the duration will produce overlapped trigger frames.

hysteresis

double

many

If non-zero, hysteresis specifies an additional trigger criteria to level in the trigger condition. The trigger signal must first go higher, respectively lower, than the hysteresis value and then the trigger level for positive, respectively negative edge triggers. The hysteresis value is applied below the trigger level for positive trigger edge selection. It is applied above for negative trigger edge selection, and on both sides for triggering on both edges. A non-zero hysteresis value is helpful to trigger on the correct edge in the presence of noise to avoid false positives.

level

double

many

The trigger level value.

preview

bool

-

If set to 1, enable the data of an incomplete trigger to be read. Useful for long trigger durations (or FFTs) by providing access to the intermediate data.

refreshrate

double

Hz

Set the maximum refresh rate of updated data in the returned grid. The actual refresh rate depends on other factors such as the hold-off time and duration.

pulse/max

double

s

The maximum pulse width to trigger on when using a pulse trigger.

pulse/min

double

s

The minimum pulse width to trigger on when using a pulse trigger.

save/*

-

-

Core module save/ branch parameters, see Common Core Module save/ branch Input/Output Parameters. and Core Module save/ branch Input Parameters. for a description of the parameters.

spectrum/enable

bool

-

Enables the FFT mode of the data Acquisition module, in addition to time domain data acquisition. Note that when the FFT mode is enabled, the grid/cols parameter value is rounded down to the nearest binary power.

spectrum/frequencyspan

double

-

Sets the desired frequency span of the FFT.

spectrum/overlapped

bool

-

Enables overlapping FFTs. If disabled (0), FFTs are performed on distinct abutting data sets. If enabled, the data sets of successive FFTs overlap based on the defined refresh rate.

triggernode

string

-

The node path and signal that should be used for triggering, the node path and signal should be separated by a dot (.), e.g. /DEV…​/DEMODS/0/SAMPLE.X.

type

int

-

Specifies when the module should acquire data:

0:

Continuous acquisition.

1:

Level edge trigger.

2:

Digital trigger mode (on DIO source).

3:

Pulse trigger.

4:

Level tracking trigger, see also bandwidth.

6:

Hardware trigger (on trigger line source).

7:

Pulse tracking trigger, see also bandwidth.

8:

Event count trigger (on pulse counter source).

Table 4. Data Acquisition Module Output (read-only) Parameters.
Setting/Path Type Unit Description

buffercount

int

-

The number of buffers used internally by the module for data recording.

buffersize

double

s

The buffer size of the module’s internal data buffers.

triggered

bool

-

Indicates whether the module has recently triggered: 1=Yes, 0=No.