Task.read does not return short reads for multi-channel power
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách chạy trường hợp lỗi trong tests/component/test_task_read_ai.py và lần theo lệnh gọi pwr_multi_channel_task.read(samples_to_read) qua Task.read. Bản sửa hoàn tất khi thao tác đọc công suất hữu hạn đa kênh trả về năm mẫu trên mỗi kênh khi yêu cầu mười mẫu, đồng thời các assertion về điện áp và dòng điện đều đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Task.read doesn't slice the array for multi-channel power reads.
Test case (from tests/component/test_task_read_ai.py, under development):
def test___power_multi_channel_finite___read_too_many_sample___returns_valid_2d_channels_samples_truncated(
pwr_multi_channel_task: nidaqmx.Task,
) -> None:
samples_to_acquire = 5
pwr_multi_channel_task.timing.cfg_samp_clk_timing(rate=1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=samples_to_acquire)
num_channels = pwr_multi_channel_task.number_of_channels
samples_to_read = 10
data = pwr_multi_channel_task.read(samples_to_read)
_assert_equal_2d(
[[e.voltage for e in d] for d in data],
[
[_get_voltage_setpoint_for_chan(chan_index) for _ in range(samples_to_acquire)]
for chan_index in range(num_channels)
],
abs=POWER_EPSILON,
)
_assert_equal_2d(
[[e.current for e in d] for d in data],
[
[_get_current_setpoint_for_chan(chan_index) for _ in range(samples_to_acquire)]
for chan_index in range(num_channels)
],
abs=POWER_EPSILON,
)
Result:
_ test___power_multi_channel_finite___read_too_many_sample___returns_valid_2d_channels_samples_truncated[library_init_kwargs] _
pwr_multi_channel_task = Task(name=_unnamedTask<F>)
def test___power_multi_channel_finite___read_too_many_sample___returns_valid_2d_channels_samples_truncated(
pwr_multi_channel_task: nidaqmx.Task,
) -> None:
samples_to_acquire = 5
pwr_multi_channel_task.timing.cfg_samp_clk_timing(rate=1000.0, sample_mode=AcquisitionType.FINITE, samps_per_chan=samples_to_acquire)
num_channels = pwr_multi_channel_task.number_of_channels
samples_to_read = 10
data = pwr_multi_channel_task.read(samples_to_read)
> _assert_equal_2d(
[[e.voltage for e in d] for d in data],
[
[_get_voltage_setpoint_for_chan(chan_index) for _ in range(samples_to_acquire)]
for chan_index in range(num_channels)
],
abs=POWER_EPSILON,
)
tests\component\test_task_read_ai.py:317:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
data = [[1.0, 1.0, 1.0, 1.0, 1.0, 2.0, ...], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...]]
expected = [[1.0, 1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0, 2.0]], abs = 0.001
def _assert_equal_2d(data: List[List[float]], expected: List[List[float]], abs: float) -> None:
# pytest.approx() does not support nested data structures.
assert len(data) == len(expected)
for i in range(len(data)):
> assert data[i] == pytest.approx(expected[i], abs=abs)
E assert [1.0, 1.0, 1....1.0, 2.0, ...] == approx([1.0 ±....0 ± 1.0e-03])
E
E Impossible to compare lists with different sizes.
E Lengths: 5 and 10
tests\component\test_task_read_ai.py:152: AssertionError
- Ngôn ngữ chính
- Python
- Star
- 590
- Fork
- 199
- Merge trung bình
- 1 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 10
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
-
Add PEP 723 dependency metadata to example programsCó thể đã có người làm @shrishsk đã nhận 1 ngày trước. Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
ni/nidaqmx-python#1030 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
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 212 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
Tất cả issue của ni/nidaqmx-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
lidofinance/diffyscan#239 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs: the dev-setup table and AGENTS.md name the reviewed_by guard that CI's Changelog job runsĐang mởarea: tools documentation good first issue ready for a contributor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
eyalgolan/statecraft-israel#873 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
GET rooms API returns 500 due to nonexistent Room.is_active attributeCó thể đã có người làm @Mars-60 đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Add cover art to song rowsĐang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 5 ngày
-
Harmony OPeNDAP SubSetter (HOSS) Geographic production rssmif16d 7 XYZ_PROV
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
nasa/harmony-autotester#341 ·