CHENGQI YANG / MGC3130

Dependencies:   BufferedArray

Dependents:   NucleoMGC3130 i2c_master

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers OutputEnable.cpp Source File

OutputEnable.cpp

00001 #include "OutputEnable.h"
00002 
00003 OutputEnable::OutputEnable()
00004 {
00005     setRuntimeParameterID(0xA0);
00006 }
00007 
00008 OutputEnable * OutputEnable::enableDSPStatus(bool enable)
00009 {
00010     if (enable)
00011         value[4] |= 0x01;
00012     else value[4] &= 0xFE;
00013     value[8] |= 0x01;
00014     return this;
00015 }
00016 
00017 OutputEnable * OutputEnable::enableGestureData(bool enable)
00018 {
00019     if (enable)
00020         value[4] |= 0x02;
00021     else value[4] &= 0xFD;
00022     value[8] |= 0x02;
00023     return this;
00024 }
00025 
00026 OutputEnable * OutputEnable::enableTouchInfo(bool enable)
00027 {
00028     if (enable)
00029         value[4] |= 0x04;
00030     else value[4] &= 0xFB;
00031     value[8] |= 0x04;
00032     return this;
00033 }
00034 
00035 OutputEnable * OutputEnable::enableAirWheelInfo(bool enable)
00036 {
00037     if (enable)
00038         value[4] |= 0x08;
00039     else value[4] &= 0xF7;
00040     value[8] |= 0x08;
00041     return this;
00042 }
00043 
00044 OutputEnable * OutputEnable::enablexyzPosition(bool enable)
00045 {
00046     if (enable)
00047         value[4] |= 0x10;
00048     else value[4] &= 0xEF;
00049     value[8] |= 0x10;
00050     return this;
00051 }
00052 
00053 OutputEnable * OutputEnable::enableNoisePower(bool enable)
00054 {
00055     if (enable)
00056         value[4] |= 0x20;
00057     else value[4] &= 0xDF;
00058     value[8] |= 0x20;
00059     return this;
00060 }
00061 
00062 OutputEnable * OutputEnable::enableUncalibratedSignal(bool enable)
00063 {
00064     if (enable)
00065         value[5] |= 0x08;
00066     else value[5] &= 0xF7;
00067     value[9] |= 0x08;
00068     return this;
00069 }
00070 
00071 OutputEnable * OutputEnable::enableSignalDeviation(bool enable)
00072 {
00073     if (enable)
00074         value[5] |= 0x10;
00075     else value[5] &= 0xEF;
00076     value[9] |= 0x10;
00077     return this;
00078 }
00079 
00080 OutputEnable * OutputEnable::enableEnvironmentalNoise(bool enable)
00081 {
00082     if (enable)
00083         value[6] |= 0x01;
00084     else value[6] &= 0xFE;
00085     value[10] |= 0x01;
00086     return this;
00087 }
00088 
00089 OutputEnable * OutputEnable::enableClipping(bool enable)
00090 {
00091     if (enable)
00092         value[6] |= 0x02;
00093     else value[6] &= 0xFD;
00094     value[10] |= 0x02;
00095     return this;
00096 }
00097 
00098 OutputEnable * OutputEnable::enableDSP(bool enable)
00099 {
00100     if (enable)
00101         value[6] |= 0x04;
00102     else value[6] &= 0xFB;
00103     value[10] |= 0x04;
00104     return this;
00105 }
00106 
00107 //If set, the AirWheel counter is decimated by the factor of 4
00108 OutputEnable * OutputEnable::enableAirWheelCounterDecimation(bool enable)
00109 {
00110     if (enable)
00111         value[6] |= 0x08;
00112     else value[6] &= 0xF7;
00113     value[10] |= 0x08;
00114     return this;
00115 }
00116 
00117 //This applies when AirWheel or Touch Detection is ongoing. If activated, a message will be sent when the counter in the payload element TimeStamp is overflowing (TimeStamp=0)
00118 OutputEnable * OutputEnable::enableTimeStampOverflow(bool enable)
00119 {
00120     if (enable)
00121         value[6] |= 0x10;
00122     else value[6] &= 0xEF;
00123     value[10] |= 0x10;
00124     return this;
00125 }
00126 
00127 //GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
00128 OutputEnable * OutputEnable::enableHandPresence(bool enable)
00129 {
00130     if (enable)
00131         value[7] |= 0x08;
00132     else value[7] &= 0xF7;
00133     value[11] |= 0x08;
00134     return this;
00135 }
00136 
00137 //GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
00138 OutputEnable * OutputEnable::enableHandHold(bool enable)
00139 {
00140     if (enable)
00141         value[7] |= 0x10;
00142     else value[7] &= 0xEF;
00143     value[11] |= 0x10;
00144     return this;
00145 }
00146 
00147 //GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
00148 OutputEnable * OutputEnable::enableHandInside(bool enable)
00149 {
00150     if (enable)
00151         value[7] |= 0x20;
00152     else value[7] &= 0xDF;
00153     value[11] |= 0x20;
00154     return this;
00155 }
00156 
00157 OutputEnable * OutputEnable::enableGestureInProgress(bool enable)
00158 {
00159     if (enable)
00160         value[7] |= 0x80;
00161     else value[7] &= 0x7F;
00162     value[11] |= 0x80;
00163     return this;
00164 }