Skip to content

Commit 53db026

Browse files
authored
README improvements for upcoming public announcements (#622)
* readme improvements for upcoming public announcements
1 parent e8e7e0a commit 53db026

File tree

1 file changed

+91
-58
lines changed

1 file changed

+91
-58
lines changed

README.rst

Lines changed: 91 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,102 @@
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

613
About
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
2551
driver is supported. Refer to
2652
`NI Hardware and Operating System Compatibility <https://www.ni.com/r/hw-support>`_
2753
for which versions of the driver support your hardware on a given operating
2854
system.
2955

56+
Python Version Support
57+
----------------------
58+
3059
**nidaqmx** supports CPython 3.8+ and PyPy3.
3160

3261
Installation
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

6192
Getting 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

68101
Finding 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+
-----
84132
A task is a collection of one or more virtual channels with timing, triggering, and other properties.
85133
Refer 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+
----------------
97145
Virtual channels, or sometimes referred to generically as channels, are software entities that encapsulate the physical channel
98146
along with other channel specific information (e.g.: range, terminal configuration, and custom scaling) that formats the data.
99147
A 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-
351384
License
352385
=======
353386

0 commit comments

Comments
 (0)