Frank Weissenborn / WiiChuck

Dependents:   WiiNunchuckTest

Committer:
FrankWeissenborn
Date:
Wed Feb 02 12:02:54 2011 +0000
Revision:
1:f04b559e06b3
Parent:
0:f442b7eb68b0
Child:
2:5737b6a16054

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
FrankWeissenborn 0:f442b7eb68b0 1 #ifndef __WIICHUCK_H
FrankWeissenborn 0:f442b7eb68b0 2 #define __WIICHUCK_H
FrankWeissenborn 0:f442b7eb68b0 3
FrankWeissenborn 0:f442b7eb68b0 4 #include "mbed.h"
FrankWeissenborn 0:f442b7eb68b0 5
FrankWeissenborn 0:f442b7eb68b0 6 #define NUNCHUCK_ADDR 0xA4 // 0x52 << 1
FrankWeissenborn 0:f442b7eb68b0 7 #define NUNCHUCK_REGADDR 0x40 //
FrankWeissenborn 0:f442b7eb68b0 8 #define NUNCHUCK_READLEN 0x06 //
FrankWeissenborn 0:f442b7eb68b0 9 #define I2C_ACK 0
FrankWeissenborn 0:f442b7eb68b0 10 #define I2C_READ_DELAY 0.01
FrankWeissenborn 0:f442b7eb68b0 11
FrankWeissenborn 0:f442b7eb68b0 12 #define Joy_X 0
FrankWeissenborn 0:f442b7eb68b0 13 #define Joy_Y 1
FrankWeissenborn 0:f442b7eb68b0 14 #define Acc_X 2
FrankWeissenborn 0:f442b7eb68b0 15 #define Acc_Y 3
FrankWeissenborn 0:f442b7eb68b0 16 #define Acc_Z 4
FrankWeissenborn 0:f442b7eb68b0 17 #define Button 5
FrankWeissenborn 0:f442b7eb68b0 18
FrankWeissenborn 1:f04b559e06b3 19 // ----------------------------------------------------------------------------
FrankWeissenborn 1:f04b559e06b3 20 // Control values
FrankWeissenborn 1:f04b559e06b3 21 // ----------------------------------------------------------------------------
FrankWeissenborn 1:f04b559e06b3 22 #define BUTTON_PREV_VALUE '1'
FrankWeissenborn 1:f04b559e06b3 23 #define BUTTON_NEXT_VALUE '2'
FrankWeissenborn 1:f04b559e06b3 24 #define BUTTON_OK_VALUE '3'
FrankWeissenborn 1:f04b559e06b3 25 #define BUTTON_CANCEL_VALUE '4'
FrankWeissenborn 1:f04b559e06b3 26 #define BUTTON_RESET_VALUE 'r'
FrankWeissenborn 1:f04b559e06b3 27 #define BUTTON_VOLUME_PLUS '+'
FrankWeissenborn 1:f04b559e06b3 28 #define BUTTON_VOLUME_MINUS '-'
FrankWeissenborn 1:f04b559e06b3 29
FrankWeissenborn 1:f04b559e06b3 30 typedef void(*pt2Func)(char);
FrankWeissenborn 1:f04b559e06b3 31
FrankWeissenborn 0:f442b7eb68b0 32 class WiiChuck {
FrankWeissenborn 0:f442b7eb68b0 33 public:
FrankWeissenborn 0:f442b7eb68b0 34 bool Error;
FrankWeissenborn 0:f442b7eb68b0 35 WiiChuck(PinName data, PinName clk);
FrankWeissenborn 0:f442b7eb68b0 36 bool Read(int* joyX,int* joyY,int* accX,int* accY,int* accZ,int* buttonC,int* buttonZ);
FrankWeissenborn 1:f04b559e06b3 37 void start();
FrankWeissenborn 1:f04b559e06b3 38 void stop();
FrankWeissenborn 1:f04b559e06b3 39 void attach(pt2Func function);
FrankWeissenborn 0:f442b7eb68b0 40 private:
FrankWeissenborn 0:f442b7eb68b0 41 I2C _i2c;
FrankWeissenborn 1:f04b559e06b3 42 pt2Func _callback_input;
FrankWeissenborn 1:f04b559e06b3 43 Ticker _getValues;
FrankWeissenborn 1:f04b559e06b3 44 void getValues();
FrankWeissenborn 1:f04b559e06b3 45 int _oldC;
FrankWeissenborn 1:f04b559e06b3 46 int _oldZ;
FrankWeissenborn 0:f442b7eb68b0 47
FrankWeissenborn 0:f442b7eb68b0 48
FrankWeissenborn 0:f442b7eb68b0 49 };
FrankWeissenborn 0:f442b7eb68b0 50
FrankWeissenborn 0:f442b7eb68b0 51 #endif