Difference between revisions of "Protocol decoder:Nunchuk"

From sigrok
Jump to navigation Jump to search
m
m
 
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:
| name            = Nintendo Wii Nunchuk
| name            = Nintendo Wii Nunchuk
| description    = Nintendo Wii Nunchuk controller
| description    = Nintendo Wii Nunchuk controller
| status          = <span style="background-color: lime">supported</span>
| status          = supported
| license        = GPLv2+
| license        = GPLv2+
| source_code_dir = nunchuk
| source_code_dir = nunchuk
Line 12: Line 12:
| optional_probes = &mdash;
| optional_probes = &mdash;
| options        = &mdash;
| options        = &mdash;
| annotations    = Text (verbose), Text, Warnings
}}
}}


Line 18: Line 17:


== Hardware ==
== Hardware ==
TODO.


=== Wii Nunchuk via Buspirate v4 ===
=== Wii Nunchuk via Buspirate v4 ===
Line 25: Line 22:
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=i2c/wii_nunchuk i2c/wii_nunchuk] directory in sigrok-dumps contains a set of example captures of I2C traffic from/to a Nintendo Wii Nunchuk game controller.
The [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=i2c/wii_nunchuk i2c/wii_nunchuk] directory in sigrok-dumps contains a set of example captures of I2C traffic from/to a Nintendo Wii Nunchuk game controller.


The logic analyzer used was a [[Saleae Logic]] (at 1MHz). It is probing the Wii Nunchuk that is connected to a [[Dangerous Prototypes Buspirate]] (v4) that is used as I2C master to talk to the Nunchuk controller.
The logic analyzer used was a [[Saleae Logic]] (at 1MHz). It is probing the Wii Nunchuk that is connected to a [[Dangerous Prototypes Buspirate]] (v4) that is used as I²C master to talk to the Nunchuk controller.


'''Probe setup:'''
'''Probe setup:'''
Line 32: Line 29:
|-
|-
!Probe
!Probe
!I2C pin
!I²C pin


|-
|-
Line 55: Line 52:
File:Wii nunchuk probe setup.jpg|<small>Probe setup</small>
File:Wii nunchuk probe setup.jpg|<small>Probe setup</small>
File:Wii nunchuk probing.jpg|<small>Probing</small>
File:Wii nunchuk probing.jpg|<small>Probing</small>
File:PulseView Nunchuk.png|<small>PulseView decoding Nunchuk and I²C</small>
</gallery>
</gallery>


== Protocol ==
== Protocol ==


TODO: Detailed protocol description.
The protocol is layered on top of [[Protocol decoder:i2c|I²C]]. See [http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck#Data_Format wiibrew.org] for a detailed description of the commands and registers.


== Resources ==
== Resources ==


TODO.
* [http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck wiibrew.org: Nunchuck]


[[Category:Protocol decoder]]
[[Category:Protocol decoder]]
[[Category:I2C]]
[[Category:I2C]]

Latest revision as of 00:04, 3 April 2015

nunchuk
Wii nunchuk device.jpg
Name Nintendo Wii Nunchuk
Description Nintendo Wii Nunchuk controller
Status supported
License GPLv2+
Source code decoders/nunchuk
Input i2c
Output nunchuk
Probes
Optional probes
Options

The nunchuk protocol decoder supports the Nintendo Wii Nunchuk protocol.

Hardware

Wii Nunchuk via Buspirate v4

The i2c/wii_nunchuk directory in sigrok-dumps contains a set of example captures of I2C traffic from/to a Nintendo Wii Nunchuk game controller.

The logic analyzer used was a Saleae Logic (at 1MHz). It is probing the Wii Nunchuk that is connected to a Dangerous Prototypes Buspirate (v4) that is used as I²C master to talk to the Nunchuk controller.

Probe setup:

Probe I²C pin
3 (red) SCL
7 (blue) SDA

Photos:

Protocol

The protocol is layered on top of I²C. See wiibrew.org for a detailed description of the commands and registers.

Resources