|
Re: Trouble with Autonomous
The problem is with your order of operations.
time = (1000 * (degrees/ 300)); is evaluated in the following order (with degrees being 30).
ime = (1000 * (degrees/ 300));
time = (1000 * (30/300));
time = (1000 * 0);
time = 0;
Since you don't really care what order the operations happen, the following will work for you.
time = (1000 * degrees) / 300;
time = (1000 * 30) / 300;
time = (30000) / 300;
time = 100;
The only problem with the above example is that if degrees gets above 32, you'd overflow the integer value. You could either declare time as a long, or change your constants, since multiplying by 1000 then dividing by 300 is the same as multiplying by 10 then dividing by 3.
|