public void Correction()
        {
            correctionIO.ValueChanged += CorrectionIO_ValueChanged;

            ControlIO1.Write(GpioPinValue.Low);
            ControlIO1.SetDriveMode(GpioPinDriveMode.Output);

            ControlIO2.Write(GpioPinValue.High);
            ControlIO2.SetDriveMode(GpioPinDriveMode.Output);

            ControlIO3.Write(GpioPinValue.High);
            ControlIO3.SetDriveMode(GpioPinDriveMode.Output);
            this.WaitEvent.WaitOne();
        }
        public void Correction()
        {
            //ReverseRotation
            SIO.ValueChanged += CorrectionIO_ValueChanged_ReverseRotation;
            ControlIO1.Write(GpioPinValue.Low);
            ControlIO1.SetDriveMode(GpioPinDriveMode.Output);
            ControlIO2.Write(GpioPinValue.High);
            ControlIO2.SetDriveMode(GpioPinDriveMode.Output);
            ControlIO3.Write(GpioPinValue.High);
            ControlIO3.SetDriveMode(GpioPinDriveMode.Output);
            this.WaitEvent.WaitOne();

            //PositiveRotation
            SIO.ValueChanged += CorrectionIO_ValueChanged_PositiveRotation;
            ControlIO1.Write(GpioPinValue.High);
            ControlIO1.SetDriveMode(GpioPinDriveMode.Output);
            ControlIO2.Write(GpioPinValue.Low);
            ControlIO2.SetDriveMode(GpioPinDriveMode.Output);
            ControlIO3.Write(GpioPinValue.High);
            ControlIO3.SetDriveMode(GpioPinDriveMode.Output);
            this.WaitEvent.WaitOne();
        }