add catch to getspeed and change names
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / Shooter.java
index 614fe059a9a31851d904a71f2c07c495ad2633ce..e677317188a5aefe6257a2520e6cf6280d66a2ac 100755 (executable)
@@ -1,53 +1,52 @@
 package org.usfirst.frc.team3501.robot.subsystems;\r
 \r
 import org.usfirst.frc.team3501.robot.Constants;\r
+import org.usfirst.frc.team3501.robot.Constants.Shooter.State;\r
 \r
 import edu.wpi.first.wpilibj.CANTalon;\r
 import edu.wpi.first.wpilibj.command.Subsystem;\r
 \r
 public class Shooter extends Subsystem {\r
-  CANTalon wheel;\r
+  private CANTalon shooter;\r
 \r
   public Shooter() {\r
-    wheel = new CANTalon(Constants.Shooter.SHOOTER_WHEEL_PORT);\r
+    shooter = new CANTalon(Constants.Shooter.PORT);\r
   }\r
 \r
-  public double getCurrentSpeed() {\r
-    return wheel.get();\r
+  public double getCurrentSetPoint() {\r
+    return shooter.get();\r
   }\r
 \r
   public void setSpeed(double speed) {\r
-    wheel.set(speed);\r
+    if (speed >= 1.0)\r
+      shooter.set(1.0);\r
+    else if (speed <= -1.0)\r
+      shooter.set(-1.0);\r
+    else\r
+      shooter.set(speed);\r
   }\r
 \r
-  public void setIncrementSpeed(double increment) {\r
-    double newSpeed = getCurrentSpeed() + increment;\r
-\r
-    if (getCurrentSpeed() >= 1.0) {\r
-      wheel.set(1.0);\r
-    } else if (getCurrentSpeed() <= -1.0) {\r
-      wheel.set(-1.0);\r
-    }\r
-\r
-    wheel.set(newSpeed);\r
+  public void stop() {\r
+    this.setSpeed(0.0);\r
   }\r
 \r
-  // THIS DECREMENT METHOD TAKES ONLY POSITIVE VALUES SINCE IT ACCOUNTS FOR\r
-  // SUBTRACTING THE CURRENT MOTOR SPEED!\r
-  public void setDecrementSpeed(double decrement) {\r
-    double newSpeed = getCurrentSpeed() - decrement;\r
+  public State getState() {\r
+    return (this.getCurrentSetPoint() == 0) ? State.RUNNING : State.STOPPED;\r
+  }\r
 \r
-    if (getCurrentSpeed() >= 1.0) {\r
-      wheel.set(1.0);\r
-    } else if (getCurrentSpeed() <= -1.0) {\r
-      wheel.set(-1.0);\r
+  // Use negative # for decrement. Positive for increment.\r
+  public void changeSpeed(double change) {\r
+    if (getCurrentSetPoint() + change >= 1.0)\r
+      shooter.set(1.0);\r
+    else if (getCurrentSetPoint() + change <= -1.0)\r
+      shooter.set(-1.0);\r
+    else {\r
+      double newSpeed = getCurrentSetPoint() + change;\r
+      setSpeed(newSpeed);\r
     }\r
-\r
-    wheel.set(newSpeed);\r
   }\r
 \r
   @Override\r
   protected void initDefaultCommand() {\r
-\r
   }\r
 }\r