public static final int DECREASE_SHOOTER_SPEED_PORT = 7;
public static final int RESET_SHOOTER_SPEED_PORT = 5;
public static final int TOGGLE_GEAR_MANIPULATOR_PORT = 2;
+
+ public static final int CLIMB_PORT = 0;
}
public static class Shooter {
import org.usfirst.frc.team3501.robot.commands.climber.BrakeCANTalons;
import org.usfirst.frc.team3501.robot.commands.climber.CoastCANTalons;
+import org.usfirst.frc.team3501.robot.commands.climber.ToggleWinch;
import org.usfirst.frc.team3501.robot.commands.driving.ToggleDriveGear;
import org.usfirst.frc.team3501.robot.commands.driving.ToggleGearManipulatorPiston;
import org.usfirst.frc.team3501.robot.commands.intake.ReverseIntakeContinuous;
public static Button brakeCANTalons;
public static Button coastCANTalons;
+ public static Button climb;
public OI() {
leftJoystick = new Joystick(Constants.OI.LEFT_STICK_PORT);
coastCANTalons = new JoystickButton(rightJoystick,
Constants.OI.COAST_CANTALONS_PORT);
coastCANTalons.whenPressed(new CoastCANTalons());
+
+ climb = new JoystickButton(leftJoystick, Constants.OI.CLIMB_PORT);
+ climb.whenPressed(new ToggleWinch());
}
public static OI getOI() {
--- /dev/null
+package org.usfirst.frc.team3501.robot.commands.climber;
+
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.Climber;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+public class ToggleWinch extends Command {
+ Climber climber = Robot.getClimber();
+ private double climbingSpeed;
+
+ public ToggleWinch() {
+ requires(climber);
+ climbingSpeed = climber.CLIMBER_SPEED;
+ }
+
+ @Override
+ protected void initialize() {
+ }
+
+ @Override
+ protected void execute() {
+ if (climber.shouldBeClimbing) {
+ climber.setCANTalonsBrakeMode(climber.COAST_MODE);
+ climber.setMotorValues(climbingSpeed);
+ } else {
+ climber.setCANTalonsBrakeMode(climber.BRAKE_MODE);
+ end();
+ }
+ }
+
+ @Override
+ protected boolean isFinished() {
+ return false;
+ }
+
+ @Override
+ protected void end() {
+ climber.shouldBeClimbing = !climber.shouldBeClimbing;
+ }
+
+ @Override
+ protected void interrupted() {
+ end();
+ }
+}
@Override
protected void execute() {
- final double thrust = OI.rightJoystick.getY();
- final double twist = OI.rightJoystick.getTwist();
-
- Robot.getDriveTrain().joystickDrive(-thrust, -twist);
+ // final double thrust = OI.rightJoystick.getY();
+ // final double twist = OI.rightJoystick.getTwist();
+ //
+ // Robot.getDriveTrain().joystickDrive(-thrust, -twist);
+ double left = OI.leftJoystick.getY();
+ double right = OI.rightJoystick.getY();
+ Robot.getDriveTrain().tankDrive(left, right);
}
@Override
import org.usfirst.frc.team3501.robot.Constants;
import org.usfirst.frc.team3501.robot.MathLib;
-import org.usfirst.frc.team3501.robot.commands.climber.RunWinchContinuous;
import com.ctre.CANTalon;
public static final boolean BRAKE_MODE = true;
public static final boolean COAST_MODE = false;
- public static final double CLIMBER_SPEED = 0;
+ public static final double CLIMBER_SPEED = 1.0;
+ public boolean shouldBeClimbing = false;
private CANTalon winch;
@Override
protected void initDefaultCommand() {
- setDefaultCommand(new RunWinchContinuous());
}
}
robotDrive.arcadeDrive(thrust, twist, true);
}
+ public void tankDrive(double left, double right) {
+ robotDrive.tankDrive(left, right);
+ }
+
public void stop() {
setMotorValues(0, 0);
}