NI-DAQmx Python Documentation
Info |
Contains a Python API for interacting with NI-DAQmx. See GitHub for the latest source. |
Author |
National Instruments |
About
The nidaqmx package allows you to develop instrumentation, acquisition, and control applications with NI data acquisition (DAQ) devices in Python.
Documentation
You can find the latest API documentation for the nidaqmx package on Read the Docs.
Refer to the NI-DAQmx User Manual for an overview of NI-DAQmx, key concepts, and measurement fundamentals. The NI-DAQmx Help also installs locally with the full version of NI-DAQmx. Refer to this Knowledge Base (KB) for more information.
Implementation
The package is implemented in Python as an object-oriented wrapper around the NI-DAQmx C API using the ctypes Python library.
Supported NI-DAQmx Driver Versions
nidaqmx supports all versions of NI-DAQmx. Some functions in the nidaqmx package may be unavailable with earlier versions of the NI-DAQmx driver. Refer to the Installation section for details on how to install the latest version of the NI-DAQmx driver.
Operating System Support
nidaqmx supports Windows and Linux operating systems where the NI-DAQmx driver is supported. Refer to NI Hardware and Operating System Compatibility for which versions of the driver support your hardware on a given operating system.
Python Version Support
nidaqmx supports CPython 3.8+ and PyPy3.
Installation
You can use pip to download nidaqmx from PyPI and install it:
$ python -m pip install nidaqmx
Automatic Driver Installation
Running nidaqmx requires NI-DAQmx to be installed. The nidaqmx module ships with a command-line interface (CLI) to streamline the installation experience. You can install the NI-DAQmx driver using the following command:
$ python -m nidaqmx installdriver
On Windows, this command will download and launch an online streaming installer from ni.com. On Linux, this will download the repository registration package for your Linux distribution and install the driver using your package manager.
Manual Driver Installation
Visit ni.com/downloads to download the latest version of NI-DAQmx. None of the recommended Additional items are required for nidaqmx to function, and they can be removed to minimize installation size. It is recommended you continue to install the NI Certificates package to allow your Operating System to trust NI built binaries, improving your software and hardware installation experience.
Getting Started
In order to use the nidaqmx package, you must have at least one DAQ (Data Acquisition) device installed on your system. Both physical and simulated devices are supported. The examples below use an X Series DAQ device (e.g.: PXIe-6363, PCIe-6363, or USB-6363). You can use NI MAX or NI Hardware Configuration Utility to verify and configure your devices.
Finding and configuring device name in NI MAX:

Finding and configuring device name in NI Hardware Configuration Utility:

Python Examples
You can find a variety of examples in the GitHub repository in the nidaqmx-python examples directory. For best results, use the examples corresponding to the version of nidaqmx that you are using. For example, if you are using version 1.0.0, check out the examples directory in the 1.0.0 tag. Newer examples may demonstrate features that are not available in older versions of nidaqmx.
Key Concepts in NI-DAQmx
Tasks
A task is a collection of one or more virtual channels with timing, triggering, and other properties. Refer to NI-DAQmx Task for more information.
Example code to create a task:
>>> import nidaqmx
>>> with nidaqmx.Task() as task:
... pass
Virtual Channels
Virtual channels, or sometimes referred to generically as channels, are software entities that encapsulate the physical channel along with other channel specific information (e.g.: range, terminal configuration, and custom scaling) that formats the data. A physical channel is a terminal or pin at which you can measure or generate an analog or digital signal. A single physical channel can include more than one terminal, as in the case of a differential analog input channel or a digital port of eight lines. Every physical channel on a device has a unique name (for instance, cDAQ1Mod4/ai0, Dev2/ao5, and Dev6/ctr3) that follows the NI-DAQmx physical channel naming convention. Refer to NI-DAQmx Channel for more information.
Example code that adds an analog input channel to a task, configures the range, and reads data:
>>> import nidaqmx
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0", min_val=-10.0, max_val=10.0)
... task.read()
...
AIChannel(name=Dev1/ai0)
-0.14954069643238624
Example code that adds multiple analog input channels to a task, configures their range, and reads data:
>>> import nidaqmx
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0", min_val=-5.0, max_val=5.0)
... task.ai_channels.add_ai_voltage_chan("Dev1/ai1", min_val=-10.0, max_val=10.0)
... task.read()
...
AIChannel(name=Dev1/ai0)
AIChannel(name=Dev1/ai1)
[-0.07477034821619312, 0.8642841883602405]
Timing
You can use software timing or hardware timing to control when a signal is acquired or generated. With hardware timing, a digital signal, such as a clock on your device, controls the rate of acquisition or generation. With software timing, the rate at which the samples are acquired or generated is determined by the software and operating system instead of by the measurement device. A hardware clock can run much faster than a software loop. A hardware clock is also more accurate than a software loop. Refer to Timing, Hardware Versus Software for more information.
Example code to acquire finite amount of data using hardware timing:
>>> import nidaqmx
>>> from nidaqmx.constants import AcquisitionType, READ_ALL_AVAILABLE
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0")
... task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=10)
... data = task.read(READ_ALL_AVAILABLE)
... print("Acquired data: [" + ", ".join(f"{value:f}" for value in data) + "]")
...
AIChannel(name=Dev1/ai0)
Acquired data: [-0.149693, 2.869503, 4.520249, 4.704886, 2.875912, -0.006104, -2.895596, -4.493698, -4.515671, -2.776574]
TDMS Logging
Technical Data Management Streaming (TDMS) is a binary file format that allows for high-speed data logging. When you enable TDMS data logging, NI-DAQmx can stream data directly from the device buffer to the hard disk. Refer to TDMS Logging for more information.
Example code to acquire finite amount of data and log it to a TDMS file:
>>> import nidaqmx
>>> from nidaqmx.constants import AcquisitionType, LoggingMode, LoggingOperation, READ_ALL_AVAILABLE
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0")
... task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=10)
... task.in_stream.configure_logging("TestData.tdms", LoggingMode.LOG_AND_READ, operation=LoggingOperation.CREATE_OR_REPLACE)
... data = task.read(READ_ALL_AVAILABLE)
... print("Acquired data: [" + ", ".join(f"{value:f}" for value in data) + "]")
...
AIChannel(name=Dev1/ai0)
Acquired data: [-0.149693, 2.869503, 4.520249, 4.704886, 2.875912, -0.006104, -2.895596, -4.493698, -4.515671, -2.776574]
To read the TDMS file, you can use the npTDMS third-party module. Refer to npTDMS for detailed usage.
Example code to read the TDMS file created from example above and display the data:
>>> from nptdms import TdmsFile
>>> with TdmsFile.read("TestData.tdms") as tdms_file:
... for group in tdms_file.groups():
... for channel in group.channels():
... data = channel[:]
... print("data: [" + ", ".join(f"{value:f}" for value in data) + "]")
...
data: [-0.149693, 2.869503, 4.520249, 4.704886, 2.875912, -0.006104, -2.895596, -4.493698, -4.515671, -2.776574]
Plot Data
To visualize the acquired data as a waveform, you can use the matplotlib.pyplot third-party module. Refer to Pyplot tutorial for detailed usage.
Example code to plot waveform for acquired data using matplotlib.pyplot module:
>>> import nidaqmx
>>> from nidaqmx.constants import AcquisitionType, READ_ALL_AVAILABLE
>>> import matplotlib.pyplot as plt
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0")
... task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=50)
... data = task.read(READ_ALL_AVAILABLE)
... plt.plot(data)
... plt.ylabel('Amplitude')
... plt.title('Waveform')
... plt.show()
...
AIChannel(name=Dev1/ai0)
[<matplotlib.lines.Line2D object at 0x00000141D7043970>]
Text(0, 0.5, 'Amplitude')
Text(0.5, 1.0, 'waveform')

For more information on how to use nidaqmx package, refer to Usage section below.
Usage
The following is a basic example of using an nidaqmx.task.Task object. This example illustrates how the single, dynamic nidaqmx.task.Task.read method returns the appropriate data type.
>>> import nidaqmx
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0")
... task.read()
...
-0.07476920729381246
>>> with nidaqmx.Task() as task:
... task.ai_channels.add_ai_voltage_chan("Dev1/ai0")
... task.read(number_of_samples_per_channel=2)
...
[0.26001373311970705, 0.37796597238117036]
>>> from nidaqmx.constants import LineGrouping
>>> with nidaqmx.Task() as task:
... task.di_channels.add_di_chan(
... "cDAQ2Mod4/port0/line0:1", line_grouping=LineGrouping.CHAN_PER_LINE)
... task.read(number_of_samples_per_channel=2)
...
[[False, True], [True, True]]
A single, dynamic nidaqmx.task.Task.write method also exists.
>>> import nidaqmx
>>> from nidaqmx.types import CtrTime
>>> with nidaqmx.Task() as task:
... task.co_channels.add_co_pulse_chan_time("Dev1/ctr0")
... sample = CtrTime(high_time=0.001, low_time=0.001)
... task.write(sample)
...
1
>>> with nidaqmx.Task() as task:
... task.ao_channels.add_ao_voltage_chan("Dev1/ao0")
... task.write([1.1, 2.2, 3.3, 4.4, 5.5], auto_start=True)
...
5
Consider using the nidaqmx.stream_readers and nidaqmx.stream_writers classes to increase the performance of your application, which accept pre-allocated NumPy arrays.
Following is an example of using an nidaqmx.system.System object.
>>> import nidaqmx.system
>>> system = nidaqmx.system.System.local()
>>> system.driver_version
DriverVersion(major_version=16L, minor_version=0L, update_version=0L)
>>> for device in system.devices:
... print(device)
...
Device(name=Dev1)
Device(name=Dev2)
Device(name=cDAQ1)
>>> import collections
>>> isinstance(system.devices, collections.Sequence)
True
>>> device = system.devices['Dev1']
>>> device == nidaqmx.system.Device('Dev1')
True
>>> isinstance(device.ai_physical_chans, collections.Sequence)
True
>>> phys_chan = device.ai_physical_chans['ai0']
>>> phys_chan
PhysicalChannel(name=Dev1/ai0)
>>> phys_chan == nidaqmx.system.PhysicalChannel('Dev1/ai0')
True
>>> phys_chan.ai_term_cfgs
[<TerminalConfiguration.RSE: 10083>, <TerminalConfiguration.NRSE: 10078>, <TerminalConfiguration.DIFFERENTIAL: 10106>]
>>> from enum import Enum
>>> isinstance(phys_chan.ai_term_cfgs[0], Enum)
True
Bugs / Feature Requests
To report a bug or submit a feature request, please use the GitHub issues page.
Information to Include When Asking for Help
Please include all of the following information when opening an issue:
Detailed steps on how to reproduce the problem and full traceback, if applicable.
The python version used:
$ python -c "import sys; print(sys.version)"
The versions of the nidaqmx and numpy packages used:
$ python -m pip list
The version of the NI-DAQmx driver used. Follow this KB article to determine the version of NI-DAQmx you have installed.
The operating system and version, for example Windows 7, CentOS 7.2, …
License
nidaqmx is licensed under an MIT-style license (see LICENSE). Other incorporated projects may be licensed under different licenses. All licenses allow for non-commercial and commercial use.
gRPC Features For driver APIs that support it, passing a GrpcSessionOptions instance as a parameter is subject to the NI General Purpose EULA (see NILICENSE).
API Reference:
- nidaqmx.constants
ACExcitWireMode
ADCTimingMode
AOIdleOutputBehavior
AOPowerUpOutputBehavior
AccelChargeSensitivityUnits
AccelSensitivityUnits
AccelUnits
AcquisitionType
ActiveLevel
ActiveOrInactiveEdgeSelection
AngleUnits
AngularVelocityUnits
AutoZeroType
BridgeConfiguration
BridgeElectricalUnits
BridgePhysicalUnits
BridgePhysicalUnits.BAR
BridgePhysicalUnits.FOOT_POUNDS
BridgePhysicalUnits.INCH_OUNCES
BridgePhysicalUnits.INCH_POUNDS
BridgePhysicalUnits.KILOGRAM_FORCE
BridgePhysicalUnits.NEWTONS
BridgePhysicalUnits.NEWTON_METERS
BridgePhysicalUnits.PASCALS
BridgePhysicalUnits.POUNDS
BridgePhysicalUnits.POUNDS_PER_SQ_INCH
BridgeShuntCalSource
BridgeUnits
BusType
CJCSource
ChannelType
ChargeUnits
ConstrainedGenMode
CountDirection
CounterFrequencyMethod
Coupling
CurrentShuntResistorLocation
CurrentUnits
DataJustification
DataTransferActiveTransferMode
DeassertCondition
DigitalDriveType
DigitalPatternCondition
DigitalWidthUnits
EddyCurrentProxProbeSensitivityUnits
Edge
EncoderType
EncoderZIndexPhase
EveryNSamplesEventType
ExcitationDCorAC
ExcitationIdleOutputBehavior
ExcitationSource
ExcitationVoltageOrCurrent
ExportAction
FillMode
FilterResponse
FilterType
ForceIEPESensorSensitivityUnits
ForceUnits
FrequencyUnits
FuncGenType
GpsSignalType
HandshakeStartCondition
Impedance1
InputDataTransferCondition
InvertPolarity
LVDTSensitivityUnits
LengthUnits
Level
LineGrouping
LoggingMode
LoggingOperation
LogicFamily
LogicLvlBehavior
MIOAIConvertTimebaseSource
ModulationType
OutputDataTransferCondition
OverflowBehavior
OverwriteMode
Polarity
PowerIdleOutputBehavior
PowerOutputState
PowerUpChannelType
PowerUpStates
PressureUnits
ProductCategory
ProductCategory.AO_SERIES
ProductCategory.B_SERIES_DAQ
ProductCategory.COMPACT_DAQ_CHASSIS
ProductCategory.COMPACT_RIO_CHASSIS
ProductCategory.C_SERIES_MODULE
ProductCategory.DIGITAL_IO
ProductCategory.DSA
ProductCategory.E_SERIES_DAQ
ProductCategory.FIELD_DAQ
ProductCategory.MIODAQ
ProductCategory.M_SERIES_DAQ
ProductCategory.NETWORK_DAQ
ProductCategory.NIELVIS
ProductCategory.SCC_CONNECTOR_BLOCK
ProductCategory.SCC_MODULE
ProductCategory.SCXI_MODULE
ProductCategory.SC_EXPRESS
ProductCategory.SC_SERIES_DAQ
ProductCategory.SWITCHES
ProductCategory.S_SERIES_DAQ
ProductCategory.TEST_SCALE_CHASSIS
ProductCategory.TEST_SCALE_MODULE
ProductCategory.TIO_SERIES
ProductCategory.UNKNOWN
ProductCategory.USBDAQ
ProductCategory.X_SERIES_DAQ
RTDType
RVDTSensitivityUnits
RawDataCompressionType
ReadRelativeTo
RegenerationMode
ResistanceConfiguration
ResistanceUnits
ResistorState
ResolutionType
SampClkOverrunBehavior
SampleInputDataWhen
SampleTimingType
ScaleType
Sense
SensorPowerCfg
SensorPowerType
ShuntCalSelect
ShuntCalSource
ShuntElementLocation
Signal
Signal.ADVANCE_TRIGGER
Signal.ADV_CMPLT_EVENT
Signal.AI_CONVERT_CLOCK
Signal.AI_HOLD_CMPLT_EVENT
Signal.CHANGE_DETECTION_EVENT
Signal.COUNTER_OUTPUT_EVENT
Signal.REFERENCE_TRIGGER
Signal.SAMPLE_CLOCK
Signal.SAMPLE_COMPLETE
Signal.START_TRIGGER
Signal.TEN_MHZ_REF_CLOCK
Signal.TWENTY_MHZ_TIMEBASE_CLOCK
Signal.WATCHDOG_TIMER_EXPIRED_EVENT
SignalModifiers
Slope
SoundPressureUnits
SourceSelection
StrainGageBridgeType
StrainGageRosetteMeasurementType
StrainGageRosetteMeasurementType.CARTESIAN_SHEAR_STRAIN_XY
StrainGageRosetteMeasurementType.CARTESIAN_STRAIN_X
StrainGageRosetteMeasurementType.CARTESIAN_STRAIN_Y
StrainGageRosetteMeasurementType.MAX_SHEAR_STRAIN
StrainGageRosetteMeasurementType.MAX_SHEAR_STRAIN_ANGLE
StrainGageRosetteMeasurementType.PRINCIPAL_STRAIN_1
StrainGageRosetteMeasurementType.PRINCIPAL_STRAIN_2
StrainGageRosetteMeasurementType.PRINCIPAL_STRAIN_ANGLE
StrainGageRosetteType
StrainUnits
SyncPulseType
SyncType
SyncUnlockBehavior
TEDSUnits
TaskMode
TemperatureUnits
TerminalConfiguration
ThermocoupleType
TimeUnits
Timescale
TimestampEvent
TorqueUnits
TriggerType
TriggerUsage
UnderflowBehavior
UnitsPreScaled
UnitsPreScaled.AMPS
UnitsPreScaled.BAR
UnitsPreScaled.COULOMBS
UnitsPreScaled.DEGREES
UnitsPreScaled.DEGREES_PER_SECOND
UnitsPreScaled.DEG_C
UnitsPreScaled.DEG_F
UnitsPreScaled.DEG_R
UnitsPreScaled.FOOT_POUNDS
UnitsPreScaled.FROM_TEDS
UnitsPreScaled.G
UnitsPreScaled.HERTZ
UnitsPreScaled.INCHES
UnitsPreScaled.INCHES_PER_SECOND
UnitsPreScaled.INCHES_PER_SECOND_SQUARED
UnitsPreScaled.INCH_OUNCES
UnitsPreScaled.INCH_POUNDS
UnitsPreScaled.K
UnitsPreScaled.KILOGRAM_FORCE
UnitsPreScaled.METERS
UnitsPreScaled.METERS_PER_SECOND
UnitsPreScaled.METERS_PER_SECOND_SQUARED
UnitsPreScaled.MILLIVOLTS_PER_VOLT
UnitsPreScaled.NEWTONS
UnitsPreScaled.NEWTON_METERS
UnitsPreScaled.OHMS
UnitsPreScaled.PA
UnitsPreScaled.PICO_COULOMBS
UnitsPreScaled.POUNDS
UnitsPreScaled.POUNDS_PER_SQ_INCH
UnitsPreScaled.RADIANS
UnitsPreScaled.RADIANS_PER_SECOND
UnitsPreScaled.RPM
UnitsPreScaled.SECONDS
UnitsPreScaled.STRAIN
UnitsPreScaled.TICKS
UnitsPreScaled.VOLTS
UnitsPreScaled.VOLTS_PER_VOLT
UsageTypeAI
UsageTypeAI.ACCELERATION_4_WIRE_DC_VOLTAGE
UsageTypeAI.ACCELERATION_ACCELEROMETER_CURRENT_INPUT
UsageTypeAI.ACCELERATION_CHARGE
UsageTypeAI.BRIDGE
UsageTypeAI.CHARGE
UsageTypeAI.CURRENT
UsageTypeAI.CURRENT_ACRMS
UsageTypeAI.FORCE_BRIDGE
UsageTypeAI.FORCE_IEPE_SENSOR
UsageTypeAI.FREQUENCY_VOLTAGE
UsageTypeAI.POSITION_ANGULAR_RVDT
UsageTypeAI.POSITION_EDDY_CURRENT_PROX_PROBE
UsageTypeAI.POSITION_LINEAR_LVDT
UsageTypeAI.POWER
UsageTypeAI.PRESSURE_BRIDGE
UsageTypeAI.RESISTANCE
UsageTypeAI.ROSETTE_STRAIN_GAGE
UsageTypeAI.SOUND_PRESSURE_MICROPHONE
UsageTypeAI.STRAIN_STRAIN_GAGE
UsageTypeAI.TEDS
UsageTypeAI.TEMPERATURE_BUILT_IN_SENSOR
UsageTypeAI.TEMPERATURE_RTD
UsageTypeAI.TEMPERATURE_THERMISTOR
UsageTypeAI.TEMPERATURE_THERMOCOUPLE
UsageTypeAI.TORQUE_BRIDGE
UsageTypeAI.VELOCITY_IEPE_SENSOR
UsageTypeAI.VOLTAGE
UsageTypeAI.VOLTAGE_ACRMS
UsageTypeAI.VOLTAGE_CUSTOM_WITH_EXCITATION
UsageTypeAO
UsageTypeCI
UsageTypeCI.COUNT_EDGES
UsageTypeCI.DUTY_CYCLE
UsageTypeCI.FREQUENCY
UsageTypeCI.PERIOD
UsageTypeCI.POSITION_ANGULAR_ENCODER
UsageTypeCI.POSITION_LINEAR_ENCODER
UsageTypeCI.PULSE_FREQ
UsageTypeCI.PULSE_TICKS
UsageTypeCI.PULSE_TIME
UsageTypeCI.PULSE_WIDTH_DIGITAL
UsageTypeCI.PULSE_WIDTH_DIGITAL_SEMI_PERIOD
UsageTypeCI.PULSE_WIDTH_DIGITAL_TWO_EDGE_SEPARATION
UsageTypeCI.TIME_GPS
UsageTypeCI.VELOCITY_ANGULAR_ENCODER
UsageTypeCI.VELOCITY_LINEAR_ENCODER
UsageTypeCO
VelocityIEPESensorSensitivityUnits
VelocityUnits
VoltageUnits
WDTTaskAction
WaitMode
WatchdogAOExpirState
WatchdogCOExpirState
WindowTriggerCondition1
WindowTriggerCondition2
WriteBasicTEDSOptions
WriteRelativeTo
- nidaqmx.errors
- nidaqmx.grpc_session_options
- nidaqmx.scale
Scale
Scale.__eq__()
Scale.__hash__()
Scale.__init__()
Scale.__ne__()
Scale.__repr__()
Scale.calculate_reverse_poly_coeff()
Scale.create_lin_scale()
Scale.create_map_scale()
Scale.create_polynomial_scale()
Scale.create_table_scale()
Scale.description
Scale.lin_slope
Scale.lin_y_intercept
Scale.map_pre_scaled_max
Scale.map_pre_scaled_min
Scale.map_scaled_max
Scale.map_scaled_min
Scale.name
Scale.poly_forward_coeff
Scale.poly_reverse_coeff
Scale.pre_scaled_units
Scale.save()
Scale.scale_type
Scale.scaled_units
Scale.table_pre_scaled_vals
Scale.table_scaled_vals
- nidaqmx.stream_readers
AnalogMultiChannelReader
AnalogSingleChannelReader
AnalogUnscaledReader
CounterReader
CounterReader.read_many_sample_double()
CounterReader.read_many_sample_pulse_frequency()
CounterReader.read_many_sample_pulse_ticks()
CounterReader.read_many_sample_pulse_time()
CounterReader.read_many_sample_uint32()
CounterReader.read_one_sample_double()
CounterReader.read_one_sample_pulse_frequency()
CounterReader.read_one_sample_pulse_ticks()
CounterReader.read_one_sample_pulse_time()
CounterReader.read_one_sample_uint32()
CounterReader.verify_array_shape
DigitalMultiChannelReader
DigitalMultiChannelReader.read_many_sample_port_byte()
DigitalMultiChannelReader.read_many_sample_port_uint16()
DigitalMultiChannelReader.read_many_sample_port_uint32()
DigitalMultiChannelReader.read_one_sample_multi_line()
DigitalMultiChannelReader.read_one_sample_one_line()
DigitalMultiChannelReader.read_one_sample_port_byte()
DigitalMultiChannelReader.read_one_sample_port_uint16()
DigitalMultiChannelReader.read_one_sample_port_uint32()
DigitalMultiChannelReader.verify_array_shape
DigitalSingleChannelReader
DigitalSingleChannelReader.read_many_sample_port_byte()
DigitalSingleChannelReader.read_many_sample_port_uint16()
DigitalSingleChannelReader.read_many_sample_port_uint32()
DigitalSingleChannelReader.read_one_sample_multi_line()
DigitalSingleChannelReader.read_one_sample_one_line()
DigitalSingleChannelReader.read_one_sample_port_byte()
DigitalSingleChannelReader.read_one_sample_port_uint16()
DigitalSingleChannelReader.read_one_sample_port_uint32()
DigitalSingleChannelReader.verify_array_shape
PowerBinaryReader
PowerMultiChannelReader
PowerSingleChannelReader
- nidaqmx.stream_writers
AnalogMultiChannelWriter
AnalogSingleChannelWriter
AnalogUnscaledWriter
CounterWriter
CounterWriter.auto_start
CounterWriter.verify_array_shape
CounterWriter.write_many_sample_pulse_frequency()
CounterWriter.write_many_sample_pulse_ticks()
CounterWriter.write_many_sample_pulse_time()
CounterWriter.write_one_sample_pulse_frequency()
CounterWriter.write_one_sample_pulse_ticks()
CounterWriter.write_one_sample_pulse_time()
DigitalMultiChannelWriter
DigitalMultiChannelWriter.auto_start
DigitalMultiChannelWriter.verify_array_shape
DigitalMultiChannelWriter.write_many_sample_port_byte()
DigitalMultiChannelWriter.write_many_sample_port_uint16()
DigitalMultiChannelWriter.write_many_sample_port_uint32()
DigitalMultiChannelWriter.write_one_sample_multi_line()
DigitalMultiChannelWriter.write_one_sample_one_line()
DigitalMultiChannelWriter.write_one_sample_port_byte()
DigitalMultiChannelWriter.write_one_sample_port_uint16()
DigitalMultiChannelWriter.write_one_sample_port_uint32()
DigitalSingleChannelWriter
DigitalSingleChannelWriter.auto_start
DigitalSingleChannelWriter.verify_array_shape
DigitalSingleChannelWriter.write_many_sample_port_byte()
DigitalSingleChannelWriter.write_many_sample_port_uint16()
DigitalSingleChannelWriter.write_many_sample_port_uint32()
DigitalSingleChannelWriter.write_one_sample_multi_line()
DigitalSingleChannelWriter.write_one_sample_one_line()
DigitalSingleChannelWriter.write_one_sample_port_byte()
DigitalSingleChannelWriter.write_one_sample_port_uint16()
DigitalSingleChannelWriter.write_one_sample_port_uint32()
- nidaqmx.system
System
System.DriverVersion
System.add_cdaq_sync_connection()
System.are_configured_cdaq_sync_ports_disconnected()
System.auto_configure_cdaq_sync_connections()
System.connect_terms()
System.devices
System.disconnect_terms()
System.driver_version
System.get_analog_power_up_states()
System.get_analog_power_up_states_with_output_type()
System.get_digital_logic_family_power_up_state()
System.get_digital_power_up_states()
System.get_digital_pull_up_pull_down_states()
System.global_channels
System.local()
System.remote()
System.remove_cdaq_sync_connection()
System.scales
System.set_analog_power_up_states()
System.set_analog_power_up_states_with_output_type()
System.set_digital_logic_family_power_up_state()
System.set_digital_power_up_states()
System.set_digital_pull_up_pull_down_states()
System.tasks
System.tristate_output_term()
- nidaqmx.system.collections
- nidaqmx.system.device
- nidaqmx.system.physical_channel
- nidaqmx.system.storage
- nidaqmx.system.watchdog
- nidaqmx.task
ExportSignals
ExportSignals.__init__()
ExportSignals.adv_cmplt_event_delay
ExportSignals.adv_cmplt_event_output_term
ExportSignals.adv_cmplt_event_pulse_polarity
ExportSignals.adv_cmplt_event_pulse_width
ExportSignals.adv_trig_output_term
ExportSignals.adv_trig_pulse_polarity
ExportSignals.adv_trig_pulse_width
ExportSignals.adv_trig_pulse_width_units
ExportSignals.ai_conv_clk_output_term
ExportSignals.ai_conv_clk_pulse_polarity
ExportSignals.ai_hold_cmplt_event_output_term
ExportSignals.ai_hold_cmplt_event_pulse_polarity
ExportSignals.change_detect_event_output_term
ExportSignals.change_detect_event_pulse_polarity
ExportSignals.ctr_out_event_output_behavior
ExportSignals.ctr_out_event_output_term
ExportSignals.ctr_out_event_pulse_polarity
ExportSignals.ctr_out_event_toggle_idle_state
ExportSignals.data_active_event_lvl_active_lvl
ExportSignals.data_active_event_output_term
ExportSignals.divided_samp_clk_timebase_output_term
ExportSignals.export_signal()
ExportSignals.exported_10_mhz_ref_clk_output_term
ExportSignals.exported_20_mhz_timebase_output_term
ExportSignals.hshk_event_delay
ExportSignals.hshk_event_interlocked_assert_on_start
ExportSignals.hshk_event_interlocked_asserted_lvl
ExportSignals.hshk_event_interlocked_deassert_delay
ExportSignals.hshk_event_output_behavior
ExportSignals.hshk_event_output_term
ExportSignals.hshk_event_pulse_polarity
ExportSignals.hshk_event_pulse_width
ExportSignals.pause_trig_lvl_active_lvl
ExportSignals.pause_trig_output_term
ExportSignals.rdy_for_start_event_lvl_active_lvl
ExportSignals.rdy_for_start_event_output_term
ExportSignals.rdy_for_xfer_event_deassert_cond
ExportSignals.rdy_for_xfer_event_deassert_cond_custom_threshold
ExportSignals.rdy_for_xfer_event_lvl_active_lvl
ExportSignals.rdy_for_xfer_event_output_term
ExportSignals.ref_trig_output_term
ExportSignals.ref_trig_pulse_polarity
ExportSignals.samp_clk_delay_offset
ExportSignals.samp_clk_output_behavior
ExportSignals.samp_clk_output_term
ExportSignals.samp_clk_pulse_polarity
ExportSignals.samp_clk_timebase_output_term
ExportSignals.start_trig_output_term
ExportSignals.start_trig_pulse_polarity
ExportSignals.sync_pulse_event_output_term
ExportSignals.watchdog_expired_event_output_term
InStream
InStream.__eq__()
InStream.__hash__()
InStream.__init__()
InStream.__ne__()
InStream.__repr__()
InStream.accessory_insertion_or_removal_detected
InStream.auto_start
InStream.aux_power_error_chans
InStream.aux_power_error_chans_exist
InStream.avail_samp_per_chan
InStream.change_detect_overflowed
InStream.channels_to_read
InStream.common_mode_range_error_chans
InStream.common_mode_range_error_chans_exist
InStream.configure_logging()
InStream.curr_read_pos
InStream.devs_with_inserted_or_removed_accessories
InStream.di_num_booleans_per_chan
InStream.excit_fault_chans
InStream.excit_fault_chans_exist
InStream.input_buf_size
InStream.input_limits_fault_chans
InStream.input_limits_fault_chans_exist
InStream.input_onbrd_buf_size
InStream.logging_file_path
InStream.logging_file_preallocation_size
InStream.logging_file_write_size
InStream.logging_mode
InStream.logging_pause
InStream.logging_samps_per_file
InStream.logging_tdms_group_name
InStream.logging_tdms_operation
InStream.num_chans
InStream.offset
InStream.open_chans
InStream.open_chans_details
InStream.open_chans_exist
InStream.open_current_loop_chans
InStream.open_current_loop_chans_exist
InStream.open_thrmcpl_chans
InStream.open_thrmcpl_chans_exist
InStream.over_write
InStream.overcurrent_chans
InStream.overcurrent_chans_exist
InStream.overloaded_chans
InStream.overloaded_chans_exist
InStream.overtemperature_chans
InStream.overtemperature_chans_exist
InStream.overwrite
InStream.pll_unlocked_chans
InStream.pll_unlocked_chans_exist
InStream.power_supply_fault_chans
InStream.power_supply_fault_chans_exist
InStream.raw_data_width
InStream.read()
InStream.read_all()
InStream.read_all_avail_samp
InStream.read_into()
InStream.readall()
InStream.readinto()
InStream.relative_to
InStream.remote_sense_error_chans
InStream.remote_sense_error_chans_exist
InStream.reverse_voltage_error_chans
InStream.reverse_voltage_error_chans_exist
InStream.sleep_time
InStream.start_new_file()
InStream.sync_unlocked_chans
InStream.sync_unlocked_chans_exist
InStream.timeout
InStream.total_samp_per_chan_acquired
InStream.wait_mode
OutStream
OutStream.__eq__()
OutStream.__hash__()
OutStream.__init__()
OutStream.__ne__()
OutStream.__repr__()
OutStream.accessory_insertion_or_removal_detected
OutStream.auto_start
OutStream.curr_write_pos
OutStream.devs_with_inserted_or_removed_accessories
OutStream.do_num_booleans_per_chan
OutStream.external_overvoltage_chans
OutStream.external_overvoltage_chans_exist
OutStream.num_chans
OutStream.offset
OutStream.open_current_loop_chans
OutStream.open_current_loop_chans_exist
OutStream.output_buf_size
OutStream.output_onbrd_buf_size
OutStream.overcurrent_chans
OutStream.overcurrent_chans_exist
OutStream.overloaded_chans
OutStream.overloaded_chans_exist
OutStream.overtemperature_chans
OutStream.overtemperature_chans_exist
OutStream.power_supply_fault_chans
OutStream.power_supply_fault_chans_exist
OutStream.raw_data_width
OutStream.regen_mode
OutStream.relative_to
OutStream.sleep_time
OutStream.space_avail
OutStream.sync_unlocked_chans
OutStream.sync_unlocked_chans_exist
OutStream.timeout
OutStream.total_samp_per_chan_generated
OutStream.wait_mode
OutStream.write()
Task
Task.__eq__()
Task.__hash__()
Task.__init__()
Task.__ne__()
Task.__repr__()
Task.add_global_channels()
Task.ai_channels
Task.ao_channels
Task.channel_names
Task.channels
Task.ci_channels
Task.close()
Task.co_channels
Task.control()
Task.devices
Task.di_channels
Task.do_channels
Task.export_signals
Task.in_stream
Task.is_task_done()
Task.name
Task.number_of_channels
Task.number_of_devices
Task.out_stream
Task.perform_bridge_offset_nulling_cal()
Task.perform_bridge_shunt_cal()
Task.perform_strain_shunt_cal()
Task.perform_thrmcpl_lead_offset_nulling_cal()
Task.read()
Task.register_done_event()
Task.register_every_n_samples_acquired_into_buffer_event()
Task.register_every_n_samples_transferred_from_buffer_event()
Task.register_signal_event()
Task.save()
Task.start()
Task.stop()
Task.timing
Task.triggers
Task.wait_for_valid_timestamp()
Task.wait_until_done()
Task.write()
Timing
Timing.__init__()
Timing.ai_conv_active_edge
Timing.ai_conv_dig_fltr_enable
Timing.ai_conv_dig_fltr_min_pulse_width
Timing.ai_conv_dig_fltr_timebase_rate
Timing.ai_conv_dig_fltr_timebase_src
Timing.ai_conv_dig_sync_enable
Timing.ai_conv_max_rate
Timing.ai_conv_rate
Timing.ai_conv_src
Timing.ai_conv_timebase_div
Timing.ai_conv_timebase_src
Timing.cfg_burst_handshaking_timing_export_clock()
Timing.cfg_burst_handshaking_timing_import_clock()
Timing.cfg_change_detection_timing()
Timing.cfg_handshaking_timing()
Timing.cfg_implicit_timing()
Timing.cfg_pipelined_samp_clk_timing()
Timing.cfg_samp_clk_timing()
Timing.change_detect_di_falling_edge_physical_chans
Timing.change_detect_di_rising_edge_physical_chans
Timing.change_detect_di_tristate
Timing.delay_from_samp_clk_delay
Timing.delay_from_samp_clk_delay_units
Timing.first_samp_clk_offset
Timing.first_samp_clk_timescale
Timing.first_samp_clk_when
Timing.first_samp_timestamp_enable
Timing.first_samp_timestamp_timescale
Timing.first_samp_timestamp_val
Timing.hshk_delay_after_xfer
Timing.hshk_sample_input_data_when
Timing.hshk_start_cond
Timing.implicit_underflow_behavior
Timing.master_timebase_rate
Timing.master_timebase_src
Timing.ref_clk_rate
Timing.ref_clk_src
Timing.samp_clk_active_edge
Timing.samp_clk_dig_fltr_enable
Timing.samp_clk_dig_fltr_min_pulse_width
Timing.samp_clk_dig_fltr_timebase_rate
Timing.samp_clk_dig_fltr_timebase_src
Timing.samp_clk_dig_sync_enable
Timing.samp_clk_max_rate
Timing.samp_clk_overrun_behavior
Timing.samp_clk_rate
Timing.samp_clk_src
Timing.samp_clk_term
Timing.samp_clk_timebase_active_edge
Timing.samp_clk_timebase_div
Timing.samp_clk_timebase_master_timebase_div
Timing.samp_clk_timebase_rate
Timing.samp_clk_timebase_src
Timing.samp_clk_timebase_term
Timing.samp_clk_underflow_behavior
Timing.samp_clk_write_wfm_use_initial_wfm_dt
Timing.samp_quant_samp_mode
Timing.samp_quant_samp_per_chan
Timing.samp_timing_engine
Timing.samp_timing_type
Timing.simultaneous_ao_enable
Timing.sync_clk_interval
Timing.sync_pulse_min_delay_to_start
Timing.sync_pulse_reset_delay
Timing.sync_pulse_reset_time
Timing.sync_pulse_src
Timing.sync_pulse_sync_time
Timing.sync_pulse_term
Timing.sync_pulse_time_timescale
Timing.sync_pulse_time_when
Timing.sync_pulse_type
- nidaqmx.task.channels
- nidaqmx.task.collections
- nidaqmx.task.triggering
- nidaqmx.types
- nidaqmx.utils