2011-01-06 42 views
4

Es is a missle launcher dieTreiber für USB Raketenwerfer in Windows 7

über USB betrieben wird

alt text

Die Software dafür kann im DreamCheeky website

finden Was ich tun möchte, ist in der Lage sein, um diese Maschine über meine Programme zu steuern. So sind diese die Probleme, die ich sehen:

  1. Acquire ein Treiber < ---
  2. Schnittstelle dieser Treiber in mein C# Apps (ich an dieser später aussehen wird)

Für den ersten Teil Welches ist das wichtigste, ich habe ein paar Linux-Ports des Treibers gefunden, aber kann ich den Treiber verwenden, der mit dem Programm geliefert wurde? Oder kann ich den Linux-Code und einen Treiber in Windows erstellen?

Die hilfreichste Quelle, die ich gefunden habe, ist the code from the NZ Mac port, aber ich habe keine Ahnung, was ich damit machen soll.

Alle Hinweise und Tipps geschätzt. Es ist meine Einführung in die Fahrer.

EDIT - Mehr Gedanken

ich das Gefühl habe ich nur anrufen und USB-Befehle empfangen. Im Code von dgwilson from the NZ mac port er hat dies:

// Control of the launcher works on a binary code – see the table below for an explanation 
// 
// | 16 | 8 | 4 | 2 | 1 | 
// |——|—|—|—|—| 
// | 0 | 0 | 0 | 0 | 1 | 1 – Up 
// | 0 | 0 | 0 | 1 | 0 | 2 – Down 
// | 0 | 0 | 0 | 1 | 1 | 3 – nothing 
// | 0 | 0 | 1 | 0 | 0 | 4 – Left 
// | 0 | 0 | 1 | 0 | 1 | 5 – Up/Left 
// | 0 | 0 | 1 | 1 | 0 | 6 – Down/left 
// | 0 | 0 | 1 | 1 | 1 | 7 – Slow left 
// | 0 | 1 | 0 | 0 | 0 | 8 – Right 
// | 0 | 1 | 0 | 0 | 1 | 9 – Up/Right 
// | 0 | 1 | 0 | 1 | 0 | 10 – Down/Right 
// | 0 | 1 | 0 | 1 | 1 | 11 – Slow Right 
// | 0 | 1 | 1 | 0 | 0 | 12 – nothing 
// | 0 | 1 | 1 | 0 | 1 | 13 – Slow Up 
// | 0 | 1 | 1 | 1 | 0 | 14 – Slow Down 
// | 0 | 1 | 1 | 1 | 1 | 15 – Stop 
// | 1 | 0 | 0 | 0 | 0 | 16 – Fire 
// 
// | Fire |RT |LT |DN |UP | 
// 

Heißt das, es könnte bedeuten, eine USB-Bibliothek sein, die diese Befehle nur senden und die Feedback-Befehle empfangen?

Die Antwort

Es hat sich alles schon getan worden und sitzt und bei rocket.codeplex.com Auch die Sachen warten ich tun (WiiMote-Verbindung) dachte!

Antwort

1

Ich kaufte gerade eine Dream Cheeky Thunder Missile Launcher, die der Nachfolger des in der Frage genannten Modells zu sein scheint (und auch für das Modell, dass rocket.codeplex.com wurde geschrieben für).

Aber ich nicht rocket.codeplex.com bekommen konnte mit meinem Modell (ja, ich verwenden, um den Konstruktor Überlastung, die ich die VendorID und DeviceID liefern kann, und ja, geliefert ich die richtigen IDs für mein Modell) zu arbeiten, so dass ich schrieb meine eigene Bibliothek.

Hier ist sie, vielleicht hilft es andere Menschen auch:
MissileSharp

+0

Does das funktioniert auf 64bit? Wenn ja, werde ich es überprüfen. – Dann

+0

Ja, ich habe eine 64-Bit-Maschine mit Win7 Home Premium, und es funktioniert dort. –

+0

Als Antwort markiert, da sie jetzt relevanter ist. Entschuldigung @Nick – Dann

2

Es sieht aus wie schon jemand die harte Arbeit für Sie getan haben - check out Kommentar # 8 von der Link Sie auf dem Laufenden:

http://dgwilson.wordpress.com/windows-missile-launcher/#comment-2160

(Es gibt ein Fenster-DLL-Download und eine einfache API dort verwiesen wird, dass Sie können in Ihrer App verwenden.)

+0

Siehe auch Kommentar # 11 von der gleichen Website: http://rocket.codeplex.com/ – heavyd

+0

Die erste (# 8) war ein toter Link für mich, aber die zweite ... Schande über mich für das Vermissen, dass :( – Dann

1

"Retaliation" kicks ass ... wirkt wie ein Zauber und es ist super einfach zu modifizieren und zu laufen zu bekommen ...

https://github.com/codedance/Retaliation

benötigen Sie zum Download und einen USB-Bibliothek Zugriff auf die Sprache Python installieren es http://sourceforge.net/apps/trac/libusb-win32/wiki

zu arbeiten

Mit diesem Programm installieren Sie den Filtertreiber, damit Sie alles erfassen können, was über diesen USB-Port gesendet wird, merken Sie sich, welcher nur funktioniert, wenn Sie ihn wieder an diesem bestimmten Port anschließen ...

danach rate realiation.py und genieße =)

Ich habe einige Änderungen an meiner realiation.py vorgenommen, da ich ein altes Modell von Raketenwerfer habe, es kommt nicht mit der "load sequence" ohne zu feuern ...

elif command == "prefire": 
    send_cmd(FIRE) 
    time.sleep(4.5) 
    send_cmd(STOP) 
elif command == "firewithprefire": 
    send_cmd(FIRE) 
    time.sleep(.5) 
    send_cmd(STOP) 

der zweite Befehl, feuert nach "Laden", so unverdächtige Opfer hören nicht die Lade Sou nd, da es "vorgeladen" war, nur der Klick und die Rakete fliegen ...

auch, mit der alten Version des Raketenwerfers, können Sie Werte, die zu hoch sind auf dem Befehl verschieben und verschieben Raketenwerfer wird versuchen, es zu tun, scheint neuere Versionen stoppen die Basis nach einigen Spots gehen, ältere Version auch, aber nur wenn es den Maximalwert erreicht, so Senden Bewegung (2000000, links) wird es den ganzen Weg gehen links und dann versuchen, nach links gehen zu halten, im Grunde die Gänge zu brechen, aber wenn es schon bei dem max links ist, wird es den Befehl ignorieren, so modifizierte ich die Bewegung in etwa so:

def send_move(cmd, duration_ms): 
    secs = (duration_ms/1000.0) 
    for x in range(0, int(secs)): 
     send_cmd(cmd) 
     time.sleep(1) 
     send_cmd(STOP) 

könnte dies scheint schrecklich, aber Nur so kann man sicher sein, dass es nicht übergeht er Max-Wert, wenn Sie einen Fahrbefehl senden, speziell, wenn die „Park“ Befehl, die den Launcher auf die 0,0-Position bewegt ...

Hoffnung das jemand hilft =)

prost