nidaqmx-python icon indicating copy to clipboard operation
nidaqmx-python copied to clipboard

A Python API for interacting with NI-DAQmx

Results 69 nidaqmx-python issues
Sort by recently updated
recently updated
newest added

…r channel - [x] This contribution adheres to [CONTRIBUTING.md](https://github.com/ni/nidaqmx-python/blob/master/CONTRIBUTING.md). ### What does this Pull Request accomplish? This pull request adds two tests that validate reading and writing digital lines when...

logging_file_path currently has the following type hints, because we wanted to allow setting it using either a `pathlib.Path` or a `str`: ``` @property def logging_file_path(self) -> Optional[pathlib.Path]: ... @logging_file_path.setter def...

I think we should keep poetry.lock up-to-date. Currently, we only update poetry.lock when editing dependencies in pyproject.toml, and this leads to upgrading locked dependencies when making an unrelated change. For...

enhancement

When attempting to run a single script, the cwd (which is vscode will be the folder of the script) is considered for imports first. This causes Python to import ./types...

``` python import os import time import h5py import nidaqmx import numpy as np from nidaqmx.constants import AcquisitionType, Edge def main(): tmp_list = [] data = np.zeros(400) with nidaqmx.Task() as...

The digital line read/write methods in `DigitalSingleChannelReader`, `DigitalMultiChannelReader`, `DigitalSingleChannelWriter`, and `DigitalMultiChannelWriter` only support single-sample reads/writes, not multi-sample reads/writes. Note: The underlying C API functions, `DAQmxReadDigitalLines` and `DAQmxWriteDigitalLines`, support multi-channel, multi-sample,...

Calling `task.in_stream.read()` with different input/output ranges for each channel returns an error. Steps to reproduce: ``` import nidaqmx with nidaqmx.Task() as task: task.ai_channels.add_ai_voltage_chan("Dev1/ai0", min_val=-1.0, max_val=1.0) task.ai_channels.add_ai_voltage_chan("Dev1/ai1:3", min_val=-10.0, max_val=10.0) data =...

If a DAQmx channel is created for physicalChannel=`Dev1/ai0:7` with nameToAssignToChannel=`myChan09`, then DAQmx will assign `Dev1/ai0` the name `myChan09`, `Dev1/ai1` the name `myChan10`, and so on. In particular, notice the renumbering...

`LibraryInterpreter.read_raw` sets `cfunc.argtypes` based on the `dtype` of the array you pass in: ``` def read_raw(self, task, num_samps_per_chan, timeout, read_array): samples_read = ctypes.c_int() number_of_bytes_per_sample = ctypes.c_int() cfunc = lib_importer.windll.DAQmxReadRaw if...

I did regression test and observe a test failure on test___digital_multi_channel_writer___write_one_sample_multi_line_jagged___updates_output test case. I haven't spent time to look into the details yet. Tested on PXIe-6361 and PXIe-6363, failure only...