Gamecube Controller Sniffer: Unterschied zwischen den Versionen

Aus bytewerk-Wiki
Zur Navigation springen Zur Suche springen
(Init)
 
(neuer ansatz mit STM32)
Zeile 14: Zeile 14:


==Ansatz==
==Ansatz==
Ein Microcontroller liest den Bus des Controllers zur Wii mit. Die Daten werden dann ueber eine serielle Verbindung zu einem FTDI-Chip ubertragen, der auf USB umsetzt. Auf dem PC uebernimmt dann Software den Rest.
;2013-05-26: Ein Microcontroller liest den Bus des Controllers zur Wii mit. Die Daten werden dann ueber eine serielle Verbindung zu einem FTDI-Chip ubertragen, der auf USB umsetzt. Auf dem PC uebernimmt dann Software den Rest.
;2013-06-09: Leider reichen 16MHz CPU-Takt nicht aus um das Signal des Controllers zuverlaessig lesen zu koennen. Daher wird jetzt ein evaluations Board mit einer STM32F107 cpu benutzt, welches direkt USB sprechen soll. Mit 72MHz sollte es auch schnell genug sein.





==Probleme==
==Probleme==
Das USB example von LibOpenCM3 ist veraltet und laeuft nichtmehr auf der referenz hardware.
Der Bus ist sehr schnell. 4 us fuer 1 Bit wobei man das verhaeltnis von high und low pegeln in einem Bit messen muss. Das verhaeltnis ist immer 1:4. Einen 1us Puls zu messen erfordert
Das kabel hat einen Wackelkontakt und erzeugt auf ungeklaerte weise bitfehler die allerdings auf dem Oszilloskop wie ein gutes Signal aussehen(widerspruch!).




Zeile 24: Zeile 27:
==Status==
==Status==
* Bus Protokoll verifiziert.
* Bus Protokoll verifiziert.
* USB wird auf dem OLIMEX stm32-h107 evalboard in betrieb genommen
* Der CAN2USB converter kann als hardware fuer dieses Projekt dienen.





Version vom 9. Juni 2013, 16:19 Uhr

Ziel

Ein PC soll in der Lage sein die Tasteneingaben auf einem Gamecube controller zu lesen. Gleichzeitig soll jedoch auch die Wii/Gamecube in der Lage sein mit dem controller zu sprechen. Diese Informationen sollen dann in einer GUI visualisiert werden. Schlussendlich werden Speedrunner den Aufbau in livestreams verwenden.

  • Erkennen welche tasten gedrueckt wurden
  • Erkeinnen wie schnell tasten gedrueckt werden (mashing meter)
  • Visuelles feedback wie zeitgenau bestimmte Eingaberhythmen eingehalten werden.

Optisches Vorbild: Der PS3 Controller visualiser


Verantwortlich


Ansatz

2013-05-26
Ein Microcontroller liest den Bus des Controllers zur Wii mit. Die Daten werden dann ueber eine serielle Verbindung zu einem FTDI-Chip ubertragen, der auf USB umsetzt. Auf dem PC uebernimmt dann Software den Rest.
2013-06-09
Leider reichen 16MHz CPU-Takt nicht aus um das Signal des Controllers zuverlaessig lesen zu koennen. Daher wird jetzt ein evaluations Board mit einer STM32F107 cpu benutzt, welches direkt USB sprechen soll. Mit 72MHz sollte es auch schnell genug sein.


Probleme

Das USB example von LibOpenCM3 ist veraltet und laeuft nichtmehr auf der referenz hardware. Das kabel hat einen Wackelkontakt und erzeugt auf ungeklaerte weise bitfehler die allerdings auf dem Oszilloskop wie ein gutes Signal aussehen(widerspruch!).


Status

  • Bus Protokoll verifiziert.
  • USB wird auf dem OLIMEX stm32-h107 evalboard in betrieb genommen


ToDo

  • GUI Software schreiben
  • Firmware schreiben


Artikel

Das Controller Protokoll

Files