change array name from levelsToDegrees to armPotValues
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / DefenseArm.java
index 51e5f7e082afac59d1f1de6d190a9a6e5b200e7e..bf0e35bc4a89fa87b4d19134ee0d1fda693babb7 100755 (executable)
@@ -1,14 +1,64 @@
 package org.usfirst.frc.team3501.robot.subsystems;\r
 \r
+import org.usfirst.frc.team3501.robot.Constants;\r
+\r
+import edu.wpi.first.wpilibj.AnalogPotentiometer;\r
+import edu.wpi.first.wpilibj.CANTalon;\r
 import edu.wpi.first.wpilibj.command.Subsystem;\r
 \r
 public class DefenseArm extends Subsystem {\r
+  // Defense arm related objects\r
+  private AnalogPotentiometer potentiometer;\r
+  private CANTalon defenseArmMotor;\r
+\r
+  // Defense arm specific constants that relate to the degrees per pulse value\r
+  // for the potentiometers\r
+  private final static double PULSES_PER_ROTATION = 1; // in pulses\r
+  private final static double FULL_RANGE = 270.0; // in degrees\r
+  private final static double OFFSET = -135.0; // in degrees\r
+  private Double[] levelsToDegrees = { 0.0, 45.0, 90.0 }; // 3 level array;\r
+\r
+  // angles at 0,45,90\r
+  // degrees\r
+\r
+  public DefenseArm() {\r
+    potentiometer = new AnalogPotentiometer(Constants.DefenseArm.CHANNEL,\r
+        FULL_RANGE, OFFSET);\r
+    defenseArmMotor = new CANTalon(Constants.DefenseArm.PORT);\r
+  }\r
+\r
+  public double getLevel(int desiredArmLocation) {\r
+    return levelsToDegrees[desiredArmLocation];\r
+  }\r
+\r
+  public void moveArmTo(int levelsToDegrees) {\r
+\r
+  }\r
+\r
+  public void moveArmDown(int levelsToDegrees) {\r
+    // to move arm down levels\r
+    if (levelsToDegrees > 0 & levelsToDegrees < 45) {\r
+      levelsToDegrees = 0;\r
+      if (levelsToDegrees > 45 & levelsToDegrees < 90) {\r
+        levelsToDegrees = 45;\r
+\r
+      }\r
+    }\r
+  }\r
+\r
+  public void moveArmUp(int levelsToDegrees) {\r
+    // to move arm up levels\r
+    if (levelsToDegrees < 45 & levelsToDegrees > 0) {\r
+      levelsToDegrees = 45;\r
+      if (levelsToDegrees < 90 & levelsToDegrees > 45) {\r
+        levelsToDegrees = 90;\r
 \r
-       public DefenseArm() {\r
+      }\r
 \r
-       }\r
+    }\r
+  }\r
 \r
-       @Override\r
-       protected void initDefaultCommand() {\r
-       }\r
+  @Override\r
+  protected void initDefaultCommand() {\r
+  }\r
 }\r