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); }