PDA

View Full Version : Wait Exception?


NinJA999
01-14-2010, 08:16 PM
We've been porting some of our code from last year into Java. We tried to execute a wait command, but first we had to wrap it in a try catch statement. It catches the exception with the message:
"current thread (first.team811.game2010.Team811Robot - main (pri=5)]) not owner (null)"

Is there a way we can utilize wait in Java? :confused:

derekwhite
01-15-2010, 07:35 AM
You didn't post your code, but the likely problem is that in Java you need to lock your object before doing a wait() or notify() on it. The Java wait() will unlock the object, wait until it receives a notify, then relock the object.

You can find some details on this in the Java Tutorial:
http://java.sun.com/docs/books/tutorial/essential/concurrency/guardmeth.html

BradAMiller
01-15-2010, 10:21 AM
Instead of using Wait() you need to use Timer.delay(). The problem with Wait is that is a method on the Object class which is the base for all objects. So using wait doesn't really work.

First, be sure you have this import:
import edu.wpi.first.wpilibj.Timer;

Then, here is an example of using delay:
public void autonomous() {
System.out.println("In autonomous");
for (int i = 0; i < 40; i++) {
drivetrain.drive(1, 0.0);
Timer.delay(2); // wait 2 seconds
drivetrain.drive(-1, 0);
Timer.delay(2);
}
drivetrain.drive(0.0, 0.0); // drive 0% forward, 0% turn (stop)
}

NinJA999
01-15-2010, 01:13 PM
Great, thanks!