Add buttons pressed method and also also add state update
authorEvanYap <evanyap.14@gmail.com>
Fri, 22 Jan 2016 03:45:09 +0000 (19:45 -0800)
committerKevin Zhang <icestormf1@gmail.com>
Sat, 23 Jan 2016 03:37:35 +0000 (19:37 -0800)
src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java

index 4ad89fd30469342ca1dcc3c086ee739b500e1eca..1d7fdb3cdfd62d678ab981125f2e5e638491d6b0 100755 (executable)
@@ -1,15 +1,19 @@
 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
+import org.usfirst.frc.team3501.robot.Robot;\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 shooter;\r
+  private CANTalon shooter;\r
+  private State state;\r
 \r
   public Shooter() {\r
     shooter = new CANTalon(Constants.Shooter.PORT);\r
+    state = State.STOPPED;\r
   }\r
 \r
   public double getCurrentSpeed() {\r
@@ -17,9 +21,44 @@ public class Shooter extends Subsystem {
   }\r
 \r
   public void setSpeed(double speed) {\r
+    state = State.RUNNING;\r
     shooter.set(speed);\r
   }\r
 \r
+  public void shooterButtonsPressed() {\r
+\r
+    if (Robot.oi.rightJoystick\r
+        .getRawButton(Constants.OI.INCREMENT_SHOOTER_PORT)) {\r
+      changeSpeed(0.1);\r
+    }\r
+\r
+    if (Robot.oi.rightJoystick\r
+        .getRawButton(Constants.OI.DECREMENT_SHOOTER_PORT)) {\r
+      changeSpeed(-0.1);\r
+    }\r
+\r
+    if (Robot.oi.rightJoystick.getRawButton(Constants.OI.TRIGGER_PORT)) {\r
+      if (this.getState() == State.STOPPED)\r
+        this.setSpeed(0.5);\r
+    } else {\r
+      if (this.getState() == State.RUNNING) {\r
+        this.stop();\r
+      }\r
+    }\r
+\r
+    if (Robot.oi.rightJoystick.getRawButton(Constants.OI.PRINT_PORT)) {\r
+      System.out.println("Current Shooter Speed: " + getCurrentSpeed());\r
+    }\r
+  }\r
+\r
+  private void stop() {\r
+    this.setSpeed(0.0);\r
+  }\r
+\r
+  private State getState() {\r
+    return state;\r
+  }\r
+\r
   // Use negative # for decrement. Positive for increment.\r
   public void changeSpeed(double change) {\r
     if (getCurrentSpeed() + change >= 1.0)\r
@@ -30,6 +69,7 @@ public class Shooter extends Subsystem {
       double newSpeed = getCurrentSpeed() + change;\r
       setSpeed(newSpeed);\r
     }\r
+    this.state = State.RUNNING;\r
   }\r
 \r
   @Override\r