The MGC3130 is the world’s first electrical-field (E-field) based three-dimensional (3D) tracking and gesture controller

Dependencies:   BufferedArray

Dependents:   NucleoMGC3130 i2c_master

Committer:
yangcq88517
Date:
Wed Oct 07 20:43:39 2015 +0000
Revision:
1:621c4e9238ef
add new functions

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 1:621c4e9238ef 1 #ifndef UK_AC_HERTS_SMARTLAB_MGC3130_OutputEnable
yangcq88517 1:621c4e9238ef 2 #define UK_AC_HERTS_SMARTLAB_MGC3130_OutputEnable
yangcq88517 1:621c4e9238ef 3
yangcq88517 1:621c4e9238ef 4 #include "Parameter.h"
yangcq88517 1:621c4e9238ef 5 /*
yangcq88517 1:621c4e9238ef 6 The Argument0 defines which Data need to be enabled or disabled.
yangcq88517 1:621c4e9238ef 7 The Argument1 defines the mask for the Data which need to be configured.
yangcq88517 1:621c4e9238ef 8
yangcq88517 1:621c4e9238ef 9 Bits 0...12: Payload elements: If set to ‘1’, payload elements will be part of the message
yangcq88517 1:621c4e9238ef 10 Bit 0: DSP Status
yangcq88517 1:621c4e9238ef 11 Bit 1: Gesture Data
yangcq88517 1:621c4e9238ef 12 Bit 2: TouchInfo
yangcq88517 1:621c4e9238ef 13 Bit 3: AirWheelInfo
yangcq88517 1:621c4e9238ef 14 Bit 4: xyzPosition
yangcq88517 1:621c4e9238ef 15 Bit 5: Noise Power
yangcq88517 1:621c4e9238ef 16 Bit 6...10: These bits are reserved and must be set to ‘0’
yangcq88517 1:621c4e9238ef 17 Bit 11: CICData (Uncalibrated Signal)
yangcq88517 1:621c4e9238ef 18 Bit 12: SDData (Signal Deviation)
yangcq88517 1:621c4e9238ef 19 Bits 13...15: These bits are reserved and must be set to ‘0’
yangcq88517 1:621c4e9238ef 20 Bits 16...17: SystemInfo status bits: If set to ‘1’, the reporting of a state change in the payload element SystemInfo is enabled
yangcq88517 1:621c4e9238ef 21 Bit 16: EnvironmentalNoise indication
yangcq88517 1:621c4e9238ef 22 Bit 17: Clipping indication
yangcq88517 1:621c4e9238ef 23 Bit 18: DSP running
yangcq88517 1:621c4e9238ef 24 Bits 19: AirWheelCounterDecimation: If set to ‘1’, the AirWheel counter is decimated by the factor of 4
yangcq88517 1:621c4e9238ef 25 Bit 20: TimeStampOverflow: 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)
yangcq88517 1:621c4e9238ef 26 Bits 21...26: These bits are reserved
yangcq88517 1:621c4e9238ef 27 Bits 27...31: GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
yangcq88517 1:621c4e9238ef 28 Bit 27: HandPresence flag
yangcq88517 1:621c4e9238ef 29 Bit 28: HandHold flag
yangcq88517 1:621c4e9238ef 30 Bit 29: HandInside flag
yangcq88517 1:621c4e9238ef 31 Bit 30: This bit is reserved
yangcq88517 1:621c4e9238ef 32 Bit 31: GestureInProgress flag
yangcq88517 1:621c4e9238ef 33 */
yangcq88517 1:621c4e9238ef 34 class OutputEnable: public Parameter
yangcq88517 1:621c4e9238ef 35 {
yangcq88517 1:621c4e9238ef 36 public:
yangcq88517 1:621c4e9238ef 37 OutputEnable();
yangcq88517 1:621c4e9238ef 38
yangcq88517 1:621c4e9238ef 39 OutputEnable * enableDSPStatus(bool enable);
yangcq88517 1:621c4e9238ef 40
yangcq88517 1:621c4e9238ef 41 OutputEnable * enableGestureData(bool enable);
yangcq88517 1:621c4e9238ef 42
yangcq88517 1:621c4e9238ef 43 OutputEnable * enableTouchInfo(bool enable);
yangcq88517 1:621c4e9238ef 44
yangcq88517 1:621c4e9238ef 45 OutputEnable * enableAirWheelInfo(bool enable);
yangcq88517 1:621c4e9238ef 46
yangcq88517 1:621c4e9238ef 47 OutputEnable * enablexyzPosition(bool enable);
yangcq88517 1:621c4e9238ef 48
yangcq88517 1:621c4e9238ef 49 OutputEnable * enableNoisePower(bool enable);
yangcq88517 1:621c4e9238ef 50
yangcq88517 1:621c4e9238ef 51 OutputEnable * enableUncalibratedSignal(bool enable);
yangcq88517 1:621c4e9238ef 52
yangcq88517 1:621c4e9238ef 53 OutputEnable * enableSignalDeviation(bool enable);
yangcq88517 1:621c4e9238ef 54
yangcq88517 1:621c4e9238ef 55 OutputEnable * enableEnvironmentalNoise(bool enable);
yangcq88517 1:621c4e9238ef 56
yangcq88517 1:621c4e9238ef 57 OutputEnable * enableClipping(bool enable);
yangcq88517 1:621c4e9238ef 58
yangcq88517 1:621c4e9238ef 59 OutputEnable * enableDSP(bool enable);
yangcq88517 1:621c4e9238ef 60
yangcq88517 1:621c4e9238ef 61 //If set, the AirWheel counter is decimated by the factor of 4
yangcq88517 1:621c4e9238ef 62 OutputEnable * enableAirWheelCounterDecimation(bool enable);
yangcq88517 1:621c4e9238ef 63
yangcq88517 1:621c4e9238ef 64 //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)
yangcq88517 1:621c4e9238ef 65 OutputEnable * enableTimeStampOverflow(bool enable);
yangcq88517 1:621c4e9238ef 66
yangcq88517 1:621c4e9238ef 67 //GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
yangcq88517 1:621c4e9238ef 68 OutputEnable * enableHandPresence(bool enable);
yangcq88517 1:621c4e9238ef 69
yangcq88517 1:621c4e9238ef 70 //GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
yangcq88517 1:621c4e9238ef 71 OutputEnable * enableHandHold(bool enable);
yangcq88517 1:621c4e9238ef 72
yangcq88517 1:621c4e9238ef 73 //GesturesInfo status bits: If set to ‘1’, the reporting of a state change in the payload element GestureInfo is enabled.
yangcq88517 1:621c4e9238ef 74 OutputEnable * enableHandInside(bool enable);
yangcq88517 1:621c4e9238ef 75
yangcq88517 1:621c4e9238ef 76 OutputEnable * enableGestureInProgress(bool enable);
yangcq88517 1:621c4e9238ef 77 };
yangcq88517 1:621c4e9238ef 78
yangcq88517 1:621c4e9238ef 79 #endif