Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: PIC 16C745 und USB : Wie gehe ich vor ?

  Alt 29. Dez 2006, 10:52
Das ist eine Feld-Wald-und-Wiesen-Maus

Bei HID-Geraeten tauscht man Datenbloecke (Reports) aus, die kompliziert strukturiert sein koennen. Bei der Maus
Code:
   "USB Mouse" VID=$046D PID=$C00C
      UsagePage=Generic Desktop ($0001) Usage=Mouse ($0002) CollectionType=Application ($01)
         Button Feature: UsagePage=Generic Desktop ($0001) Usage=Motion Wakeup ($003C)
         UsagePage=Generic Desktop ($0001) Usage=Pointing Device ($0001) CollectionType=Physical ($00)
            Button Input Range: UsagePage=Button ($0009) 1..3
            Value Input: UsagePage=Generic Desktop ($0001) Usage=Wheel ($0038)
            Value Input: UsagePage=Generic Desktop ($0001) Usage=Y Axis ($0031)
            Value Input: UsagePage=Generic Desktop ($0001) Usage=X Axis ($0030)
sieht man das jedem Wert eine Bedeutung mitgegeben ist. Man koennte also nur den Wert fuer die Y-Achse extrahieren.

Bei deinem Device ist allerdings die Strukturierung wie vermutet nur als Byte-Array angegeben. Das nuetzt also zur Analyse nicht viel.
UsagesDemo gibt die Strukturierung genauer an. Man kann genau einen Reporttyp lesen, der 7 Bytes (Einheiten a 8 Bit) enthaelt. Gleiches gilt fuer den Report den man schreiben darf.

Zur weiteren Analyse setzt man jetzt SimpleHIDWrite ein. Den Read-Button aktivieren und am Geraet rumspielen. Damit sollte man die vom Geraet gesendeten Reports bekommne. Bei 7 Bytes sollte es nicht zu schwierig sein den Inhalt zu erraten. Pech hat man wenn das Geraet nur sendet wenn man es mit einem zu schreibenden Report aktiviert. Da sollte aber ein herzhafter Schreibbefehl mit 0-Bytes gute Chancen haben.

Oft kommuniziert das Programm ueber eine DLL mit dem Geraet. Da lohnt es sich die Namen der exportierten Funktionen herauszubekommen. Damit laesst sich auf die Strategie der Kommunikation schliessen.
  Mit Zitat antworten Zitat