Hallo an alle die das lesen, ich habe hier das USB Starter Kit II von Microchip vor mir liegen. Alles installiert usw., funktioniert auch alles. Jetzt wollte ich die HDI Funktion des Kits ausprobieren. Hab das Beispielprogramm, welches eine Maus emuliert geöffnet, compaliert, ausgeführt... und es funktioniert. Soweit so gut! Jetzt will ich aber selbst eine Tastatur (zumindest ein, zwei Tasten) simulieren. Komm da aber nicht wirklich voran. Irgendwie hab ich das Gefühl, dass mir Microchip verheimlichen will wie man Code für das Starter Kit schreibt... Komm aus der Renesas-Ecke und vermisse bei Microchip ein Dokument in dem es nur um Softwaregeschichten geht... Kann mir jemand sagen wo ich Informationen für die HDI Funktionalität herbekomme? Oder steht da was im Datenblatt und ich bin nur zu blöd um es zu finden? Grüße Minoso
Minoso schrieb: > Kann mir jemand sagen wo ich Informationen für die HDI Funktionalität > herbekomme? [1] www.usb.org (USB 2.0 Spec + HID usage tables) [2] USB 2.0 Handbuch für Entwickler Gruß Oliver
Danke Oliver, der HID usage Table hilft mir schon mal ein ganzes Stück weiter!
Der usage Table hat mir zwar einiges geholfen, jedoch komm ich trotzdem
nicht wirklich weiter...
Gibt es von Microchip kein Beispielprojekt in dem eine Tastatur
simuliert wird? Ich finde zumindest keines...
Habe den Class specific descriptor - HID mouse des Beispielprojektes wie
folgt umgeschrieben.
0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
0x09, 0x01, // USAGE (Consumer Control)
0xa1, 0x01, // COLLECTION (Application)
0x05, 0x07, // USAGE_PAGE (Keyboard)
0x19, 0x00, // USAGE_MINIMUM (Reserved (no
event indicated))
0x29, 0x65, // USAGE_MAXIMUM (Keyboard
Application)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x65, // LOGICAL_MAXIMUM (101)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x01, // REPORT_COUNT (1)
0x81, 0x00, // INPUT (Data,Ary,Abs)
0x09, 0x00, // USAGE (Unassigned)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x00, // REPORT_COUNT (0)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0 // END_COLLECTION
bin ich da schonmal auf dem richtigen weg?
Zusätzlich habe ich noch die Produkt ID geändert, mir ergibt sich zwar
nicht warum man diese ändern soll, aber durch Recherche mit Herrn Google
bin ich zu dem Ergebnis gekommen.
Was mir auch noch nicht klar ist, ist die Längenberechnung des
HID_RPT01_SIZE (Im Beispielcode mit 50, aber warum?)
Was ich jetzt vorhabe ist:
Die Funktion des Beispielprojektes Emulate_Mouse() will ich benutzen um,
bei Tastendruck auf dem Starter Kit, nicht den Mauszeiger im Kreis zu
wirbeln, sonder eine Tastaturtaste zu simulieren.
Kann mir da jemand weiterhelfen? Muss ich, außer der Product ID, im
Device Descriptor zusätlich Änderungen durchführen? Und wie sieht's mit
dem Configuration Descriptor aus?
Grüße Minoso
Zusätzlich hab ich noch ein anderes Problem. Und zwar bootet mein Rechner des öfteren neu, wenn ich mit dem Starter Kit arbeitet. Ohne irgendwelche Fehlermeldungen oder sonstige Anzeichen... Kennt jemand das Problem?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.