diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index bd3b0e1..41ad5f8 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -5,6 +5,8 @@ import static edu.wpi.first.units.Units.Meters; import static edu.wpi.first.units.Units.RotationsPerSecond; +import org.lasarobotics.hardware.ctre.PhoenixCANBus; +import org.lasarobotics.hardware.ctre.TalonFX; import org.lasarobotics.hardware.generic.LimitSwitch; import org.lasarobotics.hardware.revrobotics.Spark; import org.lasarobotics.vision.AprilTagCamera.Resolution; @@ -28,7 +30,8 @@ public static class Field { public static final AprilTagFieldLayout FIELD_LAYOUT = AprilTagFieldLayout.loadField(AprilTagFields.k2025Reefscape); public static final Pose2d SOURCE_INTAKE_POINT = new Pose2d( new Translation2d(Meters.of(1.209), Meters.of(1.1)), - Rotation2d.fromDegrees(-145.305)); + Rotation2d.fromDegrees(-145.305) + ); } public static class Frequencies { @@ -49,24 +52,10 @@ public static class EndEffector { } public static class LiftHardware { - public static final int ELEVATOR_MOTOR_ID = 4; - public static final int PIVOT_MOTOR_ID = 5; - public static final Spark.ID OUTTAKE_MOTOR_ID = new Spark.ID("LiftHardware/Outtake", 6); + public static final TalonFX.ID ELEVATOR_MOTOR_ID = new TalonFX.ID("LiftHardware/Elevator", PhoenixCANBus.RIO, 4); + public static final TalonFX.ID PIVOT_MOTOR_ID = new TalonFX.ID("LiftHardware/Pivot", PhoenixCANBus.RIO, 5); public static final Distance SPROCKET_PITCH_RADIUS = Inches.of((1.751)/(2.0)); - public static final int INSIDE_END_EFFECTOR_BEAM_BREAK_PORT = 0; - public static final int OUTSIDE_END_EFFECTOR_BEAM_BREAK_PORT = 1; - public static final int ELEVATOR_HOMING_BEAM_BREAK_PORT = 2; - } - - public static class IntakeHardware { - public static final Spark.ID FLAPPER_MOTOR_ID = new Spark.ID("IntakeHardware/FlapperIntakeMotor", 7); - public static final Spark.ID FUNNEL_MOTOR_ID = new Spark.ID("IntakeHardware/FrontIntakeMotor", 8); - public static final LimitSwitch.ID FIRST_INTAKE_BEAM_BREAK = new LimitSwitch.ID("IntakeHardware/FirstIntakeBeamBreak", 1); - public static final LimitSwitch.ID SECOND_INTAKE_BEAM_BREAK = new LimitSwitch.ID("IntakeHardware/SecondIntakeBeamBreak", 2); - } - - public static class EndEffectorHardware { - public static final Spark.ID OUTTAKE_MOTOR_ID = new Spark.ID("endEffecterMotor", 7); + public static final LimitSwitch.ID ELEVATOR_HOMING_BEAM_BREAK_PORT = new LimitSwitch.ID("LiftHardware/HomingSwitch", 0); } public static class IntakeHardware { diff --git a/src/test/java/frc/robot/subsystems/EndEffectorSubsystemTest.java b/src/test/java/frc/robot/subsystems/EndEffectorSubsystemTest.java deleted file mode 100644 index ee493cc..0000000 --- a/src/test/java/frc/robot/subsystems/EndEffectorSubsystemTest.java +++ /dev/null @@ -1,110 +0,0 @@ -package frc.robot.subsystems; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.MethodOrderer; -import org.junit.jupiter.api.Order; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestMethodOrder; -import org.lasarobotics.hardware.revrobotics.Spark; -import org.lasarobotics.hardware.revrobotics.SparkInputsAutoLogged; -import org.lasarobotics.hardware.revrobotics.Spark.MotorKind; - -import edu.wpi.first.hal.HAL; -import frc.robot.Constants; -import frc.robot.subsystems.endeffector.EndEffectorSubsystem; - -@TestMethodOrder(MethodOrderer.OrderAnnotation.class) -public class EndEffectorSubsystemTest { - private EndEffectorSubsystem m_endEffectorSystem; - private EndEffectorSubsystem.Hardware m_endEffectorHardware; - - private Spark m_endEffectorMotor; - - @BeforeEach - public void setup() { - HAL.initialize(500, 0); - - m_endEffectorMotor = mock(Spark.class); - - SparkInputsAutoLogged sparkInputs = new SparkInputsAutoLogged(); - when(m_endEffectorMotor.getInputs()).thenReturn(sparkInputs); - - when(m_endEffectorMotor.getKind()).thenReturn(MotorKind.NEO_VORTEX); - - when(m_endEffectorMotor.getID()).thenReturn(Constants.EndEffectorHardware.OUTTAKE_MOTOR_ID); - - m_endEffectorHardware = new EndEffectorSubsystem.Hardware(m_endEffectorMotor); - - m_endEffectorSystem = EndEffectorSubsystem.getInstance(m_endEffectorHardware); - } - - public void close() { - m_endEffectorSystem.close(); - m_endEffectorSystem = null; - } - - @Test - @Order(1) - @DisplayName("Test if End Effector can outtake") - public void outtake() { - SparkInputsAutoLogged sparkInputs = new SparkInputsAutoLogged(); - - m_endEffectorSystem.setState(EndEffectorSubsystem.endEffectorStates.SCORE); - - when(m_endEffectorMotor.getInputs()).thenReturn(sparkInputs); - - verify(m_endEffectorMotor, times(1)).set(1.0); - - m_endEffectorSystem.setState(EndEffectorSubsystem.endEffectorStates.IDLE); - - } - - @Test - @Order(2) - @DisplayName("Test if End Effector can regurgitate") - public void regurgitate() { - SparkInputsAutoLogged sparkInputs = new SparkInputsAutoLogged(); - - m_endEffectorSystem.setState(EndEffectorSubsystem.endEffectorStates.REGURGITATE); - - when(m_endEffectorMotor.getInputs()).thenReturn(sparkInputs); - - verify(m_endEffectorMotor, times(1)).set(-1.0); - - m_endEffectorSystem.setState(EndEffectorSubsystem.endEffectorStates.IDLE); - - } - - @Test - @Order(3) - @DisplayName("Test if End Effector can Intake") - public void intake() { - SparkInputsAutoLogged sparkInputs = new SparkInputsAutoLogged(); - - sparkInputs.forwardLimitSwitch = false; - sparkInputs.reverseLimitSwitch = false; - - m_endEffectorSystem.setState(EndEffectorSubsystem.endEffectorStates.INTAKE); - - verify(m_endEffectorMotor, times(1)).set(Constants.EndEffector.INTAKE_MOTOR_SPEED); - - sparkInputs.forwardLimitSwitch = true; - sparkInputs.reverseLimitSwitch = false; - - verify(m_endEffectorMotor, times(1)).set(Constants.EndEffector.CENTER_CORAL_MOTOR_SPEED); - - sparkInputs.forwardLimitSwitch = true; - sparkInputs.reverseLimitSwitch = true; - - verify(m_endEffectorMotor, times(1)).close(); - - - - } -}