1- =========== =================================================================================================================================
2- Info Contains a Python API for interacting with NI-DAQmx. See `GitHub <https://github.com/ni/nidaqmx-python/ >`_ for the latest source.
3- Author National Instruments
4- =========== =================================================================================================================================
1+ +------------+-----------------------------------------------------------+
2+ | **Info ** | Contains a Python API for interacting with NI-DAQmx. See |
3+ | | `GitHub <https://github.com/ni/nidaqmx-python/ >`_ for the |
4+ | | latest source. |
5+ +------------+-----------------------------------------------------------+
6+ | **Author ** | National Instruments |
7+ +------------+-----------------------------------------------------------+
8+
9+ .. contents :: Table of Contents
10+ :depth: 1
11+ :backlinks: none
512
613About
714=====
815
9- The **nidaqmx ** package contains an API (Application Programming Interface)
10- for interacting with the NI-DAQmx driver. The package is implemented in Python.
11- The package is implemented as a complex,
12- highly object-oriented wrapper around the NI-DAQmx C API using the
13- `ctypes <https://docs.python.org/2/library/ctypes.html >`_ Python library.
16+ The **nidaqmx ** package allows you to develop instrumentation, acquisition, and
17+ control applications with NI data acquisition (DAQ) devices in Python.
1418
15- **nidaqmx ** supports all versions of the NI-DAQmx driver that ships with the C
16- API. The C API is included in any version of the driver that supports it. The
17- **nidaqmx ** package does not require installation of the C header files.
19+ Documentation
20+ -------------
21+
22+ You can find the latest API documentation for the **nidaqmx ** package on
23+ `Read the Docs <http://nidaqmx-python.readthedocs.io/en/stable >`_.
24+
25+ Refer to the
26+ `NI-DAQmx User Manual <https://www.ni.com/docs/en-US/bundle/ni-daqmx/ >`_ for
27+ an overview of NI-DAQmx, key concepts, and measurement fundamentals. The
28+ NI-DAQmx Help also installs locally with the full version of NI-DAQmx. Refer to
29+ `this Knowledge Base (KB) <http://digital.ni.com/express.nsf/bycode/exagg4 >`_
30+ for more information.
31+
32+ Implementation
33+ --------------
1834
19- Some functions in the **nidaqmx ** package may be unavailable with earlier
20- versions of the NI-DAQmx driver. Visit the
21- `ni.com/downloads <http://www.ni.com/downloads/ >`_ to upgrade your version of
22- NI-DAQmx.
35+ The package is implemented in Python as an object-oriented wrapper around the
36+ NI-DAQmx C API using the
37+ `ctypes <https://docs.python.org/3/library/ctypes.html >`_ Python library.
38+
39+ Supported NI-DAQmx Driver Versions
40+ ----------------------------------
41+
42+ **nidaqmx ** supports all versions of NI-DAQmx. Some functions in the **nidaqmx **
43+ package may be unavailable with earlier versions of the NI-DAQmx driver. Refer
44+ to the Installation section for details on how to install the latest version of
45+ the NI-DAQmx driver.
46+
47+ Operating System Support
48+ ------------------------
2349
2450**nidaqmx ** supports Windows and Linux operating systems where the NI-DAQmx
2551driver is supported. Refer to
2652`NI Hardware and Operating System Compatibility <https://www.ni.com/r/hw-support >`_
2753for which versions of the driver support your hardware on a given operating
2854system.
2955
56+ Python Version Support
57+ ----------------------
58+
3059**nidaqmx ** supports CPython 3.8+ and PyPy3.
3160
3261Installation
3362============
3463
35- Running **nidaqmx ** requires NI-DAQmx to be installed. Visit
36- `ni.com/downloads <http://www.ni.com/downloads/ >`_ to download the latest
37- version of NI-DAQmx. None of the recommended **Additional items ** are required
38- for **nidaqmx ** to function, and they can be removed to minimize installation
39- size. It is recommended you continue to install the **NI Certificates ** package
40- to allow your Operating System to trust NI built binaries, improving your
41- software and hardware installation experience.
42-
43- **nidaqmx ** can be installed with `pip <http://pypi.python.org/pypi/pip >`_::
64+ You can use `pip <http://pypi.python.org/pypi/pip >`_ to download **nidaqmx ** from
65+ `PyPI <https://pypi.org/project/nidaqmx/ >`_ and install it::
4466
4567 $ python -m pip install nidaqmx
4668
47- Similar Packages
48- ================
69+ Automatic Driver Installation
70+ -----------------------------
71+
72+ Running **nidaqmx ** requires NI-DAQmx to be installed. The **nidaqmx ** module
73+ ships with a command-line interface (CLI) to streamline the installation
74+ experience. You can install the NI-DAQmx driver using the following command::
75+
76+ $ python -m nidaqmx installdriver
4977
50- There are similar packages available that also provide NI-DAQmx functionality in
51- Python:
78+ On Windows, this command will download and launch an online streaming installer
79+ from ni.com. On Linux, this will download the repository registration package
80+ for your Linux distribution and install the driver using your package manager.
5281
53- - `daqmx <https://pypi.org/project/daqmx/ >`_
54- (`slightlynybbled/daqmx on GitHub <https://github.com/slightlynybbled/daqmx >`_)
55- provides an abstraction of NI-DAQmx in the ``ni `` module.
82+ Manual Driver Installation
83+ --------------------------
5684
57- - PyLibNIDAQmx (`pearu/pylibnidaqmx on GitHub <https://github.com/pearu/pylibnidaqmx >`_)
58- provides an abstraction of NI-DAQmx in the ``nidaqmx `` module, which collides
59- with this package's module name.
85+ Visit `ni.com/downloads <http://www.ni.com/downloads/ >`_ to download the latest
86+ version of NI-DAQmx. None of the recommended **Additional items ** are required
87+ for **nidaqmx ** to function, and they can be removed to minimize installation
88+ size. It is recommended you continue to install the **NI Certificates ** package
89+ to allow your Operating System to trust NI built binaries, improving your
90+ software and hardware installation experience.
6091
6192Getting Started
6293===============
63- In order to use the **nidaqmx ** package, you must have at least one DAQ (`Data Acquisition <https://www.ni.com/en/shop/data-acquisition.html >`_)
64- device installed on your system. Both physical and simulated devices are supported. The examples below use an X Series DAQ device
65- (e.g.: PXIe-6363, PCIe-6363, or USB-6363).
66- You can use **NI MAX ** or **NI Hardware Configuration Utility ** to verify and configure your devices.
94+ In order to use the **nidaqmx ** package, you must have at least one DAQ
95+ (`Data Acquisition <https://www.ni.com/en/shop/data-acquisition.html >`_) device
96+ installed on your system. Both physical and simulated devices are supported. The
97+ examples below use an X Series DAQ device (e.g.: PXIe-6363, PCIe-6363, or
98+ USB-6363). You can use **NI MAX ** or **NI Hardware Configuration Utility ** to
99+ verify and configure your devices.
67100
68101Finding and configuring device name in **NI MAX **:
69102
@@ -79,8 +112,23 @@ Finding and configuring device name in **NI Hardware Configuration Utility**:
79112 :align: center
80113 :width: 800px
81114
82- Tasks in NI-DAQmx
83- -----------------
115+ Python Examples
116+ ===============
117+
118+ You can find a variety of examples in the GitHub repository in the
119+ `nidaqmx-python examples <https://github.com/ni/nidaqmx-python/tree/master/examples >`_
120+ directory. For best results, use the examples corresponding to the version of
121+ **nidaqmx ** that you are using. For example, if you are using version 1.0.0,
122+ check out the
123+ `examples directory in the 1.0.0 tag <https://github.com/ni/nidaqmx-python/tree/1.0.0/examples >`_.
124+ Newer examples may demonstrate features that are not available in older versions
125+ of **nidaqmx **.
126+
127+ Key Concepts in NI-DAQmx
128+ =========================
129+
130+ Tasks
131+ -----
84132A task is a collection of one or more virtual channels with timing, triggering, and other properties.
85133Refer to `NI-DAQmx Task <https://www.ni.com/docs/en-US/bundle/ni-daqmx/page/tasksnidaqmx.html >`_ for more information.
86134
@@ -92,8 +140,8 @@ Example code to create a task:
92140 >> > with nidaqmx.Task() as task:
93141 ... pass
94142
95- Virtual Channels in NI-DAQmx
96- ----------------------------
143+ Virtual Channels
144+ ----------------
97145Virtual channels, or sometimes referred to generically as channels, are software entities that encapsulate the physical channel
98146along with other channel specific information (e.g.: range, terminal configuration, and custom scaling) that formats the data.
99147A physical channel is a terminal or pin at which you can measure or generate an analog or digital signal. A single physical channel
@@ -307,8 +355,6 @@ Following is an example of using an **nidaqmx.system.System** object.
307355 >> > isinstance (phys_chan.ai_term_cfgs[0 ], Enum)
308356 True
309357
310- You can find more examples in `nidaqmx-python examples <https://github.com/ni/nidaqmx-python/tree/master/examples >`_.
311-
312358 Bugs / Feature Requests
313359=======================
314360
@@ -335,19 +381,6 @@ Please include **all** of the following information when opening an issue:
335381 to determine the version of NI-DAQmx you have installed.
336382- The operating system and version, for example Windows 7, CentOS 7.2, ...
337383
338- Documentation
339- =============
340-
341- Documentation is available `here <http://nidaqmx-python.readthedocs.io >`_.
342-
343- Additional Documentation
344- ========================
345-
346- Refer to the `NI-DAQmx Help <http://digital.ni.com/express.nsf/bycode/exagg4 >`_
347- for API-agnostic information about NI-DAQmx or measurement concepts.
348-
349- NI-DAQmx Help installs only with the full version of NI-DAQmx.
350-
351384License
352385=======
353386
0 commit comments