Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
WiiChuck.h@1:f04b559e06b3, 2011-02-02 (annotated)
- 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?
User | Revision | Line number | New 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 |