I am programming a robot with C# and using a digitial compass for direction. Problem I am having is when it goes into its turn loop, it doesnt come back out of it. The DragonBoard is my controller I am talking too. How this is supposed to work is given set heading and time, it turns left or right till heading is matched then drives forward for a set amount of time. Problem I am having is it will go forward but when it goes into the turn loop, it stays there, and doesnt return to for loop. Any help would be appreciated.
private void drive(int heading, int time)//going to start from kit
{
int i;
for (i = 0; i < time;i++ )
{
DragonBoard.Write("w");//go forward
while (int.Parse(bearingTxt.Text) - 1 > heading)
{
DragonBoard.Write("a");//turn left
break;
}
while (int.Parse(bearingTxt.Text) +1 < heading)
{
DragonBoard.Write("d");//turn right
break;
}
}
DragonBoard.Write(" ");
if (listBox1.SelectedIndex < listBox1.Items.Count - 1)
{
listBox1.SelectedIndex = listBox1.SelectedIndex + 1;
decision();
}