Added analog input object
[3501/2015-FRC-Spark] / src / org / usfirst / frc3501 / RiceCatRobot / subsystems / Arm.java
1 package org.usfirst.frc3501.RiceCatRobot.subsystems;
2
3 import org.usfirst.frc3501.RiceCatRobot.RobotMap;
4
5 import edu.wpi.first.wpilibj.AnalogInput;
6 import edu.wpi.first.wpilibj.AnalogPotentiometer;
7 import edu.wpi.first.wpilibj.CANJaguar;
8 import edu.wpi.first.wpilibj.command.Subsystem;
9
10 public class Arm extends Subsystem {
11 private CANJaguar left, right;
12 public AnalogPotentiometer analogPotentiometer;
13
14
15 public Arm() {
16 left = new CANJaguar(RobotMap.ARM_LEFT);
17 right = new CANJaguar(RobotMap.ARM_RIGHT);
18 AnalogInput ai = new AnalogInput(1);
19 analogPotentiometer = new AnalogPotentiometer(ai, 360, 30);
20 }
21
22 public void initDefaultCommand() {
23 }
24
25 public void fineTuneControl(double d) {
26 if (Math.abs(d) < 0.05) {
27 d = 0;
28 } else if (d > 0) {
29 d *= d;
30 } else {
31 d *= -d;
32 }
33 setArmSpeeds(d);
34 }
35
36 public void setLeft(double speed) {
37 left.set(-speed);
38 }
39
40 public void setRight(double speed) {
41 right.set(-speed);
42 }
43
44 public void setArmSpeeds(double speed) {
45 setLeft(speed);
46 setRight(speed);
47 }
48
49 public void stop() {
50 left.set(0);
51 right.set(0);
52 }
53
54 }