package com.team254.frc2015; import com.team254.frc2015.behavior.Commands; import com.team254.lib.util.Latch; import edu.wpi.first.wpilibj.Joystick; import java.util.Optional; public class OperatorInterface { private Commands m_commands = new Commands(); Joystick leftStick = HardwareAdaptor.kLeftStick; Joystick rightStick = HardwareAdaptor.kRightStick; Joystick buttonBoard = HardwareAdaptor.kButtonBoard; Latch horizontalCanLatch = new Latch(); Latch coopLatch = new Latch(); Latch verticalCanLatch = new Latch(); public void reset() { m_commands = new Commands(); } public Commands getCommands() { // Left stick if (leftStick.getRawButton(1)) { m_commands.roller_request = Commands.RollerRequest.INTAKE; } else if (leftStick.getRawButton(2)) { m_commands.roller_request = Commands.RollerRequest.EXHAUST; } else { m_commands.roller_request = Commands.RollerRequest.NONE; } // Right stick if (rightStick.getRawButton(2)) { m_commands.intake_request = Commands.IntakeRequest.OPEN; } else { m_commands.intake_request = Commands.IntakeRequest.CLOSE; } // Button board if (buttonBoard.getRawAxis(3) > 0.1) { m_commands.elevator_mode = Commands.ElevatorMode.BOTTOM_CARRIAGE_MODE; } else { m_commands.elevator_mode = Commands.ElevatorMode.TOP_CARRIAGE_MODE; } if (buttonBoard.getRawButton(3)) { m_commands.bottom_carriage_flapper_request = Commands.BottomCarriageFlapperRequest.OPEN; } else { m_commands.bottom_carriage_flapper_request = Commands.BottomCarriageFlapperRequest.CLOSE; } if (buttonBoard.getRawButton(8)) { // Bottom carriage jog up if (buttonBoard.getRawButton(11)) { // Slow m_commands.bottom_jog = Optional.of(Constants.kElevatorJogSlowPwm); } else if (buttonBoard.getRawButton(12)) { // Fast m_commands.bottom_jog = Optional.of(Constants.kElevatorJogFastPwm); } else { // Medium m_commands.bottom_jog = Optional.of(Constants.kElevatorJogFastPwm); // disable old man mode } } else if (buttonBoard.getRawButton(10)) { // Bottom carriage jog down if (buttonBoard.getRawButton(11)) { // Slow m_commands.bottom_jog = Optional.of(-Constants.kElevatorJogSlowPwm); } else if (buttonBoard.getRawButton(12)) { // Fast m_commands.bottom_jog = Optional.of(-Constants.kElevatorJogFastPwm); } else { // Medium m_commands.bottom_jog = Optional.of(-Constants.kElevatorJogMediumPwm); } } else { m_commands.bottom_jog = Optional.empty(); } if (buttonBoard.getRawButton(7)) { // top up if (buttonBoard.getRawButton(11)) { // Slow m_commands.top_jog = Optional.of(Constants.kElevatorJogSlowPwm); } else if (buttonBoard.getRawButton(12)) { // Fast m_commands.top_jog = Optional.of(Constants.kElevatorJogFastPwm); } else { // Medium m_commands.top_jog = Optional.of(Constants.kElevatorJogFastPwm); // disable old man mode } } else if (buttonBoard.getRawButton(9)) { // top down if (buttonBoard.getRawButton(11)) { // Slow m_commands.top_jog = Optional.of(-Constants.kElevatorJogSlowPwm); } else if (buttonBoard.getRawButton(12)) { // Fast m_commands.top_jog = Optional.of(-Constants.kElevatorJogFastPwm); } else { // Medium m_commands.top_jog = Optional.of(-Constants.kElevatorJogMediumPwm); } } else { m_commands.top_jog = Optional.empty(); } m_commands.cancel_current_routine = buttonBoard.getX() < 0; // Button 6 if (coopLatch.update(buttonBoard.getY() < 0)) { // Button 5 m_commands.preset_request = Commands.PresetRequest.COOP; } else if (buttonBoard.getRawButton(5)) { // Button 2 m_commands.preset_request = Commands.PresetRequest.SCORE; } else if (buttonBoard.getRawButton(4)) { // Button 1 //m_commands.preset_request = Commands.PresetRequest.CARRY_SQUEZE; } else { m_commands.preset_request = Commands.PresetRequest.NONE; } if (verticalCanLatch.update(buttonBoard.getRawButton(6))) { // Button 3 m_commands.vertical_can_grab_request = Commands.VerticalCanGrabberRequests.ACTIVATE; } else { m_commands.vertical_can_grab_request = Commands.VerticalCanGrabberRequests.NONE; } m_commands.top_carriage_claw_request = Commands.TopCarriageClawRequest.CLOSE; if (buttonBoard.getRawButton(1)) { m_commands.top_carriage_claw_request = Commands.TopCarriageClawRequest.OPEN; } if (horizontalCanLatch.update(buttonBoard.getRawButton(2))) { m_commands.horizontal_can_grabber_request = Commands.HorizontalCanGrabberRequests.ACTIVATE; } else { m_commands.horizontal_can_grabber_request = Commands.HorizontalCanGrabberRequests.NONE; } m_commands.floor_load_mode = buttonBoard.getRawAxis(3) > 0.1; m_commands.deploy_peacock = buttonBoard.getRawButton(11) && buttonBoard.getZ() < 0; // button 4; if (buttonBoard.getZ() < 0) { // left motor peacock if (buttonBoard.getRawButton(11)) { m_commands.left_motor_peacock_requests = Commands.MotorPeacockRequests.MOVE_DOWN; } else { m_commands.left_motor_peacock_requests = Commands.MotorPeacockRequests.MOVE_UP; } } else { m_commands.left_motor_peacock_requests = Commands.MotorPeacockRequests.NONE; } if (buttonBoard.getRawButton(4)) { // right motor peacock if (buttonBoard.getRawButton(11)) { m_commands.right_motor_peacock_requests = Commands.MotorPeacockRequests.MOVE_DOWN; } else { m_commands.right_motor_peacock_requests = Commands.MotorPeacockRequests.MOVE_UP; } } else { m_commands.right_motor_peacock_requests = Commands.MotorPeacockRequests.NONE; } return m_commands; } }