public final static int REVERSE_INTAKE_PORT = 4;
public static final int INCREASE_SHOOTER_SPEED_PORT = 6;
public static final int DECREASE_SHOOTER_SPEED_PORT = 2;
++
+ public static final int CHANGE_CAMERA_VIEW = 6;
++
+ public static final int BRAKE_CANTALONS_PORT = 5;
+ public static final int COAST_CANTALONS_PORT = 3;
++
}
public static class Shooter {
public final static int HALL_EFFECT_PORT = 9;
- public static final int PISTON_MODULE = 10, PISTON_FORWARD = 4,
+ public final static int TOGGLE_INDEXER = 8;
+
+ public static final int MODULE_NUMBER = 10, PISTON_FORWARD = 4,
PISTON_REVERSE = 5;
++
public static final Value HIGH_GEAR = DoubleSolenoid.Value.kForward;
public static final Value LOW_GEAR = DoubleSolenoid.Value.kReverse;
}
package org.usfirst.frc.team3501.robot;
- import org.usfirst.frc.team3501.robot.commands.climber.ToggleWinch;
-import org.usfirst.frc.team3501.robot.commands.driving.BrakeCANTalons;
-import org.usfirst.frc.team3501.robot.commands.driving.CoastCANTalons;
import org.usfirst.frc.team3501.robot.commands.driving.ToggleGear;
import org.usfirst.frc.team3501.robot.commands.intake.ReverseIntakeContinuous;
import org.usfirst.frc.team3501.robot.commands.intake.RunIntakeContinuous;
public static Button increaseShooterSpeed;
public static Button decreaseShooterSpeed;
+ private static Button changeCam;
+
+ private static Button togglePiston;
+ private static Button toggleDriveTrainPiston;
+
+ public static Button brakeCANTalons;
+ public static Button coastCANTalons;
+
public OI() {
+
leftJoystick = new Joystick(Constants.OI.LEFT_STICK_PORT);
rightJoystick = new Joystick(Constants.OI.RIGHT_STICK_PORT);
Constants.OI.DECREASE_SHOOTER_SPEED_PORT);
decreaseShooterSpeed.whenPressed(new DecreaseShootingSpeed());
+ changeCam = new JoystickButton(rightJoystick,
+ Constants.OI.CHANGE_CAMERA_VIEW);
+ changeCam.toggleWhenPressed(new ChangeCameraView());
+
+ togglePiston = new JoystickButton(rightJoystick,
+ Constants.Shooter.TOGGLE_INDEXER);
+ togglePiston.whenPressed(new ToggleIndexerPiston());
+
+ toggleDriveTrainPiston = new JoystickButton(rightJoystick,
+ Constants.DriveTrain.TOGGLE_DRIVE_PISTON);
+ toggleDriveTrainPiston.whenPressed(new ToggleGear());
++
+ brakeCANTalons = new JoystickButton(rightJoystick,
+ Constants.OI.BRAKE_CANTALONS_PORT);
+ brakeCANTalons.whenPressed(new BrakeCANTalons());
+
+ coastCANTalons = new JoystickButton(rightJoystick,
+ Constants.OI.COAST_CANTALONS_PORT);
+ coastCANTalons.whenPressed(new CoastCANTalons());
}
public static OI getOI() {
oi = OI.getOI();
shooter = Shooter.getShooter();
intake = Intake.getIntake();
- CameraServer server = CameraServer.getInstance();
+
+ server = CameraServer.getInstance();
UsbCamera climberCam = server.startAutomaticCapture("climbercam", 0);
UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 1);
+
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
}
public static DriveTrain getDriveTrain() {
requires(shooter);
}
- // Called just before this Command runs the first time
@Override
protected void initialize() {
+ t.start();
}
- // Called repeatedly when this Command is scheduled to run
@Override
protected void execute() {
-
- if (timeSinceInitialized() % 0.5 <= 0.02) {
+ if (t.get() >= 1) {
if (Shooter.getShooter().getPistonValue() == Constants.Shooter.LOW_GEAR) {
Shooter.getShooter().setHighGear();
} else {
Shooter.getShooter().setLowGear();
}
+ t.reset();
}
- double shooterSpeed = shooter.getShooterRPM();
- double targetShooterSpeed = shooter.getTargetShootingSpeed();
- double threshold = shooter.getRPMThreshold();
- if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold)
+ if (shooter.isShooterRPMWithinRangeOfTargetSpeed(25))
shooter.runIndexWheel();
++
}
- // Called once after isFinished returns true
@Override
protected void end() {
shooter.stopIndexWheel();
private static HallEffectSensor hallEffect;
private final CANTalon flyWheel1, flyWheel2, indexWheel;
- private static final double DEFAULT_INDEXING_SPEED = -0.75;
- private static final double DEFAULT_SHOOTING_SPEED = 2800; // rpm
- private static final double SHOOTING_SPEED_INCREMENT = 25;
+ private PIDController wheelController;
+
+ private static final double RPM_THRESHOLD = 10;
+ private static final double DEFAULT_INDEXING_MOTOR_VALUE = -0.75;
+ private static final double DEFAULT_SHOOTING_SPEED = 3100; // rpm
+ private static final double SHOOTING_SPEED_INCREMENT = 50;
+ private static final int ACCEPTABLE_SHOOTING_DEVIATION = 300;
- private double currentShootingSpeed = DEFAULT_SHOOTING_SPEED;
+ private double targetShootingSpeed = DEFAULT_SHOOTING_SPEED;
+ private double currentShooterMotorValue = 0;
private final DoubleSolenoid piston;