ich nutze Python 3.12 und habe ubuntu. Ich versuche seit ein paar tagen, die Daten von meinem DSO1062D Oszilloskop über dessen USB Schnittelle auf mein Computer zu bekommen. Leider gibt es nach meinen Recherchen keine funktionierende Software mit der man das unter linux/Windows direkt machen kann. Die mitgelieferte Software TTScope funktioniert schlecht und kann die kurven nur als Bilder exportieren. Diese mit opencv unn numpy umzuwandeln ist mir zu aufwändig und zu ungenau. aber ich habe diesen Artikel gefunden, indem das protokol von den hantek/tektronix/Voltkraft DSO Oszilloskopen erklärt ist https://www.mikrocontroller.net/article ... _Protokoll
darauf basierend habe ich mir dieses kleine python test Progrämmchen geschrieben, das die DSO Einstellungen lesen sollte:
Code: Alles auswählen
import usb.util
BULK_OUT = 0x02
BULK_IN = 0x81
dev = usb.core.find(idVendor=0x049f, idProduct=0x505a)
if dev is None:
raise ValueError("Device not found")
if dev.is_kernel_driver_active(0):
dev.detach_kernel_driver(0)
dev.set_configuration()
cmd = [0x53, 0x02, 0x00, 0x01, 0x56]
dev.write(BULK_OUT, cmd)
data = dev.read(BULK_IN, 1024)
print(data)
Code: Alles auswählen
Traceback (most recent call last):
File "/home/lsauter/PycharmProjects/DSO_Software/test1,5.py", line 101, in <module>
_ = read_bulk(dev) # Ignore, but should parse for real application
^^^^^^^^^^^^^^
File "/home/lsauter/PycharmProjects/DSO_Software/test1,5.py", line 28, in read_bulk
return dev.read(BULK_IN, length, timeout=TIMEOUT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lsauter/PycharmProjects/DSO_Software/.venv/lib/python3.12/site-packages/usb/core.py", line 1043, in read
ret = fn(
^^^
File "/home/lsauter/PycharmProjects/DSO_Software/.venv/lib/python3.12/site-packages/usb/backend/libusb1.py", line 850, in bulk_read
return self.__read(self.lib.libusb_bulk_transfer,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lsauter/PycharmProjects/DSO_Software/.venv/lib/python3.12/site-packages/usb/backend/libusb1.py", line 958, in __read
_check(retval)
File "/home/lsauter/PycharmProjects/DSO_Software/.venv/lib/python3.12/site-packages/usb/backend/libusb1.py", line 602, in _check
raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBTimeoutError: [Errno 110] Operation timed out
Ich würde mich sehr über ein feedback,mwas ich falschgemacht haben könnte, oder was ich noch testen könnte freuen
LG sauterle