diff --git a/Robot2019/src/main/java/frc/robot/Robot.java b/Robot2019/src/main/java/frc/robot/Robot.java index 90941ad..ed44912 100644 --- a/Robot2019/src/main/java/frc/robot/Robot.java +++ b/Robot2019/src/main/java/frc/robot/Robot.java @@ -50,6 +50,7 @@ public void robotPeriodic() { @Override public void disabledInit() { + cargo.stopIntake(); } @Override diff --git a/Robot2019/src/main/java/frc/robot/commands/IntakeCargo.java b/Robot2019/src/main/java/frc/robot/commands/IntakeCargo.java index 24d3e1a..706a219 100644 --- a/Robot2019/src/main/java/frc/robot/commands/IntakeCargo.java +++ b/Robot2019/src/main/java/frc/robot/commands/IntakeCargo.java @@ -50,7 +50,7 @@ protected boolean isFinished() { @Override protected void end() { - cargo.stopIntake(); + cargo.keepIntake(); } @Override diff --git a/Robot2019/src/main/java/frc/robot/subsystems/Cargo.java b/Robot2019/src/main/java/frc/robot/subsystems/Cargo.java index e835b31..4189363 100644 --- a/Robot2019/src/main/java/frc/robot/subsystems/Cargo.java +++ b/Robot2019/src/main/java/frc/robot/subsystems/Cargo.java @@ -15,6 +15,11 @@ public class Cargo extends Subsystem { // Put methods for controlling this subsystem // here. Call these from Commands. + private final double intakeCurrentThreshold = 8.0; // Amps + private final double rollerIntakeSpeed = 4.0 / 12; + private final double rollerStallSpeed = 3.0 / 12; + private final double rollerEjectSpeed = 12.0 / 12; + private VictorSP roller; private PowerDistributionPanel pdp; private int rollerPort; // The port for the VictorSP on the PDP, not the RoboRIO. @@ -29,16 +34,23 @@ public void stopIntake() { roller.stopMotor(); } + /** + * keeps the cargo in the mechanism by running the rollers at a slower speed + */ + public void keepIntake() { + roller.set(rollerStallSpeed); + } + public void runIntake() { - roller.set(-1); + roller.set(rollerIntakeSpeed); } public void runEject() { - roller.set(1); + roller.set(-1 * rollerEjectSpeed); } public boolean hasCargo() { - return pdp.getCurrent(rollerPort) > 15; + return pdp.getCurrent(roller.getChannel()) > intakeCurrentThreshold; } @Override