package com.team254.frc2015.subsystems; import com.team254.lib.util.CheesySolenoid; import com.team254.lib.util.CheesySpeedController; import com.team254.lib.util.StateHolder; import com.team254.lib.util.Subsystem; import edu.wpi.first.wpilibj.AnalogInput; public class Intake extends Subsystem { CheesySolenoid m_solenoid; CheesySolenoid m_coop_solenoid; CheesySolenoid m_pinball_wizard_solenoid; AnalogInput m_breakbeam; CheesySpeedController m_left_motor; CheesySpeedController m_right_motor; public Intake(String name, CheesySolenoid solenoid, CheesySolenoid coop_solenoid, CheesySolenoid pinball_wizard_solenoid, CheesySpeedController left_motor, CheesySpeedController right_motor, AnalogInput breakbeam) { super(name); m_solenoid = solenoid; m_left_motor = left_motor; m_right_motor = right_motor; m_breakbeam = breakbeam; m_coop_solenoid = coop_solenoid; m_pinball_wizard_solenoid = pinball_wizard_solenoid; } public void open() { m_solenoid.set(false); // open default } public void close() { m_solenoid.set(true); // open default } public void setSpeed(double speed) { setLeftRight(speed, speed); } public void setLeftRight(double left_speed, double right_speed) { m_left_motor.set(-left_speed); m_right_motor.set(-right_speed); } public void setPinballWizardOut(boolean out) { m_pinball_wizard_solenoid.set(out); } public void setCoopPusherOut(boolean out) { m_coop_solenoid.set(out); } public boolean getBreakbeamTriggered() { return m_breakbeam.getAverageVoltage() > 1.65; } @Override public void reloadConstants() { } @Override public void getState(StateHolder states) { states.put("breakbeam_voltage", m_breakbeam.getAverageVoltage()); states.put("breakbeam_state", getBreakbeamTriggered()); } }