Forum: Mikrocontroller und Digitale Elektronik AVR Joystickprogrammierung


von Aeronaut (Gast)


Angehängte Dateien:

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 User
von Barny (Gast)


Lesenswert?

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

von Karl H. (kbuchegg)


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.

von Aeronaut (Gast)


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.

von Aeronaut (Gast)


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

von Aeronaut (Gast)


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

von Sascha W. (sascha-w)


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

von Hans M. (gast4711)


Lesenswert?

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

Weiß jemand Rat?

von Hans M. (gast4711)


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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.