`stream_readers` array shape validation is incompatible with `READ_ALL_AVAILABLE`
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza con generated/nidaqmx/stream_readers.py, especialmente con read_many_sample y _verify_array, y después reproduce el ejemplo usando AnalogMultiChannelReader y READ_ALL_AVAILABLE. Se considera terminado cuando se acepta un array de NumPy preasignado de (2, 1000) aunque varíe la cantidad de muestras disponibles, y el ejemplo imprime los datos del array sin el error de validación de forma.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
If you use stream_readers to read into a preallocated NumPy array with number_of_samples_per_channel=READ_ALL_AVAILABLE, the stream reader validates the NumPy array shape against the available samples per channel, which is not a predictable number.
Steps to reproduce
Install an X Series or M Series as Dev1 and run this code:
import pprint
import time
import nidaqmx
import numpy
from nidaqmx.constants import AcquisitionType
from nidaqmx.stream_readers import AnalogMultiChannelReader
pp = pprint.PrettyPrinter(indent=4)
with nidaqmx.Task() as task:
task.ai_channels.add_ai_voltage_chan("Dev1/ai0:1")
task.timing.cfg_samp_clk_timing(1000.0, sample_mode=AcquisitionType.CONTINUOUS)
task.start()
time.sleep(100e-3)
reader = AnalogMultiChannelReader(task.in_stream)
data = numpy.zeros((2, 1000), dtype=numpy.double)
reader.read_many_sample(data, timeout=0.0)
pp.pprint(data)
Expected output
Prints array data
Actual output
The required number of samples varies from run to run but is around 100 to 110.
Traceback (most recent call last):
File "D:\dev\nidaqmx-python\examples\ai_raw.py", line 19, in <module>
reader.read_many_sample(data, timeout=0.0)
File "D:\dev\nidaqmx-python\generated\nidaqmx\stream_readers.py", line 322, in read_many_sample
self._verify_array(data, number_of_samples_per_channel, True, True)
File "D:\dev\nidaqmx-python\generated\nidaqmx\stream_readers.py", line 83, in _verify_array
raise DaqError(
nidaqmx.errors.DaqError: Read cannot be performed because the NumPy array passed into this function is not shaped correctly. You must pass in a NumPy array of the correct shape based on the number of channels in task and the number of samples per channel requested.
Shape of NumPy Array provided: (2, 1000)
Shape of NumPy Array required: (2, 105)
Task Name: _unnamedTask<0>
- Lenguaje dominante
- Python
- Estrellas
- 590
- Forks
- 199
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 10
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ni/nidaqmx-python
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ni/nidaqmx-python#1030 ·
Los mantenedores suelen responder en 2 días
-
tech debt
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
ni/nidaqmx-python#945 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ni/nidaqmx-python#941 ·
Los mantenedores suelen responder en 2 días
-
Potential typos in the APIPosiblemente ocupada @KostaIlic2 la tomó hace 210 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
ni/nidaqmx-python#939 ·
Los mantenedores suelen responder en 2 días
-
Add gRPC examplesAbiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
ni/nidaqmx-python#917 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 2 días
Todos los issues de ni/nidaqmx-python
Issues similares
-
documentation pkg: sphinx-needs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
useblocks/sphinx-needs#2255 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
home-assistant/core#186538 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
btclib-org/btclib-secp256k1#1181 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pyrite-wiki/pyrite#917 ·
Los mantenedores suelen responder en 1 día