Files
2023WayOfTheRobot/src/main/java/frc4388/robot/subsystems/Claw.java
T
2023-03-24 10:53:22 -06:00

88 lines
1.8 KiB
Java

package frc4388.robot.subsystems;
import java.util.Timer;
import java.util.TimerTask;
import com.revrobotics.CANSparkMax;
import edu.wpi.first.wpilibj.PWM;
import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
public class Claw extends SubsystemBase {
// private final PWM m_leftMotor;
// private final PWM m_rightMotor;
private final Servo m_leftMotor;
private final Servo m_rightMotor;
private final CANSparkMax m_spinnyspin;
private boolean m_open = false;
// Opens claw
// public Claw(PWM leftMotor, PWM rightMotor, CANSparkMax spinnyspin) {
// m_leftMotor = leftMotor;
// m_rightMotor = rightMotor;
// m_spinnyspin = spinnyspin;
// setClaw(false);
// }
public Claw(Servo leftMotor, Servo rightMotor, CANSparkMax spinnyspin) {
m_leftMotor = leftMotor;
m_rightMotor = rightMotor;
m_spinnyspin = spinnyspin;
// setClaw(false);
}
public void setAngle(double angle) {
m_leftMotor.setAngle(angle);
m_leftMotor.setAngle(180 - angle);
}
public void setClaw(boolean open) {
// Open claw
m_open = open;
// ! THIS IS FOR CONE
m_leftMotor.setAngle(m_open ? 0 : 180);
m_rightMotor.setAngle(m_open ? 180 : 0);
// ! THIS IS FOR CUBE
// m_leftMotor.setAngle(m_open ? 90 : 180);
// m_rightMotor.setAngle(m_open ? 90 : 0);
// if (m_open)
// m_spinnyspin.set(0.2);
// else
// m_spinnyspin.set(-0.2);
// new Timer().schedule(new TimerTask() {
// @Override
// public void run() {
// nospinnyspin();
// }
// }, 750);
}
public void toggle() {
setClaw(!m_open);
}
public boolean isClawOpen() {
return m_open;
}
public void intake() {
m_spinnyspin.set(0.2);
}
public void nospinnyspin() {
m_spinnyspin.set(0);
}
public void outtake() {
m_spinnyspin.set(-0.2);
}
}