public final static int RIGHT_STICK_PORT = 1;
// Need to fill in the port numbers of the following buttons
- public final static int TOGGLE_WINCH_PORT = 0;
public final static int TOGGLE_FLYWHEEL_PORT = 4;
public final static int RUN_INDEXWHEEL_PORT = 1;
public final static int REVERSE_INDEXWHEEL_PORT = 2;
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 BRAKE_CANTALONS_PORT = 5;
+ public static final int COAST_CANTALONS_PORT = 3;
}
public static class Shooter {
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;
private static OI oi;
public static Joystick leftJoystick;
public static Joystick rightJoystick;
- public static Button toggleWinch;
public static Button runIndexWheel;
public static Button reverseIndexWheel;
public static Button increaseShooterSpeed;
public static Button decreaseShooterSpeed;
+ 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.REVERSE_INTAKE_PORT);
reverseIntake.whileHeld(new ReverseIntakeContinuous());
- toggleWinch = new JoystickButton(leftJoystick,
- Constants.OI.TOGGLE_WINCH_PORT);
- toggleWinch.whenPressed(new ToggleWinch());
-
increaseShooterSpeed = new JoystickButton(leftJoystick,
Constants.OI.INCREASE_SHOOTER_SPEED_PORT);
increaseShooterSpeed.whenPressed(new IncreaseShootingSpeed());
decreaseShooterSpeed = new JoystickButton(leftJoystick,
Constants.OI.DECREASE_SHOOTER_SPEED_PORT);
decreaseShooterSpeed.whenPressed(new DecreaseShootingSpeed());
+
+ 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();
UsbCamera climberCam = server.startAutomaticCapture("climbercam", 0);
UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 1);
+
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
}
public static DriveTrain getDriveTrain() {
@Override
public void autonomousInit() {
driveTrain.setHighGear();
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
}
@Override
@Override
public void teleopInit() {
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
}
@Override
public void teleopPeriodic() {
+ // driveTrain.printEncoderOutput();
Scheduler.getInstance().run();
updateSmartDashboard();
}
+ @Override
+ public void disabledInit() {
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_BRAKE_MODE);
+ }
+ //
+ // @Override
+ // public void disabledPeriodic() {
+ // Scheduler.getInstance().add(new RunFlyWheel(2));
+ // }
+
public void updateSmartDashboard() {
+ SmartDashboard.putNumber("left encode ",
+ driveTrain.getLeftEncoderDistance());
+ SmartDashboard.putNumber("right encoder",
+ driveTrain.getRightEncoderDistance());
SmartDashboard.putNumber("angle", driveTrain.getAngle());
SmartDashboard.putNumber("voltage",
DriverStation.getInstance().getBatteryVoltage());
SmartDashboard.putNumber("rpm", shooter.getShooterRPM());
- SmartDashboard.putNumber("motor value", shooter.getTargetShootingSpeed());
+ SmartDashboard.putNumber("target shooting",
+ shooter.getTargetShootingSpeed());
}
}
@Override
protected boolean isFinished() {
- return Robot.getOI().toggleWinch.get();
+ return false;
}
@Override
--- /dev/null
+package org.usfirst.frc.team3501.robot.commands.driving;
+
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+/**
+ *
+ */
+public class BrakeCANTalons extends Command {
+ private DriveTrain driveTrain = Robot.getDriveTrain();
+
+ public BrakeCANTalons() {
+ requires(driveTrain);
+ }
+
+ @Override
+ protected void initialize() {
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_BRAKE_MODE);
+ }
+
+ @Override
+ protected void execute() {
+ }
+
+ @Override
+ protected boolean isFinished() {
+ return true;
+ }
+
+ @Override
+ protected void end() {
+ }
+
+ @Override
+ protected void interrupted() {
+ }
+}
--- /dev/null
+package org.usfirst.frc.team3501.robot.commands.driving;
+
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+/**
+ *
+ */
+public class CoastCANTalons extends Command {
+ private DriveTrain driveTrain = Robot.getDriveTrain();
+
+ public CoastCANTalons() {
+ requires(driveTrain);
+ }
+
+ @Override
+ protected void initialize() {
+ driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
+ }
+
+ @Override
+ protected void execute() {
+ }
+
+ @Override
+ protected boolean isFinished() {
+ return true;
+ }
+
+ @Override
+ protected void end() {
+ }
+
+ @Override
+ protected void interrupted() {
+ }
+}
@Override
protected boolean isFinished() {
return false;
-
}
}
public static final double TIME_TO_CLIMB_FOR = 0;
public static final double CLIMBER_SPEED = 0;
+ public static final boolean DRIVE_BRAKE_MODE = true;
+ public static final boolean DRIVE_COAST_MODE = false;
+
private static DriveTrain driveTrain;
private final CANTalon frontLeft, frontRight, rearLeft, rearRight;
* Changes the gear to a DoubleSolenoid.Value
*/
private void changeGear(DoubleSolenoid.Value gear) {
- System.out.println(gear);
leftGearPiston.set(gear);
rightGearPiston.set(gear);
}
protected void initDefaultCommand() {
setDefaultCommand(new JoystickDrive());
}
+
+ public void setCANTalonsBrakeMode(boolean mode) {
+ frontLeft.enableBrakeMode(mode);
+ rearLeft.enableBrakeMode(mode);
+
+ frontRight.enableBrakeMode(mode);
+ rearRight.enableBrakeMode(mode);
+ }
}
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_INDEXING_MOTOR_VALUE = 0.75;
private static final double DEFAULT_SHOOTING_SPEED = 2800; // rpm
- private static final double SHOOTING_SPEED_INCREMENT = 25;
+ private static final double SHOOTING_SPEED_INCREMENT = 50;
private double targetShootingSpeed = DEFAULT_SHOOTING_SPEED;
private double currentShooterMotorValue = 0;