Wait Exception?

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:

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

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)
    }

Great, thanks!