public static nxt_result motor_off(NXTBrick.Motor motor)
        {
            nxt_result result = new nxt_result();

            NXTBrick.MotorState motorState = new NXTBrick.MotorState();

            // prepare motor's state to set
            motorState.Power      = (sbyte)0;
            motorState.TurnRatio  = (sbyte)0;
            motorState.Mode       = NXTBrick.MotorMode.None;
            motorState.Regulation = NXTBrick.MotorRegulationMode.Speed;
            motorState.RunState   = NXTBrick.MotorRunState.Idle;
            // tacho limit
            motorState.TachoLimit = 0;

            // set motor's state
            if (nxt.SetMotorState(motor, motorState) != true)
            {
                IrcBot.log   += "Failed setting motor state\n";
                result.result = false;
                result.value  = "Failed";
                return(result);
            }
            result.result = true;
            result.value  = "succed";

            return(result);
        }
        public static nxt_result motor_degree(NXTBrick.Motor motor, int degree)
        {
            nxt_result result = new nxt_result();

            NXTBrick.MotorState motorState = new NXTBrick.MotorState();
            if (motor == NXTBrick.Motor.A)
            {
                // prepare motor's state to set
                motorState.Power     = (sbyte)speed_motors[0];
                motorState.TurnRatio = (sbyte)speed_motors[0];
            }
            if (motor == NXTBrick.Motor.B)
            {
                // prepare motor's state to set
                motorState.Power     = (sbyte)speed_motors[1];
                motorState.TurnRatio = (sbyte)speed_motors[1];
            }
            if (motor == NXTBrick.Motor.C)
            {
                // prepare motor's state to set
                motorState.Power     = (sbyte)speed_motors[2];
                motorState.TurnRatio = (sbyte)speed_motors[2];
            }
            // TODO If al motor's on handel correct speed
            if (motor == NXTBrick.Motor.All)
            {
                // prepare motor's state to set
                motorState.Power     = (sbyte)speed_motors[0];
                motorState.TurnRatio = (sbyte)speed_motors[0];
            }
            motorState.Mode       = NXTBrick.MotorMode.On;
            motorState.Regulation = NXTBrick.MotorRegulationMode.Speed;
            motorState.RunState   = NXTBrick.MotorRunState.Running;
            // tacho limit

            motorState.TachoLimit = degree;

            // set motor's state
            if (nxt.SetMotorState(motor, motorState) != true)
            {
                IrcBot.log   += "Failed setting motor state\n";
                result.result = false;
                result.value  = "Failed";
                return(result);
            }
            result.result = true;
            result.value  = "succed";
            return(result);
        }