public TimeDrive(double time, double speed) {
requires(Robot.driveTrain);
+ this.setInterruptible(false);
- timer = new Timer();
- this.currentTime = 0;
- this.targetTime = time;
+ this.setTimeout(time);
this.speed = speed;
}
@Override
protected void initialize() {
- timer.start();
}
@Override
protected void execute() {
- currentTime = timer.get();
-
- double output = speed * ((targetTime - currentTime) / (targetTime));
-
- Robot.driveTrain.setMotorSpeeds(output, output);
+ Robot.driveTrain.drive(speed, 0);
}
@Override
protected boolean isFinished() {
- return currentTime >= targetTime;
+ return this.isTimedOut();
}
@Override