//call to set the joystick center position public void SetCenterPosition() { var hCenter = HorizontalInputPort.ReadValue(); var vCenter = VerticalInputPort.ReadValue(); Calibration = new JoystickCalibration( hCenter, Calibration.HorizontalMin, Calibration.HorizontalMax, vCenter, Calibration.VerticalMin, Calibration.VerticalMax, Calibration.DeadZone); }
public void SetRange(int duration) { var timeoutTask = DateTime.Now.AddMilliseconds(duration); float h, v; var tick = DateTime.Now; while (tick < timeoutTask) { h = HorizontalInputPort.ReadValue(); v = VerticalInputPort.ReadValue(); Thread.Sleep(20); tick = DateTime.Now; } }
void StartSamplingHorizontal() { int sampleCount = samplingSettingHorizontal.sampleCount; int sampleIntervalDuration = samplingSettingHorizontal.sampleIntervalDuration; int standbyDuration = samplingSettingHorizontal.standbyDuration; var counter = 0; var total = 0f; var average = 0f; for (int i = 0; i < sampleCount; i++) { // read the voltage var temp = HorizontalInputPort.ReadValue(); /* * if ((Math.Abs(h.Old - Calibration.HorizontalCenter) < Calibration.DeadZone) && * (Math.Abs(h.New - Calibration.HorizontalCenter) < Calibration.DeadZone)) * { * return; * } */ total += temp; counter++; average = total / counter; if (!IsSamplingHorizontal) { break; } Thread.Sleep(sampleIntervalDuration); } IsSamplingHorizontal = false; HorizontalValue = average; var newH = GetNormalizedPosition(HorizontalValue, true); var v = GetNormalizedPosition(VerticalValue, false); RaiseEventsAndNotify ( new JoystickPosition(newH, v) ); }
public float GetHorizontalValue() { return(HorizontalInputPort.ReadValue()); }