From 414d5638f3027cc4e42b96eb06ba8de41bde3afe Mon Sep 17 00:00:00 2001 From: shainachen Date: Sat, 14 Jan 2017 15:15:52 -0800 Subject: [PATCH] Implement RunFLyWheel class, add motor methods to Shooter class --- src/org/usfirst/frc/team3501/robot/Robot.java | 5 +++++ .../robot/commands/shooter/RunFlyWheel.java | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/org/usfirst/frc/team3501/robot/Robot.java b/src/org/usfirst/frc/team3501/robot/Robot.java index b18f7a5..00ad1cb 100644 --- a/src/org/usfirst/frc/team3501/robot/Robot.java +++ b/src/org/usfirst/frc/team3501/robot/Robot.java @@ -9,6 +9,7 @@ import edu.wpi.first.wpilibj.command.Scheduler; public class Robot extends IterativeRobot { private static DriveTrain driveTrain; + private static Shooter shooter; private static OI oi; private static Shooter shooter; @@ -24,6 +25,10 @@ public class Robot extends IterativeRobot { return DriveTrain.getDriveTrain(); } + public static Shooter getShooter() { + return Shooter.getShooter(); + } + public static OI getOI() { return OI.getOI(); } diff --git a/src/org/usfirst/frc/team3501/robot/commands/shooter/RunFlyWheel.java b/src/org/usfirst/frc/team3501/robot/commands/shooter/RunFlyWheel.java index f57cd5b..203f9dc 100644 --- a/src/org/usfirst/frc/team3501/robot/commands/shooter/RunFlyWheel.java +++ b/src/org/usfirst/frc/team3501/robot/commands/shooter/RunFlyWheel.java @@ -1,5 +1,8 @@ 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; /** @@ -9,6 +12,7 @@ import edu.wpi.first.wpilibj.command.Command; * @author Shaina */ public class RunFlyWheel extends Command { + Timer timer; private double motorVal; private double time; @@ -21,6 +25,9 @@ public class RunFlyWheel extends Command { * 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; } @@ -28,6 +35,8 @@ public class RunFlyWheel extends Command { // 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 @@ -38,17 +47,19 @@ public class RunFlyWheel extends Command { // 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; } } -- 2.30.2