CHENGQI YANG / MGC3130

Dependencies:   BufferedArray

Dependents:   NucleoMGC3130 i2c_master

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers GestureProcessing.h Source File

GestureProcessing.h

00001 #ifndef UK_AC_HERTS_SMARTLAB_MGC3130_GestureProcessing
00002 #define UK_AC_HERTS_SMARTLAB_MGC3130_GestureProcessing
00003 
00004 #include "Parameter.h"
00005 
00006 /**
00007 *This parameter enables the in-built gestures. Disabling one gesture will increase the
00008 *recognition probability of the others.
00009 *If a bit in Argument0 is set To ‘1’, the respective Gesture will be enabled. If a bit in
00010 *Argument0 is set To ‘0’, the respective Gesture will be disabled.
00011 */
00012 class GestureProcessing: public Parameter
00013 {
00014 public:
00015     GestureProcessing() {
00016         setRuntimeParameterID(0x85);
00017     }
00018 
00019     void enableGarbageModel(bool enable) {
00020         if (enable)
00021             value[4] |= 0x01;
00022         else value[4] &= 0xFE;
00023         value[8] |= 0x01;
00024     }
00025 
00026     void enableFlickWesToEast(bool enable) {
00027         if (enable)
00028             value[4] |= 0x02;
00029         else value[4] &= 0xFD;
00030         value[8] |= 0x02;
00031     }
00032 
00033     void enableFlickEastToWest(bool enable) {
00034         if (enable)
00035             value[4] |= 0x04;
00036         else value[4] &= 0xFB;
00037         value[8] |= 0x04;
00038     }
00039 
00040     void enableFlickSouthToNorth(bool enable) {
00041         if (enable)
00042             value[4] |= 0x08;
00043         else value[4] &= 0xF7;
00044         value[8] |= 0x08;
00045     }
00046 
00047     void enableFlickNorthToSouth(bool enable) {
00048         if (enable)
00049             value[4] |= 0x10;
00050         else value[4] &= 0xEF;
00051         value[8] |= 0x10;
00052     }
00053 
00054     void enableCircleClockwise(bool enable) {
00055         if (enable)
00056             value[4] |= 0x20;
00057         else value[4] &= 0xDF;
00058         value[8] |= 0x20;
00059     }
00060 
00061     void enableCircleCounterclockwise(bool enable) {
00062         if (enable)
00063             value[4] |= 0x40;
00064         else value[4] &= 0xBF;
00065         value[8] |= 0x40;
00066     }
00067 
00068     void enableWaveX(bool enable) {
00069         if (enable)
00070             value[4] |= 0x80;
00071         else value[4] &= 0x7F;
00072         value[8] |= 0x80;
00073     }
00074 
00075     void enableWaveY(bool enable) {
00076         if (enable)
00077             value[5] |= 0x01;
00078         else value[5] &= 0xFE;
00079         value[9] |= 0x01;
00080     }
00081 
00082     void enableHoldGesture(bool enable) {
00083         if (enable)
00084             value[6] |= 0x40;
00085         else value[6] &= 0xBF;
00086         value[10] |= 0x40;
00087     }
00088 
00089     void enablePresenceGesture(bool enable) {
00090         if (enable)
00091             value[6] |= 0x80;
00092         else value[6] &= 0x7F;
00093         value[10] |= 0x80;
00094     }
00095 
00096     void enableEdgeFlickWestToEast(bool enable) {
00097         if (enable)
00098             value[7] |= 0x01;
00099         else value[7] &= 0xFE;
00100         value[11] |= 0x01;
00101     }
00102 
00103     void enableEdgeFlickEastToWest(bool enable) {
00104         if (enable)
00105             value[7] |= 0x02;
00106         else value[7] &= 0xFD;
00107         value[11] |= 0x02;
00108     }
00109 
00110     void enableEdgeFlickSouthToNorth(bool enable) {
00111         if (enable)
00112             value[7] |= 0x04;
00113         else value[7] &= 0xFB;
00114         value[11] |= 0x04;
00115     }
00116 
00117     void enableEdgeFlickNorthToSouth(bool enable) {
00118         if (enable)
00119             value[7] |= 0x08;
00120         else value[7] &= 0xF7;
00121         value[11] |= 0x08;
00122     }
00123 
00124     void enableDoubleFlickWestToEast(bool enable) {
00125         if (enable)
00126             value[7] |= 0x10;
00127         else value[7] &= 0xEF;
00128         value[11] |= 0x10;
00129     }
00130 
00131     void enableDoubleFlickEastToWest(bool enable) {
00132         if (enable)
00133             value[7] |= 0x20;
00134         else value[7] &= 0xDF;
00135         value[11] |= 0x20;
00136     }
00137 
00138     void enableDoubleFlickSouthToNorth(bool enable) {
00139         if (enable)
00140             value[7] |= 0x40;
00141         else value[7] &= 0xBF;
00142         value[11] |= 0x40;
00143     }
00144 
00145     void enableDoubleFlickNorthToSouth(bool enable) {
00146         if (enable)
00147             value[7] |= 0x80;
00148         else value[7] &= 0x7F;
00149         value[11] |= 0x80;
00150     }
00151 };
00152 
00153 #endif