NI-DCPower Python API
Project description
Overall Status
master branch status |
|
GitHub status |
Info |
Python bindings for NI Modular Instrument drivers. See GitHub for the latest source. |
Author |
National Instruments |
About
The nimi-python repository generates Python bindings (Application Programming Interface) for interacting with the Modular Instrument drivers. Currently, the following drivers are supported:
NI-DCPower (Python module: nidcpower)
NI-DMM (Python module: nidmm)
NI-FGEN (Python module: nifgen)
NI-SCOPE (Python module: niscope)
NI-SWITCH (Python module: niswitch)
NI-ModInst (Python module: nimodinst)
It is implemented as a set of Mako templates and per-driver metafiles that produce a Python module for each driver. The driver is called through its public C API using the ctypes Python library.
nimi-python supports all the Operating Systems supported by the underlying driver.
nimi-python supports Python 2.7, 3.4 and later using CPython or PyPy.
NI-DCPower Python API Status
NI-DCPower (nidcpower) |
|
---|---|
Driver Version Tested Against |
17.6.0 |
PyPI Version |
|
Supported Python Version |
|
Open Issues |
|
Open Pull Requests |
Installation
As a prerequisite to using the nidcpower module, you must install the NI-DCPower runtime on your system. Visit ni.com/downloads to download the driver runtime for your devices.
The nimi-python modules (i.e. for NI-DCPower) can be installed with pip:
$ python -m pip install nidcpower
Or easy_install from setuptools:
$ python -m easy_install nidcpower
Contributing
We welcome contributions! You can clone the project repository, build it, and install it by following these instructions.
Usage
The following is a basic example of using the nidcpower module to open a session to a Source Meter Unit and measure voltage and current.
import nidcpower
# Configure the session.
session.measure_record_length = 20
session.measure_record_length_is_finite = True
session.measure_when = nidcpower.MeasureWhen.AUTOMATICALLY_AFTER_SOURCE_COMPLETE
session.voltage_level = 5.0
session.commit()
print('Effective measurement rate: {0} S/s'.format(session.measure_record_delta_time / 1))
samples_acquired = 0
print(' # Voltage Current In Compliance')
row_format = '{0:3d}: {1:8.6f} {2:8.6f} {3}'
with session.initiate():
while samples_acquired < 20:
voltage_measurements, current_measurements, in_compliance = session.fetch_multiple(count=session.fetch_backlog)
samples_acquired += len(voltage_measurements)
for i in zip(range(len(voltage_measurements)), voltage_measurements, current_measurements, in_compliance):
print(row_format.format(i[0], i[1], i[2], i[3]))
Additional examples for NI-DCPower are located in src/nidcpower/examples/ directory.
Support / Feedback
The packages included in nimi-python package are supported by NI. For support, open a request through the NI support portal at ni.com.
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. Code samples are encouraged!
The python version used:
$ python -c "import sys; print(sys.version)"
The module (i.e. nidmm) and its version:
$ python -m pip list
The version of the driver used (i.e. NI-DMM 17.1). Follow this KB article to determine the version you have installed.
The operating system, version, and bitness. For example 64-bit Windows 7.
Documentation
Documentation is available here.
License
nimi-python 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nidcpower-0.7.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 193e9f21f8d310171305fd248a69bedfe050476e74128bf8dbd865d6348023ec |
|
MD5 | 752928928f672d43e2cc8c3ccdaa8e1a |
|
BLAKE2b-256 | 0b231a8dd86e3bc92d53c9a0ef327c9bc2bbe075df5be13132a4710e6c5f66ec |