public virtual IEnumerator <ITask> TurnRightHandler(TurnRight forward) { if (!_state.MotorEnabled) { yield return(EnableMotor()); } drive.SetDrivePowerRequest request = new drive.SetDrivePowerRequest(); request.RightWheelPower = 0.5; request.LeftWheelPower = -0.5; yield return(Arbiter.Choice( _drivePort.SetDrivePower(request), delegate(DefaultUpdateResponseType response) { }, delegate(Fault fault) { LogError(null, "Unable to turn right", fault); } )); }
private void btnTurnRight_Click(object sender, EventArgs e) { TurnRight turnRight = new TurnRight(); _mainPort.Post(turnRight); //while (turnRight.ResponsePort.P1.ItemCount <= 0 && turnRight.ResponsePort.P0.ItemCount <= 0) ; //MessageBox.Show("Has headers"); //if (turnRight.ResponsePort.P0.ItemCount <= 0) // MessageBox.Show("Has headers"); _moveTimer.Interval = _turnInterval; _moveTimer.Enabled = true; // Wait until this move is processed before processing the next while (_moveTimer.Enabled) { ; } }