cb0cc38a3d5732e09b475c9018641ba7ce548d9f
[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.CANJaguar;
6 import edu.wpi.first.wpilibj.DigitalInput;
7 import edu.wpi.first.wpilibj.command.Subsystem;
8
9 public class Arm extends Subsystem {
10 private CANJaguar left, right;
11 private DigitalInput limit1, limit2, limit3, limit4;
12
13 public Arm() {
14 left = new CANJaguar(RobotMap.ARM_LEFT);
15 right = new CANJaguar(RobotMap.ARM_RIGHT);
16 limit1 = new DigitalInput(RobotMap.ARM_LIMIT_1);
17 limit2 = new DigitalInput(RobotMap.ARM_LIMIT_2);
18 limit3 = new DigitalInput(RobotMap.ARM_LIMIT_3);
19 limit4 = new DigitalInput(RobotMap.ARM_LIMIT_4);
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 }