/// <summary> Start a new calibration, based on the parameters set via the inspector. </summary> /// <param name="whichFingers"></param> /// <returns></returns> public bool StartCalibration(bool[] whichFingers = null) { if (this.GloveReady()) { if (whichFingers == null) { whichFingers = new bool[] { false, true, true, true, true }; } CalibrationAlgorithm algorithm = null; switch (this.calibrationAlgorithm) { case Algorithm.PointsOnACircle2D: algorithm = new Circle2D(whichFingers); break; } if (algorithm != null) { CalibrationMethod method = null; switch (this.calibrationMethod) { case CalibrationType.Manual: method = new ManualCalibration(algorithm, this.async); break; case CalibrationType.SemiAutomatic: method = new SemiAutoCalibration(algorithm, this.async, 12, 0.6f, 5); break; case CalibrationType.Automatic: method = new AutoCalibration(algorithm, this.async); break; } if (method != null) { this.glove.StartCalibration(method); this.calibrating = true; } } } return(false); }
public GloveDataProcessor() { if (calibrationAlgorithm == null) { BluetoothLEHardwareInterface.Log("Glove address : " + GloveUuid); calibrationAlgorithm = new CalibrationAlgorithm(); } }