add dead reckoning time, spd, distance to pass defense commands and constants
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / Constants.java
index 66a37d8fec9e9819e53c4401982d1322d386e717..287344aff27229a8d681838fb4e5e77dbcb59e42 100644 (file)
@@ -2,6 +2,8 @@ package org.usfirst.frc.team3501.robot;
 
 import edu.wpi.first.wpilibj.DoubleSolenoid;
 import edu.wpi.first.wpilibj.DoubleSolenoid.Value;
+import edu.wpi.first.wpilibj.I2C;
+import edu.wpi.first.wpilibj.I2C.Port;
 
 /**
  * The Constants stores constant values for all subsystems. This includes the
@@ -17,7 +19,7 @@ public class Constants {
 
     public final static int PASS_PORTCULLIS_PORT = 0;
     public final static int PASS_CHEVAL_DE_FRISE_PORT = 0;
-    public final static int PASS_DRAWBRIDGE = 0;
+    public final static int PASS_DRAWBRIDGE_PORT = 0;
     public final static int PASS_SALLYPORT_PORT = 0;
 
     public final static int ARCADE_INTAKEARM_LEVEL_ONE_PORT = 0;
@@ -26,15 +28,16 @@ public class Constants {
     public final static int ARCADE_INTAKEARM_LEVEL_FOUR_PORT = 0;
 
     public final static int LEFT_JOYSTICK_TRIGGER_PORT = 0;
-    public final static int LEFT_JOYSTICK_TOP_LEFT_PORT = 4;
-    public final static int LEFT_JOYSTICK_TOP_RIGHT_PORT = 5;
+    public final static int SPIN1_PORT = 4;
+    public final static int SPIN2_PORT = 5;
     public final static int LEFT_JOYSTICK_TOP_CENTER_PORT = 3;
     public final static int LEFT_JOYSTICK_TOP_LOW_PORT = 2;
 
     public final static int RIGHT_JOYSTICK_TRIGGER_PORT = 0;
     public final static int RIGHT_JOYSTICK_THUMB_PORT = 2;
 
-    public final static int SCALING_BUTTON_PORT = 0;
+    public final static int TOGGLE_SCALING_PORT = 0;
+
   }
 
   public static class DriveTrain {
@@ -69,6 +72,9 @@ public class Constants {
     public static final Value HIGH_GEAR = DoubleSolenoid.Value.kForward;
     public static final Value LOW_GEAR = DoubleSolenoid.Value.kReverse;
 
+    public static boolean inverted = false;
+
+    public static final double PASS_DEFENSE_TIMEOUT = 10; // find this
   }
 
   public static class Scaler {
@@ -81,14 +87,20 @@ public class Constants {
 
     // Winch speeds
     public final static double WINCH_STOP_SPEED = 0.0;
-    public final static double WINCH_IN_SPEED = 0;
+    public final static double SCALE_SPEED = 0;
     public final static double SECONDS_TO_CLAMP = 2.0;
+
+    // Winch timeout
+    public final static int SECONDS_TO_SCALE = 0;
+
+    public static boolean SCALING = false;
+
   }
 
   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 PUNCH_FORWARD = 0;
+    public static final int PUNCH_REVERSE = 1;
     public static final int ANGLE_ADJUSTER_PORT = 0;
 
     public static final DoubleSolenoid.Value punch = DoubleSolenoid.Value.kForward;
@@ -97,6 +109,13 @@ public class Constants {
     // Encoder port
     public static final int ENCODER_PORT_A = 0;
     public static final int ENCODER_PORT_B = 0;
+    public static final int HOOD_FORWARD = 2;
+    public static final int HOOD_REVERSE = 3;
+
+    public static final Value open = Value.kForward;
+    public static final Value closed = Value.kReverse;
+
+    public static final Port LIDAR_I2C_PORT = I2C.Port.kMXP;
 
     public static enum State {
       RUNNING, STOPPED;
@@ -105,6 +124,25 @@ public class Constants {
 
   public static class DeadReckoning {
     public static final double DEFAULT_SPEED = 0.5;
+    public static boolean isDeadReckoning;
+
+    // dead reckoning time and speed constants for driving through defenses
+    public static double passRockWallTime = 0;
+    public static double passRockWallSpeed = 0;
+    public static double passRockWallDistance = 0;
+    public static double passLowBarTime = 0;
+    public static double passLowBarSpeed = 0;
+    public static double passLowBarDistance = 0;
+    public static double passMoatTime = 0;
+    public static double passMoatSpeed = 0;
+    public static double passMoatDistance = 0;
+    public static double passRampartTime = 0;
+    public static double passRampartSpeed = 0;
+    public static double passRampartDistance = 0;
+    public static double passRoughTerrainTime = 0;
+    public static double passRoughTerrainSpeed = 0;
+    public static double passRoughTerrainDistance = 0;
+
   }
 
   public static class IntakeArm {
@@ -126,6 +164,7 @@ public class Constants {
     public static final int HAND_CHANNEL = 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 final static double ARM_LENGTH = 0; // TODO: find actual length