Ich habe einen einfachen Code geschrieben, um den Status eines verbundenen STM32-Geräts im DFU-Modus abzurufen. Ich kann die Informationen zum Gerät abrufen, erhalte jedoch immer eine Fehlermeldung, wenn ich den Status mit der Methode get_status überprüfe.
Unten ist mein Code.
import usb
import time
import usb.backend.libusb1
# DFU Commands
DFU_DETACH = 0x00
DFU_DNLOAD = 0x01
DFU_UPLOAD = 0x02
DFU_GETSTATUS = 0x03
DFU_CLRSTATUS = 0x04
DFU_GETSTATE = 0x05
DFU_ABORT = 0x06
class STDFU:
def __init__(self):
# Initialize the device (replace with your device's VendorID and ProductID)
self.device = usb.core.find(idVendor=0x0483, idProduct=0xDF11, backend=usb.backend.libusb1.get_backend(find_library=lambda x: "libusb-1.0.dll"))
if self.device is None:
raise ValueError("Device not found.")
# Set up the device (claim interface, reset device, etc.)
self.device.set_configuration()
self.device.reset()
time.sleep(2) # Ensure the device has time to reset
def get_device_info(self):
if self.device:
print(f"Device: {self.device}")
print(f"Device Configuration: {self.device.get_active_configuration()}")
# Removed the line that tried to access the 'state' attribute
print("Device state info is not available via pyusb.")
else:
print("No device found.")
def get_status(self):
try:
if self.device is None:
raise ValueError("Device not initialized.")
print("Sending DFU_GETSTATUS request to device...")
response = self.device.ctrl_transfer(0xA1, DFU_GETSTATUS, 0, 0, 6, timeout=20000)
print(f"Received response: {response}")
# Assuming response follows this format:
dfu_status = DFUStatus()
dfu_status.status = response[0]
dfu_status.poll_timeout = response[1] | (response[2]
Ich habe einen einfachen Code geschrieben, um den Status eines verbundenen STM32-Geräts im DFU-Modus abzurufen. Ich kann die Informationen zum Gerät abrufen, erhalte jedoch immer eine Fehlermeldung, wenn ich den Status mit der Methode get_status überprüfe. Unten ist mein Code. [code]import usb import time import usb.backend.libusb1
class STDFU: def __init__(self): # Initialize the device (replace with your device's VendorID and ProductID) self.device = usb.core.find(idVendor=0x0483, idProduct=0xDF11, backend=usb.backend.libusb1.get_backend(find_library=lambda x: "libusb-1.0.dll"))
if self.device is None: raise ValueError("Device not found.")
# Set up the device (claim interface, reset device, etc.) self.device.set_configuration() self.device.reset() time.sleep(2) # Ensure the device has time to reset
def get_device_info(self):
if self.device: print(f"Device: {self.device}") print(f"Device Configuration: {self.device.get_active_configuration()}") # Removed the line that tried to access the 'state' attribute print("Device state info is not available via pyusb.") else: print("No device found.")
def get_status(self):
try: if self.device is None: raise ValueError("Device not initialized.")
Ich habe einen einfachen Code geschrieben, um den Status eines verbundenen STM32-Geräts im DFU-Modus abzurufen. Ich kann die Informationen zum Gerät abrufen, erhalte jedoch immer eine Fehlermeldung,...
Ich bin auf etwas Merkwürdiges gestoßen. Ich habe einen Dekompiler, der Informationen aus einer Binärdatei extrahiert. Ich extrahiere eine Reihe von Objekten, die ich separat als Binärdateien auf die...
Ich versuche, die CPU-Temperatur mithilfe der Linux-API /sys/class/thermal/thermal_zone*/temp abzurufen. Hier ist der Code, den ich verwende:
private static final ConcurrentHashMap type2fileMap =...
Ich habe ein Phantom Omni-Gerät und möchte bei bestimmten Positionskoordinaten den Stift des Geräts in diese Position bewegen? Gibt es dafür einen direkten Befehl in Open Haptics?