1 package org
.usfirst
.frc
.team3501
.robot
.subsystems
;
3 import org
.usfirst
.frc
.team3501
.robot
.Constants
;
5 import edu
.wpi
.first
.wpilibj
.AnalogPotentiometer
;
6 import edu
.wpi
.first
.wpilibj
.CANTalon
;
7 import edu
.wpi
.first
.wpilibj
.command
.Subsystem
;
9 public class DefenseArm
extends Subsystem
{
10 // Defense arm related objects
11 public AnalogPotentiometer defenseArmPotentiometer
;
12 public AnalogPotentiometer defenseHandPotentiometer
;
13 public CANTalon defenseArmMotor
;
14 public CANTalon defenseHandMotor
;
15 public double hookHeight
;
17 // Defense arm specific constants that relate to the degrees per pulse value
18 // for the potentiometers
19 // private final static double PULSES_PER_ROTATION = 1; // in pulses
20 public final static double FULL_RANGE
= 270.0; // in degrees
21 public final static double OFFSET
= -135.0; // in degrees
22 public final static double[] armPotValue
= { 0.0, 45.0, 90.0 }; // 3 level
26 // do we want to use a hashmap??
27 // angles at 0,45,90 (Potentiometer value readings)
31 defenseArmPotentiometer
= new AnalogPotentiometer(
32 Constants
.DefenseArm
.ARM_CHANNEL
,
34 Constants
.DefenseArm
.HAND_CHANNEL
);
35 defenseArmMotor
= new CANTalon(Constants
.DefenseArm
.ARM_PORT
);
36 defenseHandMotor
= new CANTalon(Constants
.DefenseArm
.HAND_PORT
);
40 * This method gets the height of the hook from the ground. The hook is
41 * attached to the end of the hand, which is attached to the arm.
43 * @return hookHeight gets height of hook from ground. The hook is attached to
44 * the end of the hand, which is attached the arm.
48 public double getHookHeight() {
53 protected void initDefaultCommand() {