AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

usb raketenwerfer software suckt...

Ein Thema von agm65 · begonnen am 2. Apr 2007 · letzter Beitrag vom 12. Okt 2008
Antwort Antwort
Seite 4 von 11   « Erste     234 56     Letzte »    
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#31

Re: usb raketenwerfer software suckt...

  Alt 2. Apr 2007, 15:44
also write lässt sich klicken...ob es schreibt weiss ich nicht...jetzt geht auch das ballern nicht mehr ? hab ich was zerstört ?
ahh jetzt gehts wieder ...aber nur schießen ..das ding bewegt sich nicht ...aber ich weiss, es muss gehen !

hab jetzt mal die ersten 3 felder jeweils mit 01 oder und ff gefüllt...es passiert nicht ;(

kann es sein , das das erste zum schießen ist und das 2te zum bewegen ?
euer Peter Porka
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#32

Re: usb raketenwerfer software suckt...

  Alt 2. Apr 2007, 15:58
Zitat von Robert Marquardt:
ReportID immer 00 oder Windows weigert sich die Daten zu schreiben.
00 01 bzw
00 FF
Die restlichen Bytes mal auf 00 lassen.
UsagesDemo sagt ja auch klar an das das zweite Device keine Feature Reports unterstuetzt. Laesst sich auf das zweite Device per "Write" schreiben?

http://scott.weston.id.au/software/pymissile/missile.py ist durchaus informativ.
Ich muss jetzt aber nach hause fahren. Weiteres heute abend nach 19:00.
hab den post nicht gelesen ..vielen dank , das du mir hilfst ich wette mit deiner hilfe machen wir da eine richtig gute software draus


lol in dem code sieht das so aus als hätte seine software mehr features als die die dabei war ..von wegen alle auf einmal feuern usw
euer Peter Porka
  Mit Zitat antworten Zitat
SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#33

Re: usb raketenwerfer software suckt...

  Alt 2. Apr 2007, 20:56
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
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#34

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 04:35
Die Nachrichten gehen direkt an den libusb-Treiber der fuer das Geraet eingerichtet wird.
USB kennt allerlei verschiedene Arten der Datenuebertragung. Die weiteren Parameter sind USB-spezifisch und machen nur Sinn auf Treiberebene.
Fuer den Zugang ueber das HID API ist das irrelevant weil die Werte festliegen und innerhalb des HID-Treibers eingefuegt werden.
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#35

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 08:26
also ich habe keine bewegung hingekriegt bis jetzt... schießen ja, drehen nein ...ich teste weiter..ich verstehe das auch nicht mit den bewegungsbytes...bei mir passiert nichts ?
euer Peter Porka
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#36

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 08:48
Ich habe mal Sourcen gesucht:
Code:
static void missile_do( missile_usb *control, int cmd )
{
    int a, b, c, d, e;

    /* Two fixed-format initiator packets appear to be required */

    if (missile_usb_sendcommand(control, 'U', 'S', 'B', 'C', 0, 0, 4, 0 ))
    {
        perror("missile_usb_sendcommand failed");
        return;
    }

    if (missile_usb_sendcommand(control, 'U', 'S', 'B', 'C', 0, 64, 2, 0 ))
    {
        perror("missile_usb_sendcommand failed");
        return;
    }

    /* Now the actual movement command! */

    a = cmd & missile_left ? 1 : 0;
    b = cmd & missile_right ? 1 : 0;
    c = cmd & missile_up ? 1 : 0;
    d = cmd & missile_down ? 1 : 0;
    e = cmd & missile_fire ? 1 : 0;
    if (missile_usb_sendcommand64(control, 0, a, b, c, d, e, 8, 8 ))
    {
        perror("missile_usb_sendcommand failed");
        return;
    }
}
Das hier sollte weiterhelfen. Erst mal werden zwei Initialisierungen geschrieben. Da dies 8 Byte sind muss es als "Set Feature" an das erste Geraet oder als "Write" and das zweite Geraet gehen. Die 64 Bytes des eigentlichen Kommandos gehen an das erste Geraet per "Write".

Die Init-Reports in Hex:
55 53 42 43 00 00 04 00
55 53 42 43 00 40 02 00

Der 64 Byte Report sollte man auch so hinkriegen. Die beiden 08 Bytes nicht vergessen.

Bitte mit SimpleHIDWrite experimentieren und hier posten ob man beide Geraete ansprechen muss oder ob es Set Feature an das erste Geraet ist (meine Wette steht auf zwei Geraete).
Sobald das klar ist, kann ich ein Delphiprogramm zur Kommunikation entwerfen.
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#37

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 09:07
also ich spreche das erste gerät an und egal was ich da per set feature hinschicke, es feuert. bei dem 2ten gerät tut sich nichts..
aber ich glaube ich verstehe das auch nicht wirklich ..kannst du mir einen screeny machen von dem (1a tool) hid mit den werten die ich eintragen soll, danke dir !
euer Peter Porka
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#38

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 09:27
Erst das zweite Geraet auswaehlen und die beiden Init-Reports per "Write" schreiben (ReportID natuerlich 00).
Das erste Geraet auswaehlen und per "Write" und ReportID 00
00 01 00 00 00 00 08 08
schreiben (die restlichen Bytes leer lassen, da sie automatisch mit 00 gefuellt werden).
Das sollte eine Bewegung nach links ausloesen.

Fuer weitere Experimente sei noch erwaehnt das man Zeilen Log-Window doppelklicken kann.

Da faellt mir gerade noch eine Optimierung fuer SimpleHIDWrite ein. Pasten von Strings mit Hex.
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#39

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 09:43
also ich habe jetzt beim 2ten das eingegeben aber es tut sich nichts.
Miniaturansicht angehängter Grafiken
screeny_732.jpg  
euer Peter Porka
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#40

Re: usb raketenwerfer software suckt...

  Alt 3. Apr 2007, 09:49
Bitte mitlesen. An das zweite Geraet sollte zweimal geschrieben werden (ReportID jeweils 00):
55 53 42 43 00 00 04 00
55 53 42 43 00 40 02 00
Im Log sollte
WR 00 55 53 42 43 00 00 04 00
WR 00 55 53 42 43 00 40 02 00
auftauchen.
Danach das erste Geraet auswaehlen und
00 01 00 00 00 00 08 08
schreiben.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 11   « Erste     234 56     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz