add class level comment and change speed to voltage
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / IntakeArm.java
index 3461f1735d996d3cd4de37207ebdf410cece0274..400bed114c1ebcaa6b7d00657bc8669c4e24920a 100755 (executable)
-package org.usfirst.frc.team3501.robot.subsystems;\r
-\r
-import edu.wpi.first.wpilibj.command.Subsystem;\r
-\r
-public class IntakeArm extends Subsystem{\r
-       \r
-       public IntakeArm(){\r
-               \r
-       }\r
-\r
-       @Override\r
-       protected void initDefaultCommand() {\r
-               // TODO Auto-generated method stub\r
-               \r
-       }\r
-}\r
+package org.usfirst.frc.team3501.robot.subsystems;
+
+import org.usfirst.frc.team3501.robot.Constants;
+
+import edu.wpi.first.wpilibj.CANTalon;
+import edu.wpi.first.wpilibj.command.Subsystem;
+
+/***
+ * The IntakeArm consists of two rollers that are controlled by one motor. The
+ * class is deployed using a command that accelerates the robot forward and
+ * gravity pushes the arm down. After the IntakeArm is pushed down by gravity,
+ * the arm remains stationary for the rest of the match.
+ *
+ * The motor controls the rollers, making them roll forwards and backwards.
+ * The Intake rollers are on the back of the robot. As the rollers run, they
+ * intake the ball.
+ *
+ * @author superuser
+ *
+ */
+
+public class IntakeArm extends Subsystem {
+  private CANTalon intake;
+  private CANTalon chevalDeFriseHand;
+
+  public IntakeArm() {
+    intake = new CANTalon(Constants.IntakeArm.PORT);
+    chevalDeFriseHand = new CANTalon(Constants.IntakeArm.CHEVAL_DE_FRISE_HAND_PORT);
+  }
+
+  /*
+   * Intake only moves once at the beginning of the match. It lowers at the
+   * beginning of the match and is held there by mechanical stops until the end
+   * of the match.
+   *
+   * Must be used in a command that has a timer variable to stop it.
+   */
+  public void dropIntake() {
+    intake.set(0.3);
+  }
+
+  public void intake() {
+    intake.set(Constants.IntakeArm.INTAKE_SPEED);
+  }
+
+  public void output() {
+    intake.set(Constants.IntakeArm.OUTPUT_SPEED);
+  }
+
+  /***
+   * This method allows you to set the voltage of the motor. The range of
+   * voltage is from [-1, 1]. A negative voltage makes the motor run backwards.
+   *
+<<<<<<< e3056e0d68d3b4150b81db56c6685c399cb9c37a
+<<<<<<< cefeac7a7bb7df62af5c880e13eb37c14125a7cb
+   * @param speed
+   *          The speed of the motors that control the rollers. The range of
+   *          these motors go from [-1,1]. A negative speed changes the
+   *          direction of the motors, making it run backwards.
+   *          =======
+   *          public IntakeArm() {
+   * 
+   *          }
+   * 
+   *          /***
+   *          This method allows you to set the speed of the motor(s). The range
+   *          of speed
+   *          is from [-1, 1]. A negative speed changes the direction of the
+   *          motors.
+   *
+   * @param speed
+   *          The speed of the motors that control the rollers. The range of
+   *          these motors go from [-1,1]. A negative speed changes the
+   *          direction of the motors.
+   *          >>>>>>> reset to unix format
+=======
+   * @param speed
+   *          The speed of the motors that control the rollers. The range of
+   *          these motors go from [-1,1]. A negative speed changes the
+   *          direction of the motors, making it run backwards.
+>>>>>>> add 3 method stubs- setRollerSpeeds, getRollerSpeeds, and areRollersRolling
+=======
+   * @param voltage
+   *          The voltage of the motors that control the rollers. The range of
+   *          these motors go from [-1,1]. A negative voltage makes the motor
+   *          run
+   *          backwards.
+>>>>>>> add class level comment and change speed to voltage
+   */
+
+  public void setRollerVoltage(double voltage) {
+
+  }
+
+  /***
+<<<<<<< e3056e0d68d3b4150b81db56c6685c399cb9c37a
+<<<<<<< cefeac7a7bb7df62af5c880e13eb37c14125a7cb
+   * <<<<<<< bd5dc4363add71a17f95409115dec96b83146549
+   * This method gets you the current speed of the motor that controls the
+   * motor. The range of speed is from [-1,1]. A negative speed changes the
+   * direction of the motor, making it run backwards.
+   *
+   * @return Returns the speed of the motor that controls the roller. The range
+   *         of the motor goes from [-1,1]. A negative speed changes the
+   *         direction of the motor, making it go backwards.
+   *         =======
+   *
+   * @return
+   *         >>>>>>> reset to unix format
+=======
+   * This method gets you the current speed of the motor that controls the
+   * motor. The range of speed is from [-1,1]. A negative speed changes the
+   * direction of the motor, making it run backwards.
+   *
+   * @return Returns the speed of the motor that controls the roller. The range
+   *         of the motor goes from [-1,1]. A negative speed changes the
+   *         direction of the motor, making it go backwards.
+>>>>>>> add 3 method stubs- setRollerSpeeds, getRollerSpeeds, and areRollersRolling
+=======
+   * This method gets you the current voltage of the motor that controls the
+   * motor. The range of voltage is from [-1,1]. A negative voltage makes the
+   * motor
+   * run backwards.
+   *
+   * @return Returns the voltage of the motor that controls the roller. The
+   *         range
+   *         of the motor goes from [-1,1]. A negative voltage indicates that
+   *         the
+   *         motor is running backwards.
+>>>>>>> add class level comment and change speed to voltage
+   */
+
+  public double getRollerVoltage() {
+    return 0;
+  }
+
+  /***
+<<<<<<< cefeac7a7bb7df62af5c880e13eb37c14125a7cb
+   * <<<<<<< bd5dc4363add71a17f95409115dec96b83146549
+   * This method checks to see if the motors controlling the rollers are
+   * currently working.
+   *
+   * @return Returns whether the motors are currently running, and returns the
+   *         state of the condition (true or false).
+   *         =======
+   *
+   * @return
+   */
+
+  public boolean isBallInside() {
+    return true;
+  }
+
+  /***
+   *
+   * @return
+   *         >>>>>>> reset to unix format
+=======
+   * This method checks to see if the motors controlling the rollers are
+   * currently running.
+   *
+   * @return Returns whether the motors are currently running, and returns the
+   *         state of the condition (true or false).
+>>>>>>> add 3 method stubs- setRollerSpeeds, getRollerSpeeds, and areRollersRolling
+   */
+
+  public boolean areRollersRolling() {
+    return true;
+  }
+
+  @Override
+  protected void initDefaultCommand() {
+
+  }
+}