upm
0.5.1
Sensor/Actuator repository for libmraa (v0.9.1)
|
API for the Wii* Nunchuk controller. More...
UPM module for the Wii Nunchuk controller. This module was tested with Wii Nunchuk connected to I2C via a Grove Wii Nunchuk adapter.
See http://wiibrew.org/wiki/Wiimote/Extension_Controllers and http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck for more details on the controller and its protocol.
A warning for the Grove Wii Nunchuk adapter: it has 2 traces on one side, and 3 traces on the other. Do not match these up with the Nunchuk connector's traces. The connector's 'Grove' should be on the same side as the Grove interface socket on the adapter.
Public Member Functions | |
NUNCHUCK (int bus, uint8_t addr=NUNCHUCK_I2C_ADDR) | |
~NUNCHUCK () | |
bool | writeByte (uint8_t reg, uint8_t byte) |
int | readBytes (uint8_t reg, uint8_t *buffer, int len) |
bool | init () |
void | update () |
Data Fields | |
int | stickX |
int | stickY |
int | accelX |
int | accelY |
int | accelZ |
bool | buttonC |
bool | buttonZ |
NUNCHUCK | ( | int | bus, |
uint8_t | addr = NUNCHUCK_I2C_ADDR |
||
) |
NUNCHUCK constructor
bus | I2C bus to use |
addr | I2C address to use |
bool writeByte | ( | uint8_t | reg, |
uint8_t | byte | ||
) |
Writes value(s) into registers
reg | Register location to start writing into |
byte | Byte to write |
int readBytes | ( | uint8_t | reg, |
uint8_t * | buffer, | ||
int | len | ||
) |
Reads value(s) from registers
reg | Register location to start reading from |
buffer | Buffer for data storage |
len | Number of bytes to read |
bool init | ( | ) |
Initializes the controller. Here, we disable encryption after delaying for a time to ensure the controller is ready.
void update | ( | void | ) |
Reads and updates the current state of the controller.
int stickX |
Current analog stick X position
int stickY |
Current analog stick Y position
int accelX |
Current accelerometer X value
int accelY |
Current accelerometer Y value
int accelZ |
Current accelerometer Z value
bool buttonC |
Button C pressed?
bool buttonZ |
Button Z pressed?