Commit | Line | Data |
---|---|---|
416c4380 YN |
1 | package org.usfirst.frc.team3501.robot.subsystems;\r |
2 | \r | |
40348cab | 3 | import org.usfirst.frc.team3501.robot.Constants;\r |
e8986b9b | 4 | import org.usfirst.frc.team3501.robot.Constants.Shooter.State;\r |
40348cab E |
5 | \r |
6 | import edu.wpi.first.wpilibj.CANTalon;\r | |
416c4380 YN |
7 | import edu.wpi.first.wpilibj.command.Subsystem;\r |
8 | \r | |
5585bd31 | 9 | public 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 |
cb3389eb | 16 | public double getCurrentSpeed() {\r |
9e247b05 | 17 | return shooter.get();\r |
cb3389eb E |
18 | }\r |
19 | \r | |
20 | public void setSpeed(double speed) {\r | |
9e247b05 | 21 | shooter.set(speed);\r |
cb3389eb E |
22 | }\r |
23 | \r | |
1f0a8a1f | 24 | public void stop() {\r |
e8986b9b E |
25 | this.setSpeed(0.0);\r |
26 | }\r | |
27 | \r | |
1f0a8a1f KZ |
28 | public State getState() {\r |
29 | return (this.getCurrentSpeed() == 0) ? State.RUNNING : State.STOPPED;\r | |
e8986b9b E |
30 | }\r |
31 | \r | |
9e247b05 E |
32 | // Use negative # for decrement. Positive for increment.\r |
33 | public void changeSpeed(double change) {\r | |
b87f9700 | 34 | if (getCurrentSpeed() + change >= 1.0)\r |
9e247b05 | 35 | shooter.set(1.0);\r |
b87f9700 | 36 | else if (getCurrentSpeed() + change <= -1.0)\r |
9e247b05 | 37 | shooter.set(-1.0);\r |
8e5f83d9 | 38 | else {\r |
9e247b05 | 39 | double newSpeed = getCurrentSpeed() + change;\r |
e9234163 | 40 | setSpeed(newSpeed);\r |
cb3389eb | 41 | }\r |
cb3389eb E |
42 | }\r |
43 | \r | |
40348cab E |
44 | @Override\r |
45 | protected void initDefaultCommand() {\r | |
40348cab | 46 | }\r |
416c4380 | 47 | }\r |