extend pidsubsystem, add pid methods
authorCindy Zhang <cindyzyx9@gmail.com>
Mon, 15 Feb 2016 21:51:40 +0000 (13:51 -0800)
committerCindy Zhang <cindyzyx9@gmail.com>
Mon, 15 Feb 2016 21:52:16 +0000 (13:52 -0800)
src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java

index 3b91bfe03c451333cdcdd8ef2035071b71a6af3a..04e0582beee858383d22fb1be947af965c36a212 100755 (executable)
@@ -8,7 +8,7 @@ import edu.wpi.first.wpilibj.CANTalon;
 import edu.wpi.first.wpilibj.CounterBase.EncodingType;
 import edu.wpi.first.wpilibj.DoubleSolenoid;
 import edu.wpi.first.wpilibj.Encoder;
-import edu.wpi.first.wpilibj.command.Subsystem;
+import edu.wpi.first.wpilibj.command.PIDSubsystem;
 
 /***
  * The Shooter consists of a platform and wheel, each controlled by separate
@@ -20,13 +20,18 @@ import edu.wpi.first.wpilibj.command.Subsystem;
  *
  */
 
-public class Shooter extends Subsystem {
+public class Shooter extends PIDSubsystem {
+  private static double kp = 0.013, ki = 0.000015, kd = -0.002;
+  private static double encoderTolerance = 5.0;
+
   private CANTalon shooter;
   private DoubleSolenoid hood, punch;
   private Encoder encoder;
   private Lidar lidar;
 
   public Shooter() {
+    super(kp, ki, kd);
+
     shooter = new CANTalon(Constants.Shooter.PORT);
     hood = new DoubleSolenoid(Constants.Shooter.HOOD_FORWARD,
         Constants.Shooter.HOOD_REVERSE);
@@ -102,4 +107,23 @@ public class Shooter extends Subsystem {
   @Override
   protected void initDefaultCommand() {
   }
+
+  @Override
+  protected double returnPIDInput() {
+    // TODO Auto-generated method stub
+    return 0;
+  }
+
+  @Override
+  protected void usePIDOutput(double output) {
+    // TODO Auto-generated method stub
+
+  }
+
+  public void setEncoderPID() {
+    this.setAbsoluteTolerance(encoderTolerance);
+    this.setOutputRange(-1.0, 1.0);
+    this.setInputRange(-200.0, 200.0);
+    this.enable();
+  }
 }