mode = 1; // go mode
if (mode == 1) && (time > whatever)
{
time = 0; // restart (however a timer works on your device. You will have to look that up yourself)
mode = 0; // stop mode
speed = 0; // stop
}
else if (mode == 0) && (time < somethingelse) // still waiting
{
speed = 0; // sit and wait
increment time if you have to
}
else if (mode == 0) / timed out
{
time = 0; //restart timer
mode = 1; // go mode
speed = normalspeed();
}
else
{
speed = normalspeed();
increment timer if you have to
}
Or something like that.