2022-01-15 14:20:49 -07:00
|
|
|
package frc4388.robot.subsystems;
|
|
|
|
|
|
|
|
|
|
import edu.wpi.first.wpilibj.motorcontrol.Spark;
|
|
|
|
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
|
|
|
import frc4388.robot.Constants;
|
2022-01-15 15:21:46 -07:00
|
|
|
import edu.wpi.first.wpilibj.DigitalInput;
|
2022-01-15 14:20:49 -07:00
|
|
|
|
|
|
|
|
public class Serializer extends SubsystemBase{
|
|
|
|
|
private Spark m_serializerBelt;
|
|
|
|
|
private Spark m_serializerShooterBelt;
|
2022-01-15 15:21:46 -07:00
|
|
|
private DigitalInput m_serializerBeam;
|
2022-01-15 14:20:49 -07:00
|
|
|
private boolean serializerState;
|
|
|
|
|
|
2022-01-15 15:21:46 -07:00
|
|
|
public Serializer(Spark serializerBelt, Spark serializerShooterBelt) {
|
|
|
|
|
m_serializerBelt = serializerBelt;
|
|
|
|
|
m_serializerShooterBelt = serializerShooterBelt;
|
|
|
|
|
m_serializerBeam = new DigitalInput(Constants.SerializerConstants.SERIALIZER_BELT_BEAM);
|
|
|
|
|
|
|
|
|
|
serializerState = false;
|
|
|
|
|
setSerializerState(serializerState);
|
|
|
|
|
}
|
|
|
|
|
public boolean getBeam() {
|
|
|
|
|
return m_serializerBeam.get();
|
|
|
|
|
}
|
|
|
|
|
public void setSerializerStateWithBeam(boolean ctrlbutter, boolean beambroken) {
|
|
|
|
|
boolean total = ctrlbutter || beambroken;
|
|
|
|
|
setSerializerState(total);
|
|
|
|
|
}
|
|
|
|
|
public void setSerializerState(boolean state) {
|
2022-01-18 18:04:58 -07:00
|
|
|
setSerializerBeltState(state);
|
|
|
|
|
setSerializerShooterBeltState(state);
|
|
|
|
|
serializerState = state;
|
|
|
|
|
}
|
2022-01-15 15:21:46 -07:00
|
|
|
|
2022-01-18 18:04:58 -07:00
|
|
|
public void setSerializerBeltState(boolean state) {
|
|
|
|
|
double serializerBeltSpeed = state ? Constants.SerializerConstants.SERIALIZER_BELT_SPEED : 0.d;
|
2022-01-15 15:21:46 -07:00
|
|
|
m_serializerBelt.set(serializerBeltSpeed);
|
2022-01-18 18:04:58 -07:00
|
|
|
}
|
2022-01-15 15:21:46 -07:00
|
|
|
|
2022-01-18 18:04:58 -07:00
|
|
|
public void setSerializerShooterBeltState(boolean state) {
|
|
|
|
|
double serializerShooterBeltSpeed = state ? Constants.SerializerConstants.SERIALIZER_SHOOTER_BELT_SPEED : 0.d;
|
|
|
|
|
m_serializerShooterBelt.set(serializerShooterBeltSpeed);
|
2022-01-15 15:21:46 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean getSerializerState() {
|
|
|
|
|
return serializerState;
|
|
|
|
|
}
|
2022-01-15 14:20:49 -07:00
|
|
|
}
|