fix bugs
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / subsystems / Shooter.java
CommitLineData
79ba119a 1package org.usfirst.frc.team3501.robot.subsystems;
2
04227dc0 3import org.usfirst.frc.team3501.robot.Constants;
268b0048 4import org.usfirst.frc.team3501.robot.utils.HallEffectSensor;
04227dc0 5
6import com.ctre.CANTalon;
7
8import edu.wpi.first.wpilibj.command.Subsystem;
9
10public class Shooter extends Subsystem {
cf77d84e 11 public double wheelP = 0, wheelI = 0, wheelD = -0;
079a8cb6 12 private static Shooter shooter;
268b0048 13 private static HallEffectSensor hallEffect;
04227dc0 14 private final CANTalon flyWheel, indexWheel;
79ba119a 15
00f515a1 16 public static final double DEFAULT_INDEXING_SPEED = 0;
ad7e6b1e 17 public static final double DEFAULT_SHOOTING_SPEED = 0;
cf77d84e 18 public static double CURRENT_SHOOTING_SPEED = DEFAULT_SHOOTING_SPEED;
ad7e6b1e
NA
19
20 public static final double SHOOTING_SPEED_INCREMENT = 0;
21
079a8cb6 22 private Shooter() {
04227dc0 23 flyWheel = new CANTalon(Constants.Shooter.FLY_WHEEL);
24 indexWheel = new CANTalon(Constants.Shooter.INDEX_WHEEL);
ad7e6b1e 25
268b0048 26 hallEffect = new HallEffectSensor(Constants.Shooter.HALL_EFFECT_PORT, 1);
27 }
28
29 public static HallEffectSensor getHallEffectSensor() {
30 return hallEffect;
079a8cb6 31 }
41dfad94 32
04227dc0 33 /**
34 * Returns shooter object
35 *
36 * @return Shooter object
37 */
079a8cb6
CZ
38 public static Shooter getShooter() {
39 if (shooter == null) {
40 shooter = new Shooter();
41 }
42 return shooter;
43 }
41dfad94 44
079a8cb6 45 /**
04227dc0 46 * Sets fly wheel motor value to input.
47 *
48 * @param val
49 * motor value from -1 to 1(fastest forward)
079a8cb6 50 */
04227dc0 51 public void setFlyWheelMotorVal(final double val) {
52 flyWheel.set(val);
079a8cb6 53 }
41dfad94 54
04227dc0 55 /**
56 * Stops fly wheel motor.
57 */
58 public void stopFlyWheel() {
59 flyWheel.set(0);
60 }
41dfad94 61
04227dc0 62 /**
63 * Sets index wheel motor value to input.
64 *
65 * @param val
66 * motor value from -1 to 1(fastest forward)
67 */
68 public void setIndexWheelMotorVal(final double val) {
69 indexWheel.set(val);
079a8cb6 70 }
41dfad94 71
079a8cb6 72 /**
04227dc0 73 * Stops index wheel motor.
079a8cb6
CZ
74 */
75 public void stopIndexWheel() {
04227dc0 76 indexWheel.set(0);
079a8cb6 77 }
41dfad94 78
04227dc0 79 @Override
80 protected void initDefaultCommand() {
079a8cb6
CZ
81
82 }
381dad77 83
268b0048 84 public double getShooterRPM() {
85 return hallEffect.getRPM();
381dad77 86 }
79ba119a 87}