public class Robot extends IterativeRobot {
private static DriveTrain driveTrain;
+ private static Shooter shooter;
private static OI oi;
private static Shooter shooter;
return DriveTrain.getDriveTrain();
}
+ public static Shooter getShooter() {
+ return Shooter.getShooter();
+ }
+
public static OI getOI() {
return OI.getOI();
}
package org.usfirst.frc.team3501.robot.commands.shooter;
+import org.usfirst.frc.team3501.robot.Robot;
+
+import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj.command.Command;
/**
* @author Shaina
*/
public class RunFlyWheel extends Command {
+ Timer timer;
private double motorVal;
private double time;
* in seconds, amount of time to run fly wheel motor
*/
public RunFlyWheel(double motorVal, double time) {
+ requires(Robot.getShooter());
+
+ timer = new Timer();
this.motorVal = motorVal;
this.time = time;
}
// Called just before this Command runs the first time
@Override
protected void initialize() {
+ timer.start();
+ Robot.getShooter().setFlyWheelMotorVal(motorVal);
}
// Called repeatedly when this Command is scheduled to run
// Called once after isFinished returns true
@Override
protected void end() {
+ Robot.getShooter().stopFlyWheel();
}
// Called when another command which requires one or more of the same
// subsystems is scheduled to run
@Override
protected void interrupted() {
+ end();
}
@Override
protected boolean isFinished() {
- return false;
+ return timer.get() >= time;
}
}