`Task.write` does not handle certain inputs as expected
Nadie ha tomado este issue todavía.
- #127 de @stafak — cerrado sin fusionar
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza en el punto de entrada Task.write y reproduce ambos ejemplos del issue, incluida la lista anidada y la entrada mixta de Python-list/NumPy-array. Rastrea cómo se interpretan las formas y los tipos de los canales y las muestras. La tarea está terminada cuando ambos ejemplos escriban las señales digitales solicitadas sin los errores indicados de número de canales o tipo de muestra, con cobertura de regresión para estas entradas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi!
Running this code, I expect to write the signal to line 2, but instead I get a strange error message about mismatching number of channels (even though there is no mismatch):
import nidaqmx
taskLen = 100
signalLine2 = [True] * taskLen
signals = [signalLine2]
with nidaqmx.Task('mytask') as task:
task.do_channels.add_do_chan('Dev1/port0/line2')
task.write(signals, auto_start=True)
task.wait_until_done()
print('done')
nidaqmx.errors.DaqError: Write cannot be performed, because the number of channels in the data does not match the number of channels in the task.
When writing, supply data for all channels in the task. Alternatively, modify the task to contain the same number of channels as the data written.
Number of Channels in Task: 1
Number of Channels in Data: 1
Task Name: mytask
I'm aware that it's possible to avoid this by simply using signalLine2 as the input instead of the 2-dimensional signals variable, but sometimes you can end up in this situation when creating a varying number of signals in a loop.
Similarly, an error is raised when mixing Python lists and numpy arrays in the input:
import nidaqmx
import numpy as np
taskLen = 100
signalLine2 = np.ones(taskLen, dtype=bool)
signalLine3 = np.ones(taskLen, dtype=bool)
signals = [signalLine2, signalLine3]
with nidaqmx.Task('mytask') as task:
task.do_channels.add_do_chan('Dev1/port0/line2')
task.do_channels.add_do_chan('Dev1/port0/line3')
task.write(signals, auto_start=True)
task.wait_until_done()
print('done')
nidaqmx.errors.DaqError: Write failed, because this write method only accepts boolean samples when there is one digital line per channel in a task.
Requested sample type: <class 'numpy.ndarray'>
Task Name: mytask
- Lenguaje dominante
- Python
- Estrellas
- 590
- Forks
- 199
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 7
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
-
Add PEP 723 dependency metadata to example programsPosiblemente ocupada @shrishsk la tomó hace 2 días. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ni/nidaqmx-python#1030 ·
-
tech debt
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
ni/nidaqmx-python#945 ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ni/nidaqmx-python#941 ·
-
Potential typos in the APIPosiblemente ocupada @KostaIlic2 la tomó hace 214 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
ni/nidaqmx-python#939 ·
-
Add gRPC examplesAbiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
ni/nidaqmx-python#917 · 1 comentario · 1 reacción ·
Todos los issues de ni/nidaqmx-python
Issues similares
-
tunneld on Windows: Wi-Fi devices are not discovered because uvicorn runs on a ProactorEventLoopAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
doronz88/pymobiledevice3#2051 ·
Los mantenedores suelen responder en 1 día
-
Remove DatacircleAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
collabnix/awesome-mcp-lists#230 ·
Los mantenedores suelen responder en 9 días
-
Groc schedules with out of range values pass config validation and fail later when the scheduler is builtPosiblemente ocupada @auraseb la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
autowarefoundation/autoware_carla_scenario#342 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ianktoo/project-monitor#14 ·