Increment eines Funktionsparameters?
Verfasst: Freitag 29. Juni 2018, 08:13
Hi
Ich würde gerne wissen wie / ob ich eine Variable als Parameter einer Funktion übergeben kann die
in einer for -Schleife erhöht wird. Ich habe folgende Funktion definiert (Teil des PyUsb) die mir Befehle
an ein USB Gerät schickt:
Normalerweise wird die Funktion dann so aufgerufen:
Ich möchte nun aber den letzten Parameter in einer for-Schleife so erhöhen das er die erste Hex Zahl von 0 auf 255 heröht:
Dafür habe ich diesen Code geschrieben der an sich auch die Variable hochzählt:
Das Problem ist nun aber das ich praktisch nur Fehler von PyUSB zurück bekomme. Vermutlich wird der String/Variable z nicht richtig interpretiert, denn zumindest bei send_msg(0x41, 0x3E, 0, 0,'\x08\x00') sollte ich keine Fehlermeldung zurückkommen da der Befehl ohne Variable funktioniert...
Hat jemand eine Idee was ich falsch mache oder ist das ganze nicht möglich?
Hintergrund der Sache ist, das ich das Gerät auf unbekannte Befehle testen möchte. '\x08\x00' ist ein Befehl der funktioniert und bekannt ist. Da ich nicht händisch 256 Befehl durchprobieren will die Schleife...
Ich würde gerne wissen wie / ob ich eine Variable als Parameter einer Funktion übergeben kann die
in einer for -Schleife erhöht wird. Ich habe folgende Funktion definiert (Teil des PyUsb) die mir Befehle
an ein USB Gerät schickt:
Code: Alles auswählen
def send_msg(bmRequestType, bRequest, wValue=0, wIndex=0, data_or_wLength=None, timeout=None):
assert (dev.ctrl_transfer(bmRequestType, bRequest, wValue, wIndex, data_or_wLength, timeout) == len(data_or_wLength))
Code: Alles auswählen
send_msg(0x41, 0x3E, 0, 0,'\x08\x00')
Code: Alles auswählen
'\x00\x00'
'\x01\x00'
'\x02\x00'
...
'\xFF\x00'
Code: Alles auswählen
for i in range(0, 256):
z = r'\x'+ str('{0:02x}'.format(i)) + r'\x00'
send_msg(0x41, 0x3E, 0, 0,z)
Hat jemand eine Idee was ich falsch mache oder ist das ganze nicht möglich?
Hintergrund der Sache ist, das ich das Gerät auf unbekannte Befehle testen möchte. '\x08\x00' ist ein Befehl der funktioniert und bekannt ist. Da ich nicht händisch 256 Befehl durchprobieren will die Schleife...