NI-FGEN 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-FGEN Python API Status
NI-FGEN (nifgen) |
|
---|---|
Driver Version Tested Against |
17.1.0 |
PyPI Version |
|
Supported Python Version |
|
Open Issues |
|
Open Pull Requests |
Installation
As a prerequisite to using the nifgen module, you must install the NI-FGEN runtime on your system. Visit ni.com/downloads to download the driver runtime for your devices.
The nimi-python modules (i.e. for NI-FGEN) can be installed with pip:
$ python -m pip install nifgen
Or easy_install from setuptools:
$ python -m easy_install nifgen
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 nifgen module to open a session to a Function Generator and generate a sine wave for 5 seconds.
import nifgen
import time
with nifgen.Session("Dev1") as session:
session.output_mode = nifgen.OutputMode.FUNC
session.configure_standard_waveform(waveform=nifgen.Waveform.SINE, amplitude=1.0, frequency=10000000, dc_offset=0.0, start_phase=0.0)
with session.initiate():
time.sleep(5)
Additional examples for NI-FGEN are located in src/nifgen/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 nifgen-0.8.0.dev0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6946236beb4fb91489a20bb3a9c03f15c3068c437a2650e384e07cbb93c3a41f |
|
MD5 | aae3fd8ba8fd9819ecdec508acf022fb |
|
BLAKE2b-256 | 6feb8af04a59e48a9ddfdb1ab75f7d00ebc61b2eb428563fb09b394b3586cd41 |