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 |
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 |