diff --git a/src/main/java/com/team766/robot/OI.java b/src/main/java/com/team766/robot/OI.java index bfe88916..bebc8607 100644 --- a/src/main/java/com/team766/robot/OI.java +++ b/src/main/java/com/team766/robot/OI.java @@ -156,6 +156,15 @@ public void run(Context context) { intakeState = IntakeState.IDLE; } } + //grabber OI + if(controlPanel.getButtonPressed(InputConstants.GRAB_IN)){ + Robot.grabber.grabberPickUp(); + } else if(controlPanel.getButtonPressed(InputConstants.GRAB_OUT)){ + Robot.grabber.grabberLetGo(); + } else { + Robot.grabber.grabberStop(); + } + // Sets the wheels to the cross position if the cross button is pressed if (rightJoystick.getButtonPressed(InputConstants.CROSS_WHEELS)) { diff --git a/src/main/java/com/team766/robot/constants/InputConstants.java b/src/main/java/com/team766/robot/constants/InputConstants.java index 3be8051d..ef42bde1 100644 --- a/src/main/java/com/team766/robot/constants/InputConstants.java +++ b/src/main/java/com/team766/robot/constants/InputConstants.java @@ -19,7 +19,7 @@ public final class InputConstants { // Joystick buttons public static final int CROSS_WHEELS = 1; - public static final int GRABBER_RELEASE = 1; + //public static final int GRABBER_RELEASE = 1; public static final int FINE_DRIVING = 1; // Control Panel Buttons @@ -36,6 +36,10 @@ public final class InputConstants { public static final int RESET_GYRO = 11; public static final int RESET_POS = 12; + public static final int GRAB_IN = 13; + public static final int GRAB_OUT = 14; + public static final int GRAB_STOP = 15; + public static final int ANTI_GRAV = 16; diff --git a/src/main/java/com/team766/robot/mechanisms/Grabber.java b/src/main/java/com/team766/robot/mechanisms/Grabber.java index 08aaa418..2658d768 100644 --- a/src/main/java/com/team766/robot/mechanisms/Grabber.java +++ b/src/main/java/com/team766/robot/mechanisms/Grabber.java @@ -3,23 +3,27 @@ import com.team766.framework.Mechanism; import com.team766.hal.MotorController; import com.team766.hal.RobotProvider; -import com.team766.hal.SolenoidController; -public class Grabber extends Mechanism{ - - private MotorController wrist; - private SolenoidController grabber; +public class Grabber extends Mechanism { + private MotorController grabby; public Grabber(){ - wrist = RobotProvider.instance.getMotor("wrist"); - grabber = RobotProvider.instance.getSolenoid("grabber"); + grabby = RobotProvider.instance.getMotor("arms.grabber"); } - public void grabIn(){ - grabber.set(true); + public void grabberPickUp(){ + checkContextOwnership(); + grabby.set(1.0); + + } + + public void grabberLetGo(){ + checkContextOwnership(); + grabby.set(-1.0); } - public void grabOut(){ - grabber.set(false); + public void grabberStop(){ + checkContextOwnership(); + grabby.set(0.0); } } diff --git a/src/main/java/com/team766/robot/procedures/GrabberIn.java b/src/main/java/com/team766/robot/procedures/GrabberIn.java new file mode 100644 index 00000000..8bb41ef9 --- /dev/null +++ b/src/main/java/com/team766/robot/procedures/GrabberIn.java @@ -0,0 +1,12 @@ +package com.team766.robot.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Robot; + +public class GrabberIn extends Procedure{ + public void run(Context context){ + context.takeOwnership(Robot.grabber); + Robot.grabber.grabberPickUp(); + } +} diff --git a/src/main/java/com/team766/robot/procedures/GrabberOut.java b/src/main/java/com/team766/robot/procedures/GrabberOut.java new file mode 100644 index 00000000..fc13fdc5 --- /dev/null +++ b/src/main/java/com/team766/robot/procedures/GrabberOut.java @@ -0,0 +1,12 @@ +package com.team766.robot.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Robot; + +public class GrabberOut extends Procedure{ + public void run(Context context){ + context.takeOwnership(Robot.grabber); + Robot.grabber.grabberLetGo(); + } +} diff --git a/src/main/java/com/team766/robot/procedures/GrabberStop.java b/src/main/java/com/team766/robot/procedures/GrabberStop.java new file mode 100644 index 00000000..eb38e1e8 --- /dev/null +++ b/src/main/java/com/team766/robot/procedures/GrabberStop.java @@ -0,0 +1,12 @@ +package com.team766.robot.procedures; + +import com.team766.framework.Context; +import com.team766.framework.Procedure; +import com.team766.robot.Robot; + +public class GrabberStop extends Procedure{ + public void run(Context context){ + context.takeOwnership(Robot.grabber); + Robot.grabber.grabberStop(); + } +}