Also in dem Python-Source werden drei Nachrichten an das Device geschrieben. Die ersten beiden Nachrichten sind jeweils 8 Bytes lang und immer gleich, die dritte Nachricht 64 Bytes und enthält die eigentlichen Steuerbefehle.
Nachricht 1: 85, 83, 66, 67, 0, 0, 4, 0
Nachricht 2: 85, 83, 66, 67, 0, 64, 2, 0
Nachricht 3:
Byte #1 ist immer 0
Byte #2 = 1 heißt Bewegung nach links, sonst 0
Byte #3 = 1 heißt Bewegung nach rechts
Byte #4 = 1 heißt Bewegung nach oben
Byte #5 = 1 heißt Bewegung nach unten
Byte #6 = 1 heißt Feuern
Byte #7 = 8
Byte #8 = 8
Byte #9..64 = 0
Die Bewegungsbytes #2 bis #5 kann man kombinieren, zumindestens in sinnvollen Kombinationen.
Das eigentliche Senden macht diese Funktion hier:
Code:
self.dev.handle.controlMsg(0x21, 0x09, <nachricht>, 0x02, 0x01)
wobei ich nicht herausgefunden habe, wofür die anderen Parameter sind:
Code:
requestType: specifies the direction of data flow, the type of request, and the recipient.
request: specifies the request.
buffer: ...
value: specific information to pass to the device. (default: 0)
index: specific information to pass to the device. (default: 0)
timeout: operation timeout in miliseconds. (default: 100)
Den Rest müsste jetzt jemand zusammenbasteln, der weiß, wie man USB von Delphi aus programmiert.
Zwei Pearl-Raketenwerfer hab ich hier auch stehen