`Task.write` does not handle certain inputs as expected
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
- #127 của @stafak — đã đóng, không merge
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu từ điểm vào Task.write và tái hiện cả hai ví dụ trong issue, bao gồm danh sách lồng nhau và đầu vào kết hợp Python-list/NumPy-array. Theo dõi cách diễn giải hình dạng và kiểu của các kênh và mẫu. Hoàn thành khi cả hai ví dụ ghi được các tín hiệu số được yêu cầu mà không gặp các lỗi đã báo cáo về số lượng kênh hoặc kiểu mẫu, với phạm vi kiểm thử hồi quy cho các đầu vào này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Python
- Star
- 590
- Fork
- 200
- Merge trung bình
- 1 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 9
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ni/nidaqmx-python
-
tech debt
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
ni/nidaqmx-python#945 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
ni/nidaqmx-python#941 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Potential typos in the APICó thể đã có người làm @KostaIlic2 đã nhận 219 ngày trước. Đang mởbug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 42/100
ni/nidaqmx-python#939 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Add gRPC examplesĐang mởenhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
ni/nidaqmx-python#917 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Add automated API compatibility checks to GitHub PR workflowCó thể đã có người làm @shrishsk đã nhận 6 ngày trước. Đang mởenhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
ni/nidaqmx-python#914 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của ni/nidaqmx-python
Issue tương tự
-
[Resource]: LoreĐang mởresource-submission validation-passed
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
hesreallyhim/awesome-claude-code#3234 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
openminion/openminion#376 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Type: ☹︎ Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
posit-dev/great-tables#1028 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
integration: apple_tv
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
home-assistant/core#188282 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
A "since" range is worded as a career: "the past two seasons" says "regular season career (2025 on)"Đang mởP4: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
jeffknupp/association#538 ·