Exemplo n.º 1
0
        //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);
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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)

            );
        }
Exemplo n.º 4
0
 public float GetHorizontalValue()
 {
     return(HorizontalInputPort.ReadValue());
 }