Files
2022NoWayHome/src/main/java/frc4388/robot/subsystems/Serializer.java
T

53 lines
1.8 KiB
Java
Raw Normal View History

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-25 17:17:07 -07:00
import com.revrobotics.CANSparkMax;
2022-01-15 14:20:49 -07:00
public class Serializer extends SubsystemBase{
2022-01-25 17:17:07 -07:00
private CANSparkMax m_serializerBelt;
private CANSparkMax 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-25 17:17:07 -07:00
public Serializer(CANSparkMax serializerBelt, CANSparkMax serializerShooterBelt) {
2022-01-15 15:21:46 -07:00
m_serializerBelt = serializerBelt;
m_serializerShooterBelt = serializerShooterBelt;
2022-01-28 17:59:25 -07:00
m_serializerBeam = new DigitalInput(Constants.SerializerConstants.SERIALIZER_BELT_BEAM);
2022-01-15 15:21:46 -07:00
serializerState = false;
setSerializerState(serializerState);
2022-01-25 17:17:07 -07:00
m_serializerBelt.set(0);
m_serializerShooterBelt.set(0);
2022-01-15 15:21:46 -07:00
}
public boolean getBeam() {
2022-01-28 17:59:25 -07:00
return m_serializerBeam.get();
2022-01-15 15:21:46 -07:00
}
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
}