Fix some errors
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / DefenseArm.java
index a5bb51760298edd13189af41f62018af578d9c72..9b745760186031c8c9f4fe0b4e0b599ec500fc4e 100755 (executable)
@@ -13,13 +13,19 @@ public class DefenseArm extends Subsystem {
   private CANTalon defenseHand;
   private double hookHeight;
   private double footHeight;
-  private Double[] potAngles;
+  private double[] potAngles = { 0, 45, 90 };
+
+  // angles corresponding to pre-determined heights we will need
 
   public DefenseArm() {
     defenseArmPotentiometer = new AnalogPotentiometer(
         Constants.DefenseArm.ARM_CHANNEL,
         Constants.DefenseArm.FULL_RANGE,
         Constants.DefenseArm.OFFSET);
+    defenseHandPotentiometer = new AnalogPotentiometer(
+        Constants.DefenseArm.HAND_CHANNEL,
+        Constants.DefenseArm.FULL_RANGE,
+        Constants.DefenseArm.OFFSET);
 
     defenseArm = new CANTalon(Constants.DefenseArm.ARM_PORT);
     defenseHand = new CANTalon(Constants.DefenseArm.HAND_PORT);
@@ -33,15 +39,22 @@ public class DefenseArm extends Subsystem {
     return defenseHandPotentiometer.get();
   }
 
-  public double getDistance(int desiredArmLocation) {
-    return potAngles[desiredArmLocation];
-  }
-
-  public Double[] putInValues() {
-    for (int i = 0; i < 3; i++) {
-      potAngles[i] = (double) (45 * i);
-    }
-    return potAngles;
+  /***
+   * This method takes an arm location as input (range of [0,2])
+   * Returns the angle of the arm corresponding to that arm location
+   *
+   * @param desiredArmLocation
+   *          takes an arm location ranging from [0,2]
+   *          0 is the lowest position of arm
+   *          2 is the highest position of arm
+   * @return
+   *         the angle of the arm corresponding to that arm location
+   */
+  public double getLevelValue(int level) {
+    if (level >= potAngles.length)
+      return potAngles[level];
+    else
+      return 0;
   }
 
   /***