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.