1 package org
.usfirst
.frc
.team3501
.robot
.subsystems
;
3 import org
.usfirst
.frc
.team3501
.robot
.Constants
;
5 import edu
.wpi
.first
.wpilibj
.CANTalon
;
6 import edu
.wpi
.first
.wpilibj
.CounterBase
.EncodingType
;
7 import edu
.wpi
.first
.wpilibj
.DoubleSolenoid
;
8 import edu
.wpi
.first
.wpilibj
.Encoder
;
9 import edu
.wpi
.first
.wpilibj
.command
.Subsystem
;
11 public class Shooter
extends Subsystem
{
12 private CANTalon shooter
;
13 private CANTalon angleAdjuster
;
14 private DoubleSolenoid punch
;
15 private Encoder encoder
;
18 shooter
= new CANTalon(Constants
.Shooter
.PORT
);
19 angleAdjuster
= new CANTalon(Constants
.Shooter
.ANGLE_ADJUSTER_PORT
);
20 punch
= new DoubleSolenoid(Constants
.Shooter
.PUNCH_FORWARD_PORT
,
21 Constants
.Shooter
.PUNCH_REVERSE_PORT
);
23 encoder
= new Encoder(Constants
.Shooter
.ENCODER_PORT_A
,
24 Constants
.Shooter
.ENCODER_PORT_B
, false, EncodingType
.k4X
);
27 public double getCurrentSetPoint() {
31 public void setSpeed(double speed
) {
34 else if (speed
< -1.0)
44 public double getSpeed() {
45 return encoder
.getRate();
48 // Use negative # for decrement. Positive for increment.
49 public void changeSpeed(double change
) {
50 double newSpeed
= getCurrentSetPoint() + change
;
53 else if (newSpeed
< -1.0)
62 punch
.set(Constants
.Shooter
.punch
);
65 public void resetPunch() {
66 punch
.set(Constants
.Shooter
.retract
);
70 protected void initDefaultCommand() {