Created get arm angle method inside Arm class
[3501/2015-FRC-Spark] / src / org / usfirst / frc3501 / RiceCatRobot / subsystems / Arm.java
CommitLineData
f11ce98e
KZ
1package org.usfirst.frc3501.RiceCatRobot.subsystems;
2
3import org.usfirst.frc3501.RiceCatRobot.RobotMap;
4
6cc00a79 5import edu.wpi.first.wpilibj.AnalogInput;
7c863cf5 6import edu.wpi.first.wpilibj.AnalogPotentiometer;
f11ce98e
KZ
7import edu.wpi.first.wpilibj.CANJaguar;
8import edu.wpi.first.wpilibj.command.Subsystem;
9
10public class Arm extends Subsystem {
e3bfff96 11 private CANJaguar left, right;
7c863cf5 12 public AnalogPotentiometer analogPotentiometer;
fa9e81da 13 static final double ANGLE_RANGE = 360;
14 static final double INITIAL_ANGLE = 30;
e3bfff96
KZ
15
16 public Arm() {
17 left = new CANJaguar(RobotMap.ARM_LEFT);
18 right = new CANJaguar(RobotMap.ARM_RIGHT);
fa9e81da 19 AnalogInput analogInput = new AnalogInput(1);
20 analogPotentiometer = new AnalogPotentiometer(analogInput, ANGLE_RANGE, INITIAL_ANGLE);
e3bfff96
KZ
21 }
22
7fea4f8a 23 public double getArmAngle() {
24 return analogPotentiometer.get();
25 }
26
e3bfff96
KZ
27 public void initDefaultCommand() {
28 }
29
30 public void fineTuneControl(double d) {
31 if (Math.abs(d) < 0.05) {
32 d = 0;
33 } else if (d > 0) {
34 d *= d;
35 } else {
36 d *= -d;
f11ce98e 37 }
e3bfff96
KZ
38 setArmSpeeds(d);
39 }
40
41 public void setLeft(double speed) {
42 left.set(-speed);
43 }
44
45 public void setRight(double speed) {
46 right.set(-speed);
47 }
48
49 public void setArmSpeeds(double speed) {
50 setLeft(speed);
51 setRight(speed);
52 }
53
54 public void stop() {
55 left.set(0);
56 right.set(0);
57 }
7c863cf5 58
b72e169c 59}