From b8791ca4cfd815fbd063523ac6edc452d4a17602 Mon Sep 17 00:00:00 2001 From: Shivani Ghanta Date: Mon, 30 Jan 2017 19:57:58 -0800 Subject: [PATCH] Finish implementing MaintainClimbedPosition --- .../usfirst/frc/team3501/robot/Constants.java | 7 ----- ...peed.java => MaintainClimbedPosition.java} | 29 +++++++------------ .../robot/commands/climber/RunWinch.java | 8 ++--- .../team3501/robot/subsystems/DriveTrain.java | 3 +- 4 files changed, 15 insertions(+), 32 deletions(-) rename src/org/usfirst/frc/team3501/robot/commands/climber/{MaintainWinchSpeed.java => MaintainClimbedPosition.java} (58%) diff --git a/src/org/usfirst/frc/team3501/robot/Constants.java b/src/org/usfirst/frc/team3501/robot/Constants.java index 2a81945..d34f79a 100644 --- a/src/org/usfirst/frc/team3501/robot/Constants.java +++ b/src/org/usfirst/frc/team3501/robot/Constants.java @@ -53,13 +53,6 @@ public class Constants { 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; diff --git a/src/org/usfirst/frc/team3501/robot/commands/climber/MaintainWinchSpeed.java b/src/org/usfirst/frc/team3501/robot/commands/climber/MaintainClimbedPosition.java similarity index 58% rename from src/org/usfirst/frc/team3501/robot/commands/climber/MaintainWinchSpeed.java rename to src/org/usfirst/frc/team3501/robot/commands/climber/MaintainClimbedPosition.java index 9741eac..1ddde59 100644 --- a/src/org/usfirst/frc/team3501/robot/commands/climber/MaintainWinchSpeed.java +++ b/src/org/usfirst/frc/team3501/robot/commands/climber/MaintainClimbedPosition.java @@ -1,18 +1,18 @@ package org.usfirst.frc.team3501.robot.commands.climber; -import org.usfirst.frc.team3501.robot.Constants; import org.usfirst.frc.team3501.robot.Robot; +import org.usfirst.frc.team3501.robot.subsystems.DriveTrain; -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. + * 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 be - * attached to the rope. + * 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. * @@ -23,41 +23,34 @@ import edu.wpi.first.wpilibj.command.Command; * @author shivanighanta * */ -public class MaintainWinchSpeed extends Command { - Timer timer; +public class MaintainClimbedPosition extends Command { 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(); + public MaintainClimbedPosition(double time) { 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); + Robot.getDriveTrain().setMotorValues(DriveTrain.MAINTAIN_CLIMBED_POSITION, + DriveTrain.MAINTAIN_CLIMBED_POSITION); } @Override protected boolean isFinished() { - return timer.get() >= time; + return timeSinceInitialized() >= time; } @Override diff --git a/src/org/usfirst/frc/team3501/robot/commands/climber/RunWinch.java b/src/org/usfirst/frc/team3501/robot/commands/climber/RunWinch.java index 2428aff..7858384 100644 --- a/src/org/usfirst/frc/team3501/robot/commands/climber/RunWinch.java +++ b/src/org/usfirst/frc/team3501/robot/commands/climber/RunWinch.java @@ -2,7 +2,6 @@ package org.usfirst.frc.team3501.robot.commands.climber; import org.usfirst.frc.team3501.robot.Robot; -import edu.wpi.first.wpilibj.Timer; import edu.wpi.first.wpilibj.command.Command; /** @@ -24,7 +23,6 @@ import edu.wpi.first.wpilibj.command.Command; */ public class RunWinch extends Command { - Timer timer; private double time; private double motorVal; @@ -34,18 +32,16 @@ public class RunWinch extends Command { * @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 @@ -56,7 +52,7 @@ public class RunWinch extends Command { @Override protected boolean isFinished() { - return timer.get() >= time; + return timeSinceInitialized() >= time; } @Override diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java b/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java index 29dc712..5c94e53 100644 --- a/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java @@ -22,8 +22,9 @@ public class DriveTrain extends Subsystem { 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; -- 2.30.2