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

76 lines
2.3 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-02-28 16:44:54 -07:00
public Serializer(CANSparkMax serializerBelt, CANSparkMax serializerShooterBelt, DigitalInput serializerBeam) { //TODO: Only one motor lol
2022-01-15 15:21:46 -07:00
m_serializerBelt = serializerBelt;
m_serializerShooterBelt = serializerShooterBelt;
2022-02-26 15:41:54 -07:00
m_serializerBeam = serializerBeam;
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
}
2022-03-05 11:04:40 -07:00
/**
* Gets The State Of The Beam
* @return The State Of The Beam
*/
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
}
2022-03-05 11:04:40 -07:00
/**
* Sets The Serializer State With The Beam
* @param state Your State Of The Button
* @param beambroken The State of the Beam Senser
*/
public void setSerializerStateWithBeam(boolean state, boolean beambroken) {
boolean total = state || beambroken;
2022-01-15 15:21:46 -07:00
setSerializerState(total);
}
2022-03-05 11:04:40 -07:00
/**
* Sets The Serializer State With The Beam
* @param state Your State Of The Button
*/
2022-01-15 15:21:46 -07:00
public void setSerializerState(boolean state) {
2022-01-18 18:04:58 -07:00
setSerializerBeltState(state);
setSerializerShooterBeltState(state);
serializerState = state;
}
2022-03-05 11:04:40 -07:00
/**
* Sets the Serializer Belt State
* @param state Your State Of The Button
*/
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-03-05 11:04:40 -07:00
/**
* Sets the Shooter Belt State
* @param state Your State Of The Button
*/
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
}
2022-03-05 11:04:40 -07:00
/**
* Gets the Serializer State
* @return The Serializer State
*/
2022-01-15 15:21:46 -07:00
public boolean getSerializerState() {
return serializerState;
}
2022-01-15 14:20:49 -07:00
}