c6d400778e523692a5d1ff88449510bc7822a825
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / Scaler.java
1 package org.usfirst.frc.team3501.robot.subsystems;
2
3 import org.usfirst.frc.team3501.robot.Constants;
4
5 import edu.wpi.first.wpilibj.CANTalon;
6 import edu.wpi.first.wpilibj.DoubleSolenoid;
7 import edu.wpi.first.wpilibj.DoubleSolenoid.Value;
8 import edu.wpi.first.wpilibj.command.Subsystem;
9
10 public class Scaler extends Subsystem {
11 private DoubleSolenoid piston;
12 private CANTalon winch;
13
14 public Scaler() {
15 piston = new DoubleSolenoid(Constants.Scaler.FORWARD_CHANNEL,
16 Constants.Scaler.REVERSE_CHANNEL);
17 winch = new CANTalon(Constants.Scaler.WINCH_MOTOR);
18 }
19
20 public Value getSolenoidValue() {
21 return piston.get();
22 }
23
24 public void liftScissorLift() {
25 piston.set(DoubleSolenoid.Value.kReverse);
26 }
27
28 public void lowerScissorLift() {
29 piston.set(DoubleSolenoid.Value.kForward);
30 }
31
32 public void engageHook() {
33
34 }
35
36 public void disengageHook() {
37 }
38
39 public void runWinch(double speed) {
40 if (speed > 1)
41 speed = 1;
42 if (speed < -1)
43 speed = -1;
44
45 winch.set(speed);
46 }
47
48 public void stopWinch() {
49 runWinch(Constants.Scaler.WINCH_STOP_SPEED);
50 }
51
52 /***
53 * This method returns boolean value true or false on whether piston is
54 * extended or not.
55 *
56 * @return returns true if piston is extended, false if otherwise.
57 */
58 public boolean getPistonStatus() {
59 return true;
60 }
61
62 /***
63 * This method sets the piston status for the scissor lift. The piston can
64 * either be extended or not extended.
65 *
66 * @param status
67 * The status of the piston. 0 for the piston to be extended, 1 for
68 * the piston to not be extended.
69 */
70
71 public void setPistonStatus(int status) {
72
73 }
74
75 @Override
76 protected void initDefaultCommand() {
77
78 }
79 }