From 1636a054ed1e688234fe329b76f567d6af08081f Mon Sep 17 00:00:00 2001 From: mimigamin Date: Mon, 6 Apr 2026 22:44:17 -0600 Subject: [PATCH] new limit switch --- src/main/java/frc4388/robot/RobotMap.java | 4 ++-- .../robot/constants/BuildConstants.java | 10 +++++----- .../robot/subsystems/intake/Intake.java | 2 +- .../subsystems/intake/IntakeConstants.java | 3 ++- .../robot/subsystems/intake/IntakeReal.java | 18 +++++++++++------- 5 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotMap.java b/src/main/java/frc4388/robot/RobotMap.java index b581c6d..6734b09 100644 --- a/src/main/java/frc4388/robot/RobotMap.java +++ b/src/main/java/frc4388/robot/RobotMap.java @@ -84,6 +84,7 @@ public class RobotMap { // // Configure LiDAR // reefLidar = new LidarReal(LiDARConstants.REEF_LIDAR_DIO_CHANNEL); // reverseLidar = new LidarReal(LiDARConstants.REVERSE_LIDAR_DIO_CHANNEL); + DigitalInput armLimitSwitch = new DigitalInput(IntakeConstants.ARM_LIMIT_SWITCH_CHANNEL); // Configure swerve drive train SwerveDrivetrain swerveDrivetrainReal = new SwerveDrivetrain (TalonFX::new, TalonFX::new, CANcoder::new, @@ -110,8 +111,7 @@ public class RobotMap { shooterIO = new ShooterReal(shooter1, shooter2, indexer); JankCoder armEncoder = new JankCoder(0, IntakeConstants.ARM_ENCODER_OFFSET); - intakeIO = new IntakeReal(arm, roller, armEncoder); - + intakeIO = new IntakeReal(armLimitSwitch, arm, roller, armEncoder); // Fault FaultPidgeon2.addDevice(swerveDrivetrainReal.getPigeon2(), "Gyro"); diff --git a/src/main/java/frc4388/robot/constants/BuildConstants.java b/src/main/java/frc4388/robot/constants/BuildConstants.java index 5549a39..8d1b4ee 100644 --- a/src/main/java/frc4388/robot/constants/BuildConstants.java +++ b/src/main/java/frc4388/robot/constants/BuildConstants.java @@ -7,12 +7,12 @@ public final class BuildConstants { public static final String MAVEN_GROUP = ""; public static final String MAVEN_NAME = "2026KPopRobotHunters"; public static final String VERSION = "unspecified"; - public static final int GIT_REVISION = 219; - public static final String GIT_SHA = "f9b9a7dd30b53213e360f67c5b7bcd4567fa30f3"; - public static final String GIT_DATE = "2026-04-04 20:41:00 MDT"; + public static final int GIT_REVISION = 220; + public static final String GIT_SHA = "9564554c0708fd0b761f959685258d9c1a90d11e"; + public static final String GIT_DATE = "2026-04-06 19:50:34 MDT"; public static final String GIT_BRANCH = "New-Intake"; - public static final String BUILD_DATE = "2026-04-06 19:43:24 MDT"; - public static final long BUILD_UNIX_TIME = 1775526204113L; + public static final String BUILD_DATE = "2026-04-06 22:42:14 MDT"; + public static final long BUILD_UNIX_TIME = 1775536934067L; public static final int DIRTY = 1; private BuildConstants(){} diff --git a/src/main/java/frc4388/robot/subsystems/intake/Intake.java b/src/main/java/frc4388/robot/subsystems/intake/Intake.java index 028ff94..d024fb3 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/Intake.java +++ b/src/main/java/frc4388/robot/subsystems/intake/Intake.java @@ -124,7 +124,7 @@ public class Intake extends SubsystemBase { case ExtendingRolling: io.armOutput(IntakeConstants.ARM_EXTEND_PERCENT_OUTPUT.get()); - io.setRollerOutput(state, IntakeConstants. ROLLER_PERCENT_OUTPUT.get()); //getTargetRollerSpeed(ChassisOverallSpeed)); + io.setRollerOutput(state, IntakeConstants.ROLLER_PERCENT_OUTPUT.get()); //getTargetRollerSpeed(ChassisOverallSpeed)); break; case Retracting: diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java index 0d8e46c..40daee3 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeConstants.java @@ -23,7 +23,7 @@ public class IntakeConstants { public static final double ROLLER_MOTOR_GEAR_RATIO = 3; public static final ConfigurableDouble ARM_ENCODER_OFFSET = new ConfigurableDouble("Arm Encoder Offset", 0); - + public static final int ARM_LIMIT_SWITCH_CHANNEL = 9; public static final ConfigurableDouble INTAKE_BOUNCE_HALF_PERIOD = new ConfigurableDouble("Bounce Half Period", 5.); public static final ConfigurableDouble INTAKE_BOUNCE_OUTPUT = new ConfigurableDouble("Bounce Output", 0.1); @@ -60,6 +60,7 @@ public class IntakeConstants { public static final ConfigurableDouble ARM_EXTEND_PERCENT_OUTPUT = new ConfigurableDouble("Arm extend % output", 0.4); public static final ConfigurableDouble ARM_RETRACT_PERCENT_OUTPUT = new ConfigurableDouble("Arm retract % output", -0.2); + public static final ConfigurableDouble ARM_REVERSE_ROLLER_RANGE = new ConfigurableDouble("Arm reverse roller range", 1.17); public static final ConfigurableDouble ROLLER_PERCENT_OUTPUT = new ConfigurableDouble("Roller Percent Output", .50); diff --git a/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java b/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java index 4ce5ce0..92b8ea0 100644 --- a/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java +++ b/src/main/java/frc4388/robot/subsystems/intake/IntakeReal.java @@ -12,17 +12,20 @@ import com.revrobotics.spark.SparkLimitSwitch; import com.revrobotics.spark.SparkMax; import edu.wpi.first.units.measure.Angle; +import edu.wpi.first.wpilibj.DigitalInput; import frc4388.utility.compute.JankCoder; public class IntakeReal implements IntakeIO { SparkMax m_armMotor; RelativeEncoder arm_encoder; - SparkLimitSwitch reverse_limit; + // SparkLimitSwitch reverse_limit; TalonFX m_rollerMotor; JankCoder m_encoder; + DigitalInput m_armLimitSwitch; public IntakeReal( + DigitalInput armLimitSwitch, SparkMax armMotor, TalonFX rollerMotor, JankCoder jankCoder @@ -31,7 +34,7 @@ public class IntakeReal implements IntakeIO { // m_pitchMotor = pitchMotor; m_armMotor = armMotor; arm_encoder = m_armMotor.getEncoder(); - reverse_limit = m_armMotor.getReverseLimitSwitch(); + m_armLimitSwitch = armLimitSwitch; m_rollerMotor = rollerMotor; m_encoder = jankCoder; @@ -75,9 +78,9 @@ public class IntakeReal implements IntakeIO { // m_rollerMotor.set(0); } - private boolean retractedLimit() { - return m_encoder.get() <= IntakeConstants.ARM_LIMIT_RETRACTED.get(); - } + // private boolean retractedLimit() { + // return m_encoder.get() <= IntakeConstants.ARM_LIMIT_RETRACTED.get(); + // } private boolean extendedLimit() { return m_encoder.get() >= IntakeConstants.ARM_LIMIT_EXTENDED.get(); } @@ -94,6 +97,7 @@ public class IntakeReal implements IntakeIO { } m_armMotor.set(percentOutput); + // System.out.println(percentOutput); } @@ -110,13 +114,13 @@ public class IntakeReal implements IntakeIO { state.rollerOutput = m_rollerMotor.get(); state.rollerMotorCurrent = m_rollerMotor.getStatorCurrent().getValue(); - state.retractedSoftLimit = retractedLimit(); + // state.retractedSoftLimit = retractedLimit(); state.extendedSoftLimit = extendedLimit(); state.intakeEncoder = m_encoder.getRotations(); state.encoderConnected = m_encoder.isConnected(); - state.retractedLimitSwitch = reverse_limit.isPressed(); + state.retractedLimitSwitch = m_armLimitSwitch.get(); if(state.retractedLimitSwitch) { m_encoder.resetRotations();