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.
with nidcpower.Session('dev1') as 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:
measurements = session.fetch_multiple(count=session.fetch_backlog)
samples_acquired += len(measurements)
for i in range(len(measurements)):
print(row_format.format(i, measurements[i].voltage, measurements[i].current, measurements[i].in_compliance))
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.8.0.dev0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f42a49858f31779754ad6dff21eb73107705ac57a3271bb0462900649cd5a857 |
|
MD5 | 3f26af859434cf6e67df48bd7888e38a |
|
BLAKE2b-256 | 95e39888d8fae20e5d7bb58c2522e5f1b01dc663295c582202db2dfc78cf90eb |