The MGC3130 is the world’s first electrical-field (E-field) based three-dimensional (3D) tracking and gesture controller
Dependents: NucleoMGC3130 i2c_master
Gesture/GestureInfo.h@1:621c4e9238ef, 2015-10-07 (annotated)
- Committer:
- yangcq88517
- Date:
- Wed Oct 07 20:43:39 2015 +0000
- Revision:
- 1:621c4e9238ef
- Child:
- 2:c7d984193741
add new functions
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yangcq88517 | 1:621c4e9238ef | 1 | #ifndef UK_AC_HERTS_SMARTLAB_MGC3130_GestuerInfo |
yangcq88517 | 1:621c4e9238ef | 2 | #define UK_AC_HERTS_SMARTLAB_MGC3130_GestuerInfo |
yangcq88517 | 1:621c4e9238ef | 3 | |
yangcq88517 | 1:621c4e9238ef | 4 | class GestureInfo |
yangcq88517 | 1:621c4e9238ef | 5 | { |
yangcq88517 | 1:621c4e9238ef | 6 | private: |
yangcq88517 | 1:621c4e9238ef | 7 | char * data; |
yangcq88517 | 1:621c4e9238ef | 8 | public: |
yangcq88517 | 1:621c4e9238ef | 9 | |
yangcq88517 | 1:621c4e9238ef | 10 | void set(char * value) { |
yangcq88517 | 1:621c4e9238ef | 11 | data = value; |
yangcq88517 | 1:621c4e9238ef | 12 | } |
yangcq88517 | 1:621c4e9238ef | 13 | |
yangcq88517 | 1:621c4e9238ef | 14 | /* |
yangcq88517 | 1:621c4e9238ef | 15 | NoGesture = 0, |
yangcq88517 | 1:621c4e9238ef | 16 | GarbageModel = 1, |
yangcq88517 | 1:621c4e9238ef | 17 | FlickWestToEast = 2, |
yangcq88517 | 1:621c4e9238ef | 18 | FlickEastToWest = 3, |
yangcq88517 | 1:621c4e9238ef | 19 | FlickSouthToNorth = 4, |
yangcq88517 | 1:621c4e9238ef | 20 | FlickNorthToSouth = 5, |
yangcq88517 | 1:621c4e9238ef | 21 | CircleClockwise = 6, //only active if AirWheel disabled |
yangcq88517 | 1:621c4e9238ef | 22 | CircleCounterclockwise = 7, //only active if AirWheel disabled |
yangcq88517 | 1:621c4e9238ef | 23 | WaveX = 8, |
yangcq88517 | 1:621c4e9238ef | 24 | WaveY = 9, |
yangcq88517 | 1:621c4e9238ef | 25 | Hold= 64, |
yangcq88517 | 1:621c4e9238ef | 26 | Presence = 73, |
yangcq88517 | 1:621c4e9238ef | 27 | EdgeFlickWestToEast = 65, |
yangcq88517 | 1:621c4e9238ef | 28 | EdgeFlickEastToWest = 66, |
yangcq88517 | 1:621c4e9238ef | 29 | EdgeFlickSouthToNorth = 67, |
yangcq88517 | 1:621c4e9238ef | 30 | EdgeFlickNorthToSouth = 68, |
yangcq88517 | 1:621c4e9238ef | 31 | DoubleFlickWestToEast = 69, |
yangcq88517 | 1:621c4e9238ef | 32 | DoubleFlickEastToWest = 70, |
yangcq88517 | 1:621c4e9238ef | 33 | DoubleFlickSouthToNorth = 71, |
yangcq88517 | 1:621c4e9238ef | 34 | DoubleFlickNorthToSouth = 72, |
yangcq88517 | 1:621c4e9238ef | 35 | */ |
yangcq88517 | 1:621c4e9238ef | 36 | int getRecognizedGesture() { |
yangcq88517 | 1:621c4e9238ef | 37 | return data[0]; |
yangcq88517 | 1:621c4e9238ef | 38 | } |
yangcq88517 | 1:621c4e9238ef | 39 | |
yangcq88517 | 1:621c4e9238ef | 40 | /* |
yangcq88517 | 1:621c4e9238ef | 41 | GarbageModel = 0, |
yangcq88517 | 1:621c4e9238ef | 42 | FlickGesture = 1, |
yangcq88517 | 1:621c4e9238ef | 43 | CirculaGesture = 2, |
yangcq88517 | 1:621c4e9238ef | 44 | */ |
yangcq88517 | 1:621c4e9238ef | 45 | int getGestureClass() { |
yangcq88517 | 1:621c4e9238ef | 46 | return (data[1] & 0xF0) >> 4; |
yangcq88517 | 1:621c4e9238ef | 47 | } |
yangcq88517 | 1:621c4e9238ef | 48 | |
yangcq88517 | 1:621c4e9238ef | 49 | //Edge flick – is ‘1’ if flick gesture is classified as edge flick |
yangcq88517 | 1:621c4e9238ef | 50 | bool isEdgeFlick() { |
yangcq88517 | 1:621c4e9238ef | 51 | return (data[2] & 0x01) == 0x01? true: false; |
yangcq88517 | 1:621c4e9238ef | 52 | } |
yangcq88517 | 1:621c4e9238ef | 53 | |
yangcq88517 | 1:621c4e9238ef | 54 | bool isHandPresence() { |
yangcq88517 | 1:621c4e9238ef | 55 | return (data[3] & 0x08) == 0x08? true: false; |
yangcq88517 | 1:621c4e9238ef | 56 | } |
yangcq88517 | 1:621c4e9238ef | 57 | |
yangcq88517 | 1:621c4e9238ef | 58 | bool isHandHold() { |
yangcq88517 | 1:621c4e9238ef | 59 | return (data[3] & 0x10) == 0x10? true: false; |
yangcq88517 | 1:621c4e9238ef | 60 | } |
yangcq88517 | 1:621c4e9238ef | 61 | |
yangcq88517 | 1:621c4e9238ef | 62 | bool isHandInside() { |
yangcq88517 | 1:621c4e9238ef | 63 | return (data[3] & 0x20) == 0x20? true: false; |
yangcq88517 | 1:621c4e9238ef | 64 | } |
yangcq88517 | 1:621c4e9238ef | 65 | |
yangcq88517 | 1:621c4e9238ef | 66 | bool isRecognitionInProcess() { |
yangcq88517 | 1:621c4e9238ef | 67 | return (data[3] & 0x80) == 0x80? true: false; |
yangcq88517 | 1:621c4e9238ef | 68 | } |
yangcq88517 | 1:621c4e9238ef | 69 | }; |
yangcq88517 | 1:621c4e9238ef | 70 | |
yangcq88517 | 1:621c4e9238ef | 71 | #endif |