X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2Fsubsystems%2FShooter.java;h=22239e49ee945c5bd0a9a163d9a9da7160233db2;hb=3b2038bb486d94a21613223c1b00b59fc29032eb;hp=40581afee5a3a7e523b82d1beb2d6aa010971020;hpb=071ab31546b9c3cf13bca472a4ac76b1480aeb6a;p=3501%2Fstronghold-2016 diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java index 40581afe..22239e49 100755 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java @@ -1,8 +1,10 @@ package org.usfirst.frc.team3501.robot.subsystems; import org.usfirst.frc.team3501.robot.Constants; +import org.usfirst.frc.team3501.robot.Lidar; import org.usfirst.frc.team3501.robot.MathLib; +import edu.wpi.first.wpilibj.AnalogPotentiometer; import edu.wpi.first.wpilibj.CANTalon; import edu.wpi.first.wpilibj.CounterBase.EncodingType; import edu.wpi.first.wpilibj.DoubleSolenoid; @@ -10,11 +12,10 @@ import edu.wpi.first.wpilibj.Encoder; import edu.wpi.first.wpilibj.command.Subsystem; /*** - * The Shooter consists of a platform and wheel, each controlled by - * separate motors. The piston controlling the platform pushes the ball onto the - * wheel. The wheel is controlled by a motor, which is running before the ball - * is pushed - * onto the wheel. The spinning wheel propels the ball. + * The Shooter consists of a platform and wheel, each controlled by separate + * motors. The piston controlling the platform pushes the ball onto the wheel. + * The wheel is controlled by a motor, which is running before the ball is + * pushed onto the wheel. The spinning wheel propels the ball. * * @author superuser * @@ -22,15 +23,18 @@ import edu.wpi.first.wpilibj.command.Subsystem; public class Shooter extends Subsystem { private CANTalon shooter; + private CANTalon angleAdjuster; private DoubleSolenoid hood, punch; private Encoder encoder; + private Lidar lidar; public Shooter() { + leftLidar = new AnalogPotentiometer(0); + rightLidar = new AnalogPotentiometer(0); shooter = new CANTalon(Constants.Shooter.PORT); - hood = new DoubleSolenoid(Constants.Shooter.HOOD_FORWARD, - Constants.Shooter.HOOD_REVERSE); - punch = new DoubleSolenoid(Constants.Shooter.PUNCH_FORWARD, - Constants.Shooter.PUNCH_REVERSE); + angleAdjuster = new CANTalon(Constants.Shooter.ANGLE_ADJUSTER_PORT); + punch = new DoubleSolenoid(Constants.Shooter.PUNCH_FORWARD_PORT, + Constants.Shooter.PUNCH_REVERSE_PORT); encoder = new Encoder(Constants.Shooter.ENCODER_PORT_A, Constants.Shooter.ENCODER_PORT_B, false, EncodingType.k4X); @@ -49,8 +53,12 @@ public class Shooter extends Subsystem { } public void setSpeed(double speed) { - speed = MathLib.constrain(speed, -1, 1); - shooter.set(speed); + if (speed > 1.0) + shooter.set(1.0); + else if (speed < -1.0) + shooter.set(-1.0); + else + shooter.set(speed); } public void stop() { @@ -69,7 +77,7 @@ public class Shooter extends Subsystem { } // Punch Commands - public void punch() { + public void extendPunch() { punch.set(Constants.Shooter.punch); } @@ -77,19 +85,16 @@ public class Shooter extends Subsystem { punch.set(Constants.Shooter.retract); } - public boolean isHoodOpen() { - return hood.get() == Constants.Shooter.open; - } - - public void openHood() { - hood.set(Constants.Shooter.open); + @Override + protected void initDefaultCommand() { } - public void closeHood() { - hood.set(Constants.Shooter.closed); + public double getLeftDistanceToTower() { + // TODO: find the method that actually gets distance + return leftLidar.get(); } - @Override - protected void initDefaultCommand() { + public double getRightDistanceToTower() { + return rightLidar.get(); } }