public void Right(int s)
        {
            if (RobotState.CheckReady())
            {
                _leftDir.Write(true);
                _rightDir.Write(false);

                _leftPWM.DutyCycle  = (s / 255);
                _rightPWM.DutyCycle = (s / 255);

                _leftPWM.Start();
                _rightPWM.Start();
            }
            else
            {
                Halt();
            }
        }
        public void Forward(int s)
        {
            if (RobotState.CheckReady() && (s <= 255))// || (s > 0))
            {
                _leftDir.Write(true);
                _rightDir.Write(true);

                _leftPWM.DutyCycle  = (s / 255);
                _rightPWM.DutyCycle = (s / 255);

                _leftPWM.Start();
                _rightPWM.Start();
            }
            else
            {
                Halt();
            }
        }
        public void Backward(int s)
        {
            if (s <= 255 && RobotState.CheckReady())
            {
                Halt();

                _leftDir.Write(false);
                _rightDir.Write(false);

                _leftPWM.DutyCycle  = (s / 255);
                _rightPWM.DutyCycle = (s / 255);

                _leftPWM.Start();
                _rightPWM.Start();
            }
            else
            {
                Halt();
            }
        }