public static final SPI.Port GYRO_PORT = SPI.Port.kOnboardCS0;
}
- public static class Climber {
- // MOTOR CONTROLLERS
- public static final int MOTOR_VAL = 1;
- public static final int MAINTAIN_MOTOR_VAL = 1;
-
- }
-
public static class Intake {
public static final int INTAKE_ROLLER_PORT = 0;
--- /dev/null
+package org.usfirst.frc.team3501.robot.commands.climber;
+
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+/**
+ * This command runs the winch at a specified speed and time in seconds when the
+ * robot has completed the climb and when the button triggering it is pressed.
+ * This command also makes the drive train motors run because the winch is
+ * controlled by the drive train.
+ *
+ * pre-condition: This command is run by a button in OI. The robot must have
+ * completed climbing.
+ *
+ * post-condition: Winch motor set to a specified speed for a specified time.
+ *
+ * @param motorVal
+ * value range is from -1 to 1
+ * @param time
+ * in seconds
+ * @author shivanighanta
+ *
+ */
+public class MaintainClimbedPosition extends Command {
+ private double time;
+
+ /**
+ * See JavaDoc comment in class for details
+ *
+ * @param time
+ * time in seconds to run the winch
+ */
+ public MaintainClimbedPosition(double time) {
+ requires(Robot.getDriveTrain());
+ this.time = time;
+ }
+
+ @Override
+ protected void initialize() {
+ }
+
+ @Override
+ protected void execute() {
+ Robot.getDriveTrain().setMotorValues(DriveTrain.MAINTAIN_CLIMBED_POSITION,
+ DriveTrain.MAINTAIN_CLIMBED_POSITION);
+
+ }
+
+ @Override
+ protected boolean isFinished() {
+ return timeSinceInitialized() >= time;
+ }
+
+ @Override
+ protected void end() {
+ Robot.getDriveTrain().stop();
+ }
+
+ @Override
+ protected void interrupted() {
+ end();
+ }
+}
+++ /dev/null
-package org.usfirst.frc.team3501.robot.commands.climber;
-
-import org.usfirst.frc.team3501.robot.Constants;
-import org.usfirst.frc.team3501.robot.Robot;
-
-import edu.wpi.first.wpilibj.Timer;
-import edu.wpi.first.wpilibj.command.Command;
-
-/**
- * This command runs the winch at a specified speed and time in seconds when the
- * button triggering it is pressed. This command also makes the drive train
- * motors run because the winch is controlled by the drive train.
- *
- * pre-condition: This command is run by a button in OI. The robot must be
- * attached to the rope.
- *
- * post-condition: Winch motor set to a specified speed for a specified time.
- *
- * @param motorVal
- * value range is from -1 to 1
- * @param time
- * in seconds
- * @author shivanighanta
- *
- */
-public class MaintainWinchSpeed extends Command {
- Timer timer;
- private double time;
- private double motorVal;
-
- /**
- * See JavaDoc comment in class for details
- *
- * @param time
- * time in seconds to run the winch
- * @param motorVal
- * value range is from -1 to 1
- */
- public MaintainWinchSpeed(double time, double motorVal) {
- timer = new Timer();
- requires(Robot.getDriveTrain());
- this.time = time;
- this.motorVal = motorVal;
- }
-
- @Override
- protected void initialize() {
- timer.start();
- }
-
- @Override
- protected void execute() {
- Robot.getDriveTrain().setMotorValues(Constants.Climber.MAINTAIN_MOTOR_VAL,
- Constants.Climber.MAINTAIN_MOTOR_VAL);
-
- }
-
- @Override
- protected boolean isFinished() {
- return timer.get() >= time;
- }
-
- @Override
- protected void end() {
- Robot.getDriveTrain().stop();
- }
-
- @Override
- protected void interrupted() {
- end();
- }
-}
import org.usfirst.frc.team3501.robot.Robot;
-import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpilibj.command.Command;
/**
*/
public class RunWinch extends Command {
- Timer timer;
private double time;
private double motorVal;
* @param time
* time in seconds to run the winch
* @param motorVal
- * value range is from -1 to 1
+ * value range is frosm -1 to 1
*/
public RunWinch(double time, double motorVal) {
requires(Robot.getDriveTrain());
- timer = new Timer();
this.time = time;
this.motorVal = motorVal;
}
@Override
protected void initialize() {
- timer.start();
}
@Override
@Override
protected boolean isFinished() {
- return timer.get() >= time;
+ return timeSinceInitialized() >= time;
}
@Override
public static final int ENCODER_PULSES_PER_REVOLUTION = 256;
public static final double INCHES_PER_PULSE = WHEEL_DIAMETER * Math.PI
/ ENCODER_PULSES_PER_REVOLUTION;
-
+ public static final int MAINTAIN_CLIMBED_POSITION = 1;
private static DriveTrain driveTrain;
+
private final CANTalon frontLeft, frontRight, rearLeft, rearRight;
private final RobotDrive robotDrive;
private final Encoder leftEncoder, rightEncoder;