http://wiki.seeed.cc/Grove-Gesture_v1.0/
PAJ7620U2.h@0:ea8f1bb16afc, 2017-12-18 (annotated)
- Committer:
- matsujirushi
- Date:
- Mon Dec 18 13:48:31 2017 +0900
- Revision:
- 0:ea8f1bb16afc
1st commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
matsujirushi |
0:ea8f1bb16afc | 1 | #pragma once |
matsujirushi |
0:ea8f1bb16afc | 2 | |
matsujirushi |
0:ea8f1bb16afc | 3 | class PAJ7620U2 { |
matsujirushi |
0:ea8f1bb16afc | 4 | |
matsujirushi |
0:ea8f1bb16afc | 5 | private: |
matsujirushi |
0:ea8f1bb16afc | 6 | I2C* _I2c; |
matsujirushi |
0:ea8f1bb16afc | 7 | uint8_t _SlaveAddress; |
matsujirushi |
0:ea8f1bb16afc | 8 | bool _Initialized; |
matsujirushi |
0:ea8f1bb16afc | 9 | |
matsujirushi |
0:ea8f1bb16afc | 10 | struct RegisterAddressValue { |
matsujirushi |
0:ea8f1bb16afc | 11 | uint8_t Address; |
matsujirushi |
0:ea8f1bb16afc | 12 | uint8_t Value; |
matsujirushi |
0:ea8f1bb16afc | 13 | }; |
matsujirushi |
0:ea8f1bb16afc | 14 | static const RegisterAddressValue _InitRegisterArray[]; |
matsujirushi |
0:ea8f1bb16afc | 15 | |
matsujirushi |
0:ea8f1bb16afc | 16 | private: |
matsujirushi |
0:ea8f1bb16afc | 17 | bool RegisterWrite(uint8_t address, uint8_t value); |
matsujirushi |
0:ea8f1bb16afc | 18 | bool RegisterWrite(uint8_t address, const uint8_t* data, int dataSize); |
matsujirushi |
0:ea8f1bb16afc | 19 | bool RegisterRead(uint8_t address, uint8_t* value); |
matsujirushi |
0:ea8f1bb16afc | 20 | bool RegisterRead(uint8_t address, uint8_t* data, int dataSize); |
matsujirushi |
0:ea8f1bb16afc | 21 | |
matsujirushi |
0:ea8f1bb16afc | 22 | public: |
matsujirushi |
0:ea8f1bb16afc | 23 | // enum GestureFlag : uint16_t { // [Warning] scoped enums only available with -std=c++11 or -std=gnu++11 |
matsujirushi |
0:ea8f1bb16afc | 24 | enum GestureFlag { |
matsujirushi |
0:ea8f1bb16afc | 25 | GESTURE_NONE = 0x0000, |
matsujirushi |
0:ea8f1bb16afc | 26 | GESTURE_RIGHT = 0x0001, |
matsujirushi |
0:ea8f1bb16afc | 27 | GESTURE_LEFT = 0x0002, |
matsujirushi |
0:ea8f1bb16afc | 28 | GESTURE_UP = 0x0004, |
matsujirushi |
0:ea8f1bb16afc | 29 | GESTURE_DOWN = 0x0008, |
matsujirushi |
0:ea8f1bb16afc | 30 | GESTURE_FORWARD = 0x0010, |
matsujirushi |
0:ea8f1bb16afc | 31 | GESTURE_BACKWARD = 0x0020, |
matsujirushi |
0:ea8f1bb16afc | 32 | GESTURE_CLOCKWISE = 0x0040, |
matsujirushi |
0:ea8f1bb16afc | 33 | GESTURE_COUNTER_CLOCKWISE = 0x0080, |
matsujirushi |
0:ea8f1bb16afc | 34 | GESTURE_WAVE = 0x0100, |
matsujirushi |
0:ea8f1bb16afc | 35 | }; |
matsujirushi |
0:ea8f1bb16afc | 36 | |
matsujirushi |
0:ea8f1bb16afc | 37 | public: |
matsujirushi |
0:ea8f1bb16afc | 38 | PAJ7620U2(I2C* i2c, uint8_t address); |
matsujirushi |
0:ea8f1bb16afc | 39 | bool Init(); |
matsujirushi |
0:ea8f1bb16afc | 40 | bool GetGesture(GestureFlag* flag); |
matsujirushi |
0:ea8f1bb16afc | 41 | |
matsujirushi |
0:ea8f1bb16afc | 42 | }; |