Overview

Driver for a Nintendo Wii extension controllers.

Resources

All correct at time of writing, but as always, manufacturers love to move things around on their website.

Protocol information

The Nunchuk protocol information is found here:

http://wiibrew.org/wiki/Classic_Controller#Data_Format_.28Nunchuk.29

The Classic Controller protocol information is found here:

http://wiibrew.org/wiki/Classic_Controller#Data_Format_.28Classic_Controller.29

Additional information available here:

http://wiibrew.org/wiki/Wiimote
http://wiire.org/Talk:Wii/protocols/wiimote_bus

Test hardware

This software was tested on a SolderCore with a SenseCore and Nunchuk adapter:

http://www.soldercore.com/

It was also tested using a Protoshield and WiiChuck adapter from Sparkfun:

http://www.sparkfun.com/commerce/product_info.php?products_id=9281

API Summary

Classic
WII_CLASSIC_REPORT_t Classic controller status report structure
wii_classic_sample Sample joystick, button, and trigger state
Nunchuk
WII_NUNCHUK_REPORT_t Nunchuk controller status report structure
wii_nunchuk_accelerometer_interface Create abstract accelerometer interface
wii_nunchuk_sample Sample accelerometer, joystick, and button state
Initialization
wii_extension_controller_initialize Initialize extension controller
Controller
wii_extension_controller_read_memory Read extension controller memory
wii_extension_controller_write_memory_byte Write extension controller memory