www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Joystickprogrammierung


Autor: Aeronaut (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Da ich von assembler Programmierung bislang 0 Ahnung habe bräuchte ich 
eure Hilfe.
Es geht um einen selbstgebauten USB Joystick der mit einem Atmega 8 
aufgebaut ist, funktioniert soweit auch, nur möchte ich gerne eine Achse 
und auch den Namen des Joysticks ändern.
Wo und wie in der asm.Datei kann ich das ändern, die "Slider" Achse soll 
in R-Achse umbenannt werden.
Es handelt sich um ein Open Source Projekt, deshalb darf beliebig daran 
herumgebastelt werden.

Ich dachte eigentlich der Name des Joysticks wird unter 
"DevNameStringDescriptor" angegeben, dort habe ich versucht einen neuen 
Namen einzugeben, aber es erscheint nach dem Flashen immer noch "MJoy" 
unter den Gamecontrollern.
Ich benutze AVR Studio 4,und PonyProg zum Flashen

Danke,
Gruß,
Thomas

: Verschoben durch Moderator
Autor: Barny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch's doch einmal mit dem V-USB an.
Damit kannst du das Selbe in C machen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aeronaut schrieb:

> Ich dachte eigentlich der Name des Joysticks wird unter
> "DevNameStringDescriptor" angegeben, dort habe ich versucht einen neuen
> Namen einzugeben,

Das klingt ja erst mal nicht schlecht.

Was hast du dann weiter gemacht?

Du musst das geänderte Programm noch assemblieren, ehe du es in den 
Controller flasht.

Autor: Aeronaut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das Problem selbstständig gelöst zumindest die Achsenzuordnung.
Falls das jemanden interessiert.

aus:

.db 0x09,0x36        ;Usage (Slider) - OK
.db 0x09,0x37        ;Usage (Dial) - OK

wird:

.db 0x09,0x32        ;Usage (Slider) - OK
.db 0x09,0x33        ;Usage (Dial) - OK

damit wird aus Slider/Dial eine Z und X-Rotation Achse,diese werden von 
der Software erkannt, und nicht nur im Gamecontroller Menü.

Was diese Hex Codes bedeuten weiß ich nicht, anscheinend hat Windows 
ganz spezielle Codes für Gamecontroller die nicht nach belieben geändert 
werden können.

Habe aber leider nirgends eine Liste dafür gefunden.

Autor: Aeronaut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl Heinz und Barney,

Danke für eure Antworten !

Naj ja von C hab ich auch keine Ahnung.

Nachdem ich den Namen eingegeben habe auf "Build" gedrückt wird auch 
ohne Fehlermeldung assembiliert, danach mit PonyProg geflasht, hat auch 
funktioniert aber es erscheint immer noch "MJoy" im Gamecontroller Menü.

Ich glaub fast der Name wird auch irgentwo als Hex  angegeben.

Ich bin aber froh das jetzt wenigstens die Achsen funktionieren, mit dem 
Namen kann ich notfalls leben, vielleicht komm ich ja noch drauf wo das 
zu ändern ist.

Gruß,
Thomas

Autor: Aeronaut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl Heinz und Barny

Danke für eure Antworten !

Na ja von C hab ich auch keine Ahnung.

Also nach der Änderung bin ich auf "Build" wurde ohne Fehlermeldung 
assembiliert, danch mit PonyProg geflasht, war auch OK, aber es 
erscheint immer noch "MJoy" im Gamecontroller Menü.
Das Ganze habe ich öfters versucht.

Ich glaub fast der Name wird auch irgentwo als Hex Code angegeben.

Ich bin froh das jetzt zumindest die Achsen funktioniern, mit dem Namen 
kann ich notfalls leben, vielleicht komm ich ja noch drauf wo das zu 
ändern ist.

Gruß,
Thomas

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann es vielleicht sein, das Windows bei einem ihm bekannten Gerät (war 
ja schon mal angeschlossen) den Namen nicht aktualisiert!? Die Zurodnung 
geschieht ja über die PID/VID und den USB-PORT. Lösche das Ding doch mal 
im Gerätemanager und lass ihn anschließend wieder neu erkennen.

Sascha

Autor: Hans Mustermann (gast4711)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe auch versucht MJoy.asm zu assemblieren, erhalt eaber immer:
MJoy.asm(1718) : Error   : Unknown mnemonic/macro: 
composereportdescriptor

Weiß jemand Rat?

Autor: Hans Mustermann (gast4711)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da war ein ; zuviel im asm-File (zu spät zum Löschen meines 
Beitrages)...

Kann aber kein Assembler und auch wenn das Assemblieren jetzt klappt, 
wird das Anpassen wohl zu schwer für mich.

Kennt daher jemand einen Beispiellink zu MJoy für ATMEGA8 mit V-USB?

(http://mmjoy.googlecode.com/svn/wiki/trash/V_USB_EP81.rar ist ein toter 
Link)

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.