public SparkFun_APDS9960(ref I2cDevice i2CDevice) { I2C = i2CDevice; _gestureUdDelta = 0; _gestureLrDelta = 0; _gestureUdCount = 0; _gestureLrCount = 0; _gestureNearCount = 0; _gestureFarCount = 0; _gestureState = StateDefinitions.NA_STATE; _gestureMotion = DirectionDefinitions.DIR_NONE; }
private void ResetGestureParameters() { _gestureData.Index = 0; _gestureData.TotalGestures = 0; _gestureUdDelta = 0; _gestureLrDelta = 0; _gestureUdCount = 0; _gestureLrCount = 0; _gestureNearCount = 0; _gestureFarCount = 0; _gestureState = StateDefinitions.NA_STATE; _gestureMotion = DirectionDefinitions.DIR_NONE; }
public SparkFun_APDS9960(ref I2cDevice i2CDevice) { I2C = i2CDevice; _gestureUdDelta = 0; _gestureLrDelta = 0; _gestureUdCount = 0; _gestureLrCount = 0; _gestureNearCount = 0; _gestureFarCount = 0; _gestureState = StateDefinitions.NA_STATE; _gestureMotion = DirectionDefinitions.DIR_NONE; }
private bool DecodeGesture() { /* Return if near or far event is detected */ if (_gestureState == StateDefinitions.NEAR_STATE) { _gestureMotion = DirectionDefinitions.DIR_NEAR; return true; } if (_gestureState == StateDefinitions.FAR_STATE) { _gestureMotion = DirectionDefinitions.DIR_FAR; return true; } /* Determine swipe direction */ if ((_gestureUdCount == -1) && (_gestureLrCount == 0)) { _gestureMotion = DirectionDefinitions.DIR_UP; } else if ((_gestureUdCount == 1) && (_gestureLrCount == 0)) { _gestureMotion = DirectionDefinitions.DIR_DOWN; } else if ((_gestureUdCount == 0) && (_gestureLrCount == 1)) { _gestureMotion = DirectionDefinitions.DIR_RIGHT; } else if ((_gestureUdCount == 0) && (_gestureLrCount == -1)) { _gestureMotion = DirectionDefinitions.DIR_LEFT; } else if ((_gestureUdCount == -1) && (_gestureLrCount == 1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_UP; } else { _gestureMotion = DirectionDefinitions.DIR_RIGHT; } } else if ((_gestureUdCount == 1) && (_gestureLrCount == -1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_DOWN; } else { _gestureMotion = DirectionDefinitions.DIR_LEFT; } } else if ((_gestureUdCount == -1) && (_gestureLrCount == -1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_UP; } else { _gestureMotion = DirectionDefinitions.DIR_LEFT; } } else if ((_gestureUdCount == 1) && (_gestureLrCount == 1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_DOWN; } else { _gestureMotion = DirectionDefinitions.DIR_RIGHT; } } else { return false; } return true; }
private void ResetGestureParameters() { _gestureData.Index = 0; _gestureData.TotalGestures = 0; _gestureUdDelta = 0; _gestureLrDelta = 0; _gestureUdCount = 0; _gestureLrCount = 0; _gestureNearCount = 0; _gestureFarCount = 0; _gestureState = StateDefinitions.NA_STATE; _gestureMotion = DirectionDefinitions.DIR_NONE; }
private bool DecodeGesture() { /* Return if near or far event is detected */ if (_gestureState == StateDefinitions.NEAR_STATE) { _gestureMotion = DirectionDefinitions.DIR_NEAR; return(true); } if (_gestureState == StateDefinitions.FAR_STATE) { _gestureMotion = DirectionDefinitions.DIR_FAR; return(true); } /* Determine swipe direction */ if ((_gestureUdCount == -1) && (_gestureLrCount == 0)) { _gestureMotion = DirectionDefinitions.DIR_UP; } else if ((_gestureUdCount == 1) && (_gestureLrCount == 0)) { _gestureMotion = DirectionDefinitions.DIR_DOWN; } else if ((_gestureUdCount == 0) && (_gestureLrCount == 1)) { _gestureMotion = DirectionDefinitions.DIR_RIGHT; } else if ((_gestureUdCount == 0) && (_gestureLrCount == -1)) { _gestureMotion = DirectionDefinitions.DIR_LEFT; } else if ((_gestureUdCount == -1) && (_gestureLrCount == 1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_UP; } else { _gestureMotion = DirectionDefinitions.DIR_RIGHT; } } else if ((_gestureUdCount == 1) && (_gestureLrCount == -1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_DOWN; } else { _gestureMotion = DirectionDefinitions.DIR_LEFT; } } else if ((_gestureUdCount == -1) && (_gestureLrCount == -1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_UP; } else { _gestureMotion = DirectionDefinitions.DIR_LEFT; } } else if ((_gestureUdCount == 1) && (_gestureLrCount == 1)) { if (Math.Abs(_gestureUdDelta) > Math.Abs(_gestureLrDelta)) { _gestureMotion = DirectionDefinitions.DIR_DOWN; } else { _gestureMotion = DirectionDefinitions.DIR_RIGHT; } } else { return(false); } return(true); }