Funkeys: Unterschied zwischen den Versionen
HKay (Diskussion | Beiträge) (Init) |
HKay (Diskussion | Beiträge) K (It now project it) |
||
Zeile 40: | Zeile 40: | ||
==Treiber== |
==Treiber== |
||
[[Media:Funkeyd-0.0.1.zip|Linux treiber download]] |
[[Media:Funkeyd-0.0.1.zip|Linux treiber download]] |
||
[[Category:Projekt]] |
Version vom 27. Januar 2011, 15:16 Uhr
U.B. Funkeys ist ein Computerspiel fuer Kinder, welches auf die Sammelleidenschaft der Spieler abziehlt. Der Spieler setzt Figuren in den mitgelieferten USB-Leser und ist dann abhaengig von der Figur im stande entsprechende Abschnitte der Spielwelt zu betreten. Hier werde ich die Entwicklung eines einfachen Linuxtreibers auf basis von libUSB-1.0 beschreiben.
Funktionsweise
Der Funkey-reader ist im grunde ein mehrkanal Widerstandsmessgeraet. Die 5 Kontakte am Fusz jeder Funkey-Figur sind mit einem Widerstandsnetzwerk im Inneren der Figur verbunden. Diese misst der Funkey-Reader und sendet sie an das Spiel.
Protokoll
Man kann hier nicht wirklich von einem Protokoll sprechen. Nach einem Initialen Lesevorgang von 4 bytes sendet das Geraet bei jeder Widerstandsaenderung einen neuen Datensatz von 7 byte. Es wird mindestens alle 10 Sekunden ein Datensatz uebertragen. Da beim Einsetzen einer Figur die Kontakte nicht sofort vollstaendig schlieszen wird eine Reide von falschen Datensaetzen an das Spiel gesedet.
Die Nutz-Daten sind wie folgt aufgebaut:
- 5 byte: Messdaten
- 1 byte: ID der figur(?)
- 1 byte: 0x00
Beispiel: [0x78][0x8C][0x11][0xCE][0x99][0xCD][0x00]
Geraet
- USB-Reader
- vendor id: 0x0e4c
- vendor string: Radica Games, Ltd
- product id: 0x7288
- product string: Mega Byte
- endpoint: 0x81
Todo
- Unterstuetzung fuer mehr als einen Funkey-Reader gleichzeitig.
- Nutzen finden