X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2FConstants.java;h=ebef7502d1b0dcf1fe63ea25ee3f2cd2f11b01c6;hb=b378dfe;hp=89b4976fd4c5d8f231989d273eb61f218ca02f3a;hpb=215ceee1aac3688648b983f57b8a2194e39691d1;p=3501%2Fstronghold-2016 diff --git a/src/org/usfirst/frc/team3501/robot/Constants.java b/src/org/usfirst/frc/team3501/robot/Constants.java index 89b4976f..ebef7502 100644 --- a/src/org/usfirst/frc/team3501/robot/Constants.java +++ b/src/org/usfirst/frc/team3501/robot/Constants.java @@ -1,6 +1,7 @@ package org.usfirst.frc.team3501.robot; import edu.wpi.first.wpilibj.DoubleSolenoid; +import edu.wpi.first.wpilibj.DoubleSolenoid.Value; /** * The Constants stores constant values for all subsystems. This includes the @@ -9,78 +10,128 @@ import edu.wpi.first.wpilibj.DoubleSolenoid; */ public class Constants { + public final static int PCM_MODULE_A = 9; + public final static int PCM_MODULE_B = 10; + public static class OI { // Computer Ports public final static int LEFT_STICK_PORT = 0; public final static int RIGHT_STICK_PORT = 1; - // Ports on the Joystick - public final static int TRIGGER_PORT = 1; - public final static int DECREMENT_SHOOTER_SPEED_PORT = 2; - public final static int INCREMENT_SHOOTER_SPEED_PORT = 3; - public final static int SHOOT_PORT = 4; - public final static int LOG_PORT = 5; + + // Left Joystick + public final static int LEFT_JOYSTICK_GEAR_SHIFT_PORT = 1; + public final static int LEFT_JOYSTICK_EXTEND_INTAKE_1_PORT = 3; + public final static int LEFT_JOYSTICK_EXTEND_INTAKE_2_PORT = 5; + public final static int LEFT_JOYSTICK_RETRACT_INTAKE_1_PORT = 4; + public final static int LEFT_JOYSTICK_RETRACT_INTAKE_2_PORT = 6; + public final static int LEFT_JOYSTICK_TOGGLE_FRONT_PORT = 7; + + // Right Joystick + public final static int RIGHT_JOYSTICK_INTAKE_PORT = 1; + public final static int RIGHT_JOYSTICK_OUTTAKE_1_PORT = 3; + public final static int RIGHT_JOYSTICK_OUTTAKE_2_PORT = 4; + public final static int RIGHT_JOYSTICK_SHOOTER_UP_PORT = 2; + public final static int RIGHT_JOYSTICK_SHOOTER_DOWN_1_PORT = 5; + public final static int RIGHT_JOYSTICK_SHOOTER_DOWN_2_PORT = 6; + } public static class DriveTrain { - // Drivetrain Motor Related Ports - public static final int FRONT_LEFT = 0; - public static final int FRONT_RIGHT = 0; - public static final int REAR_LEFT = 0; - public static final int REAR_RIGHT = 0; + public static final int TANK = 0; + public static final int ARCADE = 1; + public static final int DRIVE_TYPE = TANK; + + // Limits changes in speed during joystick driving + public static final double kADJUST = 8; + + // Drivetrain Motor related ports + public static final int DRIVE_FRONT_LEFT = 6; + public static final int DRIVE_REAR_LEFT = 5; + public static final int DRIVE_FRONT_RIGHT = 1; + public static final int DRIVE_REAR_RIGHT = 2; + + // Drivetrain shifter related ports + public static final int LEFT_SHIFT_MODULE = PCM_MODULE_B; + public static final int LEFT_SHIFT_FORWARD = 6; + public static final int LEFT_SHIFT_REVERSE = 3; + public static final int RIGHT_SHIFT_MODULE = PCM_MODULE_B; + public static final int RIGHT_SHIFT_FORWARD = 2; + public static final int RIGHT_SHIFT_REVERSE = 7; // Encoder related ports - public final static int ENCODER_LEFT_A = 3; - public final static int ENCODER_LEFT_B = 4; - public final static int ENCODER_RIGHT_A = 2; - public final static int ENCODER_RIGHT_B = 1; - } + public final static int ENCODER_LEFT_A = 0; + public final static int ENCODER_LEFT_B = 1; + public final static int ENCODER_RIGHT_A = 3; + public final static int ENCODER_RIGHT_B = 4; - public static class Scaler { - // Piston channels - public final static int FORWARD_CHANNEL = 0; - public final static int REVERSE_CHANNEL = 0; + public static final double INCHES_PER_PULSE = ((3.66 / 5.14) * 6 * Math.PI) / 256; - // Winch port - public final static int WINCH_MOTOR = 0; + public static double kp = 0.013, ki = 0.000015, kd = -0.002; + public static double encoderTolerance = 8.0; + + // Gearing constants + public static final Value HIGH_GEAR = DoubleSolenoid.Value.kForward; + public static final Value LOW_GEAR = DoubleSolenoid.Value.kReverse; } public static class Shooter { - public static final int PORT = 0; - public static final int PUNCH_FORWARD_PORT = 0; - public static final int PUNCH_REVERSE_PORT = 1; - public static final int ANGLE_ADJUSTER_PORT = 0; - - public static final DoubleSolenoid.Value punch = DoubleSolenoid.Value.kForward; - public static final DoubleSolenoid.Value retract = DoubleSolenoid.Value.kReverse; + public static final int CATAPULT1_MODULE = PCM_MODULE_B; + public static final int CATAPULT1_FORWARD = 4; + public static final int CATAPULT1_REVERSE = 1; + public static final int CATAPULT2_MODULE = PCM_MODULE_A; + public static final int CATAPULT2_FORWARD = 0; + public static final int CATAPULT2_REVERSE = 1; - // Encoder port - public static final int ENCODER_PORT_A = 0; - public static final int ENCODER_PORT_B = 0; - - public static enum State { - RUNNING, STOPPED; - } + public static final Value SHOOT = Value.kForward; + public static final Value RESET = Value.kReverse; + public static final double WAIT_TIME = 2.0; // In seconds } public static class IntakeArm { - public static final int PORT = 0; - public static final int CHEVAL_DE_FRISE_HAND_PORT = 1; + public static final int INTAKE_ROLLER_PORT = 8; + + // for pistons + public static final int LEFT_INTAKE_MODULE = PCM_MODULE_A; + public static final int LEFT_INTAKE_FORWARD = 5; + public static final int LEFT_INTAKE_REVERSE = 2; + public static final int RIGHT_INTAKE_MODULE = PCM_MODULE_B; + public static final int RIGHT_INTAKE_FORWARD = 5; + public static final int RIGHT_INTAKE_REVERSE = 0; - public static final double INTAKE_SPEED = 0.5; - public static final double OUTPUT_SPEED = -0.5; + public static final Value EXTEND = DoubleSolenoid.Value.kForward; + public static final Value RETRACT = DoubleSolenoid.Value.kReverse; + + public static final int IN = 1; + public static final int STOP = 0; + public static final int OUT = -1; + + // for roller + public static final double INTAKE_SPEED = 0.7; + public static final double OUTPUT_SPEED = -0.7; } - public static class DefenseArm { - // Potentiometer related ports - public static final int ARM_CHANNEL = 0; - public static final int ARM_PORT = 0; - public static final int HAND_PORT = 1; - public final static double FULL_RANGE = 270.0; // in degrees - public final static double OFFSET = -135.0; // in degrees - public final static double[] armPotValue = { 0.0, 45.0, 90.0 }; // 3 level + public static class Auton { + // Defense crossing speeds from -1 to 1 + public static final double DEFAULT_SPEED = 0.3; + public static final double MOAT_SPEED = 0.6; + public static final double ROCK_WALL_SPEED = 0.8; + public static final double ROUGH_TERRAIN_SPEED = 0.7; + public static final double RAMPART_SPEED = 0.4; + public static final double LOW_BAR_SPEED = 0.5; + + // Defense crossing times in seconds + public static final double DEFAULT_TIME = 10.0; + public static final double MOAT_TIME = 7.0; + public static final double ROCK_WALL_TIME = 8.0; + public static final double ROUGH_TERRAIN_TIME = 6.0; + public static final double RAMPART_TIME = 10.0; + public static final double LOW_BAR_TIME = 6.0; + + // Time to wait before shooting in seconds + public static final double WAIT_TIME = 1.0; } public enum Defense { - PORTCULLIS, SALLY_PORT, ROUGH_TERRAIN, LOW_BAR, CHEVAL_DE_FRISE, DRAWBRIDGE, MOAT, ROCK_WALL, RAMPART; + PORTCULLIS, SALLY_PORT, ROUGH_TERRAIN, LOW_BAR, CHIVAL_DE_FRISE, DRAWBRIDGE, MOAT, ROCK_WALL, RAMPART; } }