val in self.channels.items() can be float
Chưa có ai nhận issue này.
Đá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
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- embedded-iot
Hướng nghiên cứu
Bắt đầu trong _Controller.py, tại vòng lặp giá trị kênh, và kiểm tra cách các giá trị từ self.channels.items() đi tới _transmit. Tái hiện trường hợp luồng không đổi tạo ra một float, sau đó xác minh rằng cách xử lý được chọn bảo toàn dữ liệu frame DMX hợp lệ và ngăn việc chuyển đổi sang bytearray bị lỗi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi fellow,
thanks a looot for your library. Real nice work.
I ran into an issue (can't tell you the origin), but by using a constant stream following line in _Controller.py might create a float, which later on will crash the program:
# Get all channels values
for key, val in self.channels.items():
# If channel in frame
if key - first < len(self.__frame):
self.__frame[key - first] = int(val[0])`
i placed an int() around the val[0]. Not sure if that's in general a good idea.
but it fixed the issue, that otherwise at this call would break the runtime.
def _transmit(self, frame: List[int], first: int):
# Convert to a bytearray and pad the start of the frame
# We're transmitting direct DMX data here, so a frame must start at channel 1, but can end early
try:
data = bytearray(([0] * (first - 1)) + frame)
# The first byte in the type, and is `0` for normal DMX data
data.insert(0, 0)
# Write
self.__device.send_break(100e-6)
sleep(10e-6)
self.__device.write(data)
except:
print("bad request")`
```
as you see I made a try / except for myself.
- Ngôn ngữ chính
- Python
- Star
- 143
- Fork
- 23
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
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 MattIPv4/PyDMXControl
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
MattIPv4/PyDMXControl#60 · 2 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
MattIPv4/PyDMXControl#58 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
MattIPv4/PyDMXControl#56 · 2 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
MattIPv4/PyDMXControl#52 · 5 bình luận ·
-
Custom Channels Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
MattIPv4/PyDMXControl#51 · 3 bình luận ·
Tất cả issue của MattIPv4/PyDMXControl
Issue tương tự
-
agent-ready documentation needs-triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
-
Add https://search.jeremyh.xyz/ Đang mởinstance instance add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
searxng/searx-instances#939 · 1 bình luận ·
-
area-deployment area-integrations triage:bot-seen
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 86/100