Commit | Line | Data |
---|---|---|
79ba119a | 1 | package org.usfirst.frc.team3501.robot.subsystems; |
2 | ||
04227dc0 | 3 | import org.usfirst.frc.team3501.robot.Constants; |
268b0048 | 4 | import org.usfirst.frc.team3501.robot.utils.HallEffectSensor; |
04227dc0 | 5 | |
6 | import com.ctre.CANTalon; | |
7 | ||
8 | import edu.wpi.first.wpilibj.command.Subsystem; | |
9 | ||
10 | public 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 | } |