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); }
// On motor "Set state" button click private void setMotorStateButton_Click(object sender, EventArgs e) { NXTBrick.MotorState motorState = new NXTBrick.MotorState( ); // prepare motor's state to set motorState.Power = (sbyte)powerUpDown.Value; motorState.TurnRatio = (sbyte)turnRatioUpDown.Value; motorState.Mode = ((modeOnCheck.Checked) ? NXTBrick.MotorMode.On : NXTBrick.MotorMode.None) | ((modeBrakeCheck.Checked) ? NXTBrick.MotorMode.Brake : NXTBrick.MotorMode.None) | ((modeRegulatedBox.Checked) ? NXTBrick.MotorMode.Regulated : NXTBrick.MotorMode.None); motorState.Regulation = regulationModes[regulationModeCombo.SelectedIndex]; motorState.RunState = runStates[runStateCombo.SelectedIndex]; // tacho limit try { motorState.TachoLimit = Math.Max(0, Math.Min(100000, int.Parse(tachoLimitBox.Text))); } catch { motorState.TachoLimit = 1000; tachoLimitBox.Text = motorState.TachoLimit.ToString( ); } // set motor's state if (nxt.SetMotorState(GetSelectedMotor( ), motorState, false) != true) { System.Diagnostics.Debug.WriteLine("Failed setting motor state"); } }
private void RightForward() { NXTBrick.MotorState motorState = new NXTBrick.MotorState(); motorState.Power = 70; motorState.TurnRatio = 50; motorState.Mode = NXTBrick.MotorMode.On; motorState.Regulation = NXTBrick.MotorRegulationMode.Speed; motorState.RunState = NXTBrick.MotorRunState.Running; motorState.TachoLimit = 360; nxt.SetMotorState(NXTBrick.Motor.B, motorState); }
private void LeftBackwards() { NXTBrick.MotorState motorState = new NXTBrick.MotorState(); motorState.Power = -70; motorState.TurnRatio = -50; motorState.Mode = NXTBrick.MotorMode.On; motorState.Regulation = NXTBrick.MotorRegulationMode.Speed; motorState.RunState = NXTBrick.MotorRunState.Running; motorState.TachoLimit = 360; nxt.SetMotorState(NXTBrick.Motor.C, motorState); }
private void MoveArm(int angle, int power, int turnRatio) { NXTBrick.MotorState motorState = new NXTBrick.MotorState(); motorState.Power = power; motorState.TurnRatio = turnRatio; motorState.Mode = NXTBrick.MotorMode.On; motorState.Regulation = NXTBrick.MotorRegulationMode.Speed; motorState.RunState = NXTBrick.MotorRunState.Running; motorState.TachoLimit = angle; nxt.SetMotorState(NXTBrick.Motor.A, motorState); }
private void OneStepRight(int tacho) { NXTBrick.MotorState motorState = new NXTBrick.MotorState(); motorState.Power = 75; motorState.TurnRatio = 100; motorState.Mode = NXTBrick.MotorMode.On; motorState.Regulation = NXTBrick.MotorRegulationMode.Speed; motorState.RunState = NXTBrick.MotorRunState.Running; motorState.TachoLimit = tacho; nxt.SetMotorState(NXTBrick.Motor.B, motorState); }
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); }