add catch to getspeed and change names
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / Shooter.java
CommitLineData
416c4380
YN
1package org.usfirst.frc.team3501.robot.subsystems;\r
2\r
40348cab 3import org.usfirst.frc.team3501.robot.Constants;\r
e8986b9b 4import org.usfirst.frc.team3501.robot.Constants.Shooter.State;\r
40348cab
E
5\r
6import edu.wpi.first.wpilibj.CANTalon;\r
416c4380
YN
7import edu.wpi.first.wpilibj.command.Subsystem;\r
8\r
5585bd31 9public class Shooter extends Subsystem {\r
e8986b9b 10 private CANTalon shooter;\r
5585bd31 11\r
40348cab 12 public Shooter() {\r
e9234163 13 shooter = new CANTalon(Constants.Shooter.PORT);\r
40348cab 14 }\r
416c4380 15\r
2460b87a 16 public double getCurrentSetPoint() {\r
9e247b05 17 return shooter.get();\r
cb3389eb
E
18 }\r
19\r
20 public void setSpeed(double speed) {\r
2460b87a
KZ
21 if (speed >= 1.0)\r
22 shooter.set(1.0);\r
23 else if (speed <= -1.0)\r
24 shooter.set(-1.0);\r
25 else\r
26 shooter.set(speed);\r
cb3389eb
E
27 }\r
28\r
1f0a8a1f 29 public void stop() {\r
e8986b9b
E
30 this.setSpeed(0.0);\r
31 }\r
32\r
1f0a8a1f 33 public State getState() {\r
2460b87a 34 return (this.getCurrentSetPoint() == 0) ? State.RUNNING : State.STOPPED;\r
e8986b9b
E
35 }\r
36\r
9e247b05
E
37 // Use negative # for decrement. Positive for increment.\r
38 public void changeSpeed(double change) {\r
2460b87a 39 if (getCurrentSetPoint() + change >= 1.0)\r
9e247b05 40 shooter.set(1.0);\r
2460b87a 41 else if (getCurrentSetPoint() + change <= -1.0)\r
9e247b05 42 shooter.set(-1.0);\r
8e5f83d9 43 else {\r
2460b87a 44 double newSpeed = getCurrentSetPoint() + change;\r
e9234163 45 setSpeed(newSpeed);\r
cb3389eb 46 }\r
cb3389eb
E
47 }\r
48\r
40348cab
E
49 @Override\r
50 protected void initDefaultCommand() {\r
40348cab 51 }\r
416c4380 52}\r