From 2fdc9338f55ad69b5b88b3d2e59aa423c9f7b236 Mon Sep 17 00:00:00 2001 From: abi-appusamy9932 Date: Fri, 13 Mar 2026 21:28:07 -0400 Subject: [PATCH 01/31] adding operator overrides may need to add more --- src/main/java/org/team2342/frc/RobotContainer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 838c377..a5fb5cd 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -381,6 +381,15 @@ private void configureBindings() { .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .whileTrue(Commands.parallel(indexer.in(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); + //Operator override + operatorController + .rightTrigger() + .whileTrue(Commands.parallel(indexer.in(), kicker.in())) + .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); + operatorController + .rightBumper() + .whileTrue(Commands.parallel(indexer.out(), kicker.out(), wheels.out())) + .onFalse(Commands.parallel(indexer.stop(), kicker.stop(), wheels.stop())); // Location Triggers allianceZoneTrigger From aa1cace616297fa3f32be05eef39eb674d0d326a Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:32:32 -0400 Subject: [PATCH 02/31] Update at 'Sat Mar 14 08:32:31 EDT 2026' --- .../java/org/team2342/frc/RobotContainer.java | 39 +++++++++++++++++-- .../team2342/frc/subsystems/Conductor.java | 31 ++++++++++++--- .../frc/subsystems/shooter/Turret.java | 14 +++++++ .../org/team2342/frc/util/FiringSolver.java | 11 +++--- 4 files changed, 80 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index a5fb5cd..1548585 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -102,6 +102,9 @@ public class RobotContainer { private final Trigger shiftAboutToEnd; private final Trigger activeOrPassing; + private double turretManual; + private double flywheelManual; + public RobotContainer() { switch (Constants.CURRENT_MODE) { case REAL: @@ -151,7 +154,14 @@ public RobotContainer() { CANConstants.INTAKE_WHEEL_MOTOR_ID, IntakeConstants.INTAKE_WHEELS_MOTOR_CONFIG)); - conductor = new Conductor(flywheel, turret, drive::getPose, drive::getChassisSpeeds); + conductor = + new Conductor( + flywheel, + turret, + drive::getPose, + drive::getChassisSpeeds, + () -> turretManual, + () -> flywheelManual); leds = new LEDSubsystem( new LedIOCANdle(CANConstants.CANDLE_ID, 32), @@ -204,7 +214,14 @@ public RobotContainer() { turret = new Turret(new SmartMotorIO() {}); pivot = new Pivot(new SmartMotorIO() {}); - conductor = new Conductor(flywheel, turret, drive::getPose, drive::getChassisSpeeds); + conductor = + new Conductor( + flywheel, + turret, + drive::getPose, + drive::getChassisSpeeds, + () -> turretManual, + () -> flywheelManual); leds = new LEDSubsystem(new LedIO() {}, "CANdle", vision::hasTags, conductor::getCurrentState); @@ -231,7 +248,14 @@ public RobotContainer() { turret = new Turret(new SmartMotorIO() {}); kicker = new Kicker(new DumbMotorIO() {}); - conductor = new Conductor(flywheel, turret, drive::getPose, drive::getChassisSpeeds); + conductor = + new Conductor( + flywheel, + turret, + drive::getPose, + drive::getChassisSpeeds, + () -> turretManual, + () -> flywheelManual); leds = new LEDSubsystem(new LedIO() {}, "CANdle", vision::hasTags, conductor::getCurrentState); @@ -381,7 +405,7 @@ private void configureBindings() { .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .whileTrue(Commands.parallel(indexer.in(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); - //Operator override + // Operator override operatorController .rightTrigger() .whileTrue(Commands.parallel(indexer.in(), kicker.in())) @@ -390,6 +414,8 @@ private void configureBindings() { .rightBumper() .whileTrue(Commands.parallel(indexer.out(), kicker.out(), wheels.out())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop(), wheels.stop())); + // Turret Zero + operatorController.back().onTrue(Commands.runOnce(() -> turret.zeroTurret(), turret)); // Location Triggers allianceZoneTrigger @@ -447,6 +473,11 @@ public void updateAlerts() { operatorControllerAlert.set(!operatorController.isConnected()); } + public void resetManual() { + flywheelManual = flywheel.getVelocityMetersPerSec(); + turretManual = turret.getTurretPositionAsADouble(); + } + public static boolean withinBounds(double value, double bound1, double bound2) { return value <= Math.max(bound1, bound2) && value >= Math.min(bound1, bound2); } diff --git a/src/main/java/org/team2342/frc/subsystems/Conductor.java b/src/main/java/org/team2342/frc/subsystems/Conductor.java index cffb130..460f4ee 100644 --- a/src/main/java/org/team2342/frc/subsystems/Conductor.java +++ b/src/main/java/org/team2342/frc/subsystems/Conductor.java @@ -11,6 +11,7 @@ import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import java.util.function.DoubleSupplier; import java.util.function.Supplier; import lombok.experimental.Delegate; import org.team2342.frc.Constants; @@ -29,6 +30,7 @@ public class Conductor extends SubsystemBase { public enum ConductorState { UNDETERMINED, DISABLED, + MANUAL, WARM_UP, TRACKED_FIRING, TUNING, @@ -48,17 +50,25 @@ public enum ConductorState { private final Supplier poseSupplier; private final Supplier velocitySupplier; + private final DoubleSupplier manualTurretSupplier; + private final DoubleSupplier manualFlywheelSupplier; + public Conductor( Flywheel flywheel, Turret turret, Supplier poseSupplier, - Supplier velocitySupplier) { + Supplier velocitySupplier, + DoubleSupplier manualTurretSupplier, + DoubleSupplier manualFlywheelSupplier) { this.flywheel = flywheel; this.turret = turret; this.poseSupplier = poseSupplier; this.velocitySupplier = velocitySupplier; + this.manualFlywheelSupplier = manualFlywheelSupplier; + this.manualTurretSupplier = manualTurretSupplier; + setupStateCommands(); setupTransitions(); @@ -127,12 +137,22 @@ private void setupStateCommands() { .calculate(velocitySupplier.get(), poseSupplier.get()) .turretAngle()) .alongWith(flywheel.shoot(flywheelSpeed))); + + fsm.addStateCommand( + ConductorState.MANUAL, + turret + .runPositionNoLimitCommand(manualTurretSupplier) + .alongWith(flywheel.shoot(manualFlywheelSupplier))); } public Command disable() { return Commands.runOnce(() -> fsm.disable()); } + public Command forceManual() { + return Commands.runOnce(() -> fsm.forceState(ConductorState.MANUAL)); + } + public Command enable() { return Commands.runOnce(() -> fsm.enable()); } @@ -142,10 +162,11 @@ public ConductorState getCurrentState() { } private void setupTransitions() { - fsm.addOmniTransition(ConductorState.DISABLED); - fsm.addOmniTransition(ConductorState.TRACKED_FIRING); - fsm.addOmniTransition(ConductorState.WARM_UP); - fsm.addOmniTransition(ConductorState.TUNING); + fsm.addTransition(ConductorState.UNDETERMINED, ConductorState.DISABLED); + fsm.addDualTransition(ConductorState.DISABLED, ConductorState.TRACKED_FIRING); + fsm.addDualTransition(ConductorState.WARM_UP, ConductorState.TRACKED_FIRING); + fsm.addDualTransition(ConductorState.DISABLED, ConductorState.WARM_UP); + fsm.addDualTransition(ConductorState.DISABLED, ConductorState.TUNING); } public interface FSMDelegate { diff --git a/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java b/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java index 90cbd21..46266dd 100644 --- a/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java +++ b/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java @@ -12,6 +12,7 @@ import edu.wpi.first.wpilibj.Alert.AlertType; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import java.util.function.DoubleSupplier; import java.util.function.Supplier; import org.littletonrobotics.junction.AutoLogOutput; import org.littletonrobotics.junction.Logger; @@ -53,10 +54,19 @@ public void runPosition(Supplier target) { turretMotor.runPosition(goal); } + public void runPositionNoLimit(DoubleSupplier target) { + this.goal = target.getAsDouble(); + turretMotor.runPosition(goal); + } + public Command runPositionCommand(Rotation2d target) { return run(() -> runPosition(target)).withName("Turret RunPosition"); } + public Command runPositionNoLimitCommand(DoubleSupplier target) { + return run(() -> runPositionNoLimit(target)).withName("Turret RunPosition No Limit"); + } + public Command runPositionCommand(Supplier target) { return run(() -> runPosition(target)).withName("Turret RunPosition"); } @@ -86,6 +96,10 @@ public Rotation2d getTurretPosition() { return Rotation2d.fromRadians(inputs.positionRad); } + public double getTurretPositionAsADouble() { + return inputs.positionRad; + } + public double getTurretVelocity() { return inputs.velocityRadPerSec; } diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index 50f8c7f..fe466ed 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -14,7 +14,6 @@ import edu.wpi.first.math.kinematics.ChassisSpeeds; import org.littletonrobotics.junction.Logger; import org.team2342.frc.Constants.TurretConstants; -import org.team2342.frc.RobotContainer; import org.team2342.lib.util.AllianceUtils; public class FiringSolver { @@ -65,11 +64,11 @@ public FiringSolution calculate(ChassisSpeeds velocity, Pose2d position) { return lastSolution; } - boolean outsideAllianceZone = - !RobotContainer.withinBounds( - position.getX(), - AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), - AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); + boolean outsideAllianceZone = false; + // !RobotContainer.withinBounds( + // position.getX(), + // AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), + // AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); if (outsideAllianceZone) { Pose2d turretPose = From 329f093b9eac002b9401fe596264c36c4af5bd52 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:36:54 -0400 Subject: [PATCH 03/31] Update at 'Sat Mar 14 08:36:54 EDT 2026' --- src/main/java/org/team2342/frc/util/FiringSolver.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index fe466ed..0007bbd 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -33,11 +33,11 @@ public class FiringSolver { speedMap.put(1.942, 14.2); speedMap.put(2.712, 14.2); speedMap.put(2.847, 15.0); - speedMap.put(3.065, 16.0); - speedMap.put(3.442, 17.0); - speedMap.put(3.8, 17.5); - speedMap.put(4.16, 19.0); - speedMap.put(4.341, 20.5); + speedMap.put(3.065, 17.0); + speedMap.put(3.442, 18.0); + speedMap.put(3.8, 18.5); + speedMap.put(4.16, 20.0); + speedMap.put(4.341, 21.5); MIN_TOF = 3.89 - 3.08; MAX_TOF = 1.0; From 07dfbcda0571ed37597b0801b77c21c1b1524036 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:39:34 -0400 Subject: [PATCH 04/31] Update at 'Sat Mar 14 08:39:34 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index 30ae940..f37d69b 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -213,8 +213,8 @@ public static final class ShooterConstants { .withControlType(ControlType.VELOCITY) .withGearRatio(FLYWHEEL_GEAR_RATIO) .withMotorInverted(true) - .withSupplyCurrentLimit(40) - .withStatorCurrentLimit(70) + .withSupplyCurrentLimit(50) + .withStatorCurrentLimit(80) .withProfileConstraintsRad(new TrapezoidProfile.Constraints(1000, 1000)); public static final DCMotor FLYWHEEL_SIM_MOTOR = DCMotor.getKrakenX60(1); public static final DCMotorSim FLYWHEEL_SIM = @@ -235,7 +235,7 @@ public static final class KickerConstants { new MotorConfig() .withMotorInverted(true) .withSupplyCurrentLimit(30.0) - .withStatorCurrentLimit(40.0) + .withStatorCurrentLimit(60.0) .withIdleMode(MotorConfig.IdleMode.BRAKE); } From f29ced7e9b28361612435df3777547a47c725094 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:42:57 -0400 Subject: [PATCH 05/31] Update at 'Sat Mar 14 08:42:57 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 1548585..8d8e6b2 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -381,7 +381,7 @@ private void configureBindings() { .onFalse(pivot.stop()); driverController - .povDown() + .povLeft() .whileTrue(pivot.agitate().alongWith(wheels.runIntake(5))) .onFalse(wheels.stop().alongWith(pivot.stop())); From e7195bfc3df516de8c1536ce9eb2691d6c88153a Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 08:49:24 -0400 Subject: [PATCH 06/31] Update at 'Sat Mar 14 08:49:24 EDT 2026' --- src/main/java/org/team2342/frc/util/FiringSolver.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index 0007bbd..9f9f421 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -31,8 +31,8 @@ public class FiringSolver { // TODO: tune real maps static { speedMap.put(1.942, 14.2); - speedMap.put(2.712, 14.2); - speedMap.put(2.847, 15.0); + speedMap.put(2.712, 14.7); + speedMap.put(2.847, 15.5); speedMap.put(3.065, 17.0); speedMap.put(3.442, 18.0); speedMap.put(3.8, 18.5); From 3ba374ff0bbdcfff2926d74f3437c8a927c90f10 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 10:26:39 -0400 Subject: [PATCH 07/31] Update at 'Sat Mar 14 10:26:39 EDT 2026' --- src/main/java/org/team2342/frc/Robot.java | 11 ++++++++++ .../java/org/team2342/frc/RobotContainer.java | 20 ++++++++++++++++--- .../team2342/frc/subsystems/Conductor.java | 3 ++- .../team2342/frc/subsystems/intake/Pivot.java | 2 +- .../frc/subsystems/shooter/Turret.java | 2 +- .../org/team2342/frc/util/FiringSolver.java | 13 ++++++------ 6 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/team2342/frc/Robot.java b/src/main/java/org/team2342/frc/Robot.java index 6d9845e..aaad17e 100644 --- a/src/main/java/org/team2342/frc/Robot.java +++ b/src/main/java/org/team2342/frc/Robot.java @@ -13,6 +13,7 @@ import edu.wpi.first.math.MathShared; import edu.wpi.first.math.MathSharedStore; import edu.wpi.first.math.MathUsageId; +import edu.wpi.first.math.util.Units; import edu.wpi.first.wpilibj.DriverStation; import edu.wpi.first.wpilibj.IterativeRobotBase; import edu.wpi.first.wpilibj.RobotController; @@ -160,7 +161,17 @@ public void robotPeriodic() { ExecutionLogger.log("Commands"); Logger.recordOutput("ShiftUtil/Official", HubShiftUtil.getOfficialShiftInfo()); + + Logger.recordOutput( + "ShiftUtil/Dashboard/Active", HubShiftUtil.getShiftedShiftInfo().currentShift()); + Logger.recordOutput( + "ShiftUtil/Dashboard/RemainingTime", HubShiftUtil.getShiftedShiftInfo().remainingTime()); + Logger.recordOutput("ShiftUtil/Dashboard/Active", HubShiftUtil.getShiftedShiftInfo().active()); + Logger.recordOutput("ShiftUtil/Shifted", HubShiftUtil.getShiftedShiftInfo()); + Logger.recordOutput("TurretManual", Units.radiansToDegrees(robotContainer.getTurretManual())); + Logger.recordOutput("FlywheelManual", robotContainer.getFlywheelManual()); + Logger.recordOutput("Vision/HasTags", robotContainer.getVision().hasTags()); robotContainer.updateAlerts(); FiringSolver.getInstance().clearCachedSolution(); diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 8d8e6b2..c0dfe64 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -10,6 +10,7 @@ import com.pathplanner.lib.auto.NamedCommands; import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.util.Units; import edu.wpi.first.wpilibj.Alert; import edu.wpi.first.wpilibj.Alert.AlertType; import edu.wpi.first.wpilibj.GenericHID.RumbleType; @@ -102,8 +103,7 @@ public class RobotContainer { private final Trigger shiftAboutToEnd; private final Trigger activeOrPassing; - private double turretManual; - private double flywheelManual; + @Getter private double turretManual, flywheelManual; public RobotContainer() { switch (Constants.CURRENT_MODE) { @@ -414,8 +414,22 @@ private void configureBindings() { .rightBumper() .whileTrue(Commands.parallel(indexer.out(), kicker.out(), wheels.out())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop(), wheels.stop())); + // Turret Zero - operatorController.back().onTrue(Commands.runOnce(() -> turret.zeroTurret(), turret)); + operatorController.back().onTrue(Commands.runOnce(() -> turret.zeroTurret())); + + // Manual Mode + operatorController + .start() + .toggleOnTrue(conductor.forceManual().alongWith(Commands.runOnce(this::resetManual))); + operatorController.povUp().whileTrue(Commands.runOnce(() -> flywheelManual += 0.5)); + operatorController.povDown().whileTrue(Commands.runOnce(() -> flywheelManual -= 0.5)); + operatorController + .povLeft() + .whileTrue(Commands.runOnce(() -> turretManual -= Units.degreesToRadians(1))); + operatorController + .povRight() + .whileTrue(Commands.runOnce(() -> turretManual += Units.degreesToRadians(1))); // Location Triggers allianceZoneTrigger diff --git a/src/main/java/org/team2342/frc/subsystems/Conductor.java b/src/main/java/org/team2342/frc/subsystems/Conductor.java index 460f4ee..e7879be 100644 --- a/src/main/java/org/team2342/frc/subsystems/Conductor.java +++ b/src/main/java/org/team2342/frc/subsystems/Conductor.java @@ -150,7 +150,8 @@ public Command disable() { } public Command forceManual() { - return Commands.runOnce(() -> fsm.forceState(ConductorState.MANUAL)); + return Commands.run(() -> fsm.forceState(ConductorState.MANUAL)) + .finallyDo(() -> fsm.forceState(ConductorState.DISABLED)); } public Command enable() { diff --git a/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java b/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java index a7f09f6..b4f6814 100644 --- a/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java +++ b/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java @@ -25,7 +25,7 @@ public class Pivot extends SubsystemBase { private final SmartMotorIOInputsAutoLogged pivotMotorInputs = new SmartMotorIOInputsAutoLogged(); @AutoLogOutput(key = "Intake/Pivot/TargetAngle") - private double goal = IntakeConstants.MIN_ANGLE; + private double goal = IntakeConstants.MAX_ANGLE; private final Alert pivotMotorAlert = new Alert("Pivot motor is disconnected!", AlertType.kError); diff --git a/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java b/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java index 46266dd..57b29d9 100644 --- a/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java +++ b/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java @@ -114,7 +114,7 @@ public boolean atGoal() { } public void zeroTurret() { - turretMotor.setPosition(0.0); + turretMotor.setPosition(TurretConstants.STARTING_ANGLE); } private double calculateTurretAngle(Rotation2d angle) { diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index 9f9f421..4462f1a 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -14,6 +14,7 @@ import edu.wpi.first.math.kinematics.ChassisSpeeds; import org.littletonrobotics.junction.Logger; import org.team2342.frc.Constants.TurretConstants; +import org.team2342.frc.RobotContainer; import org.team2342.lib.util.AllianceUtils; public class FiringSolver { @@ -40,7 +41,7 @@ public class FiringSolver { speedMap.put(4.341, 21.5); MIN_TOF = 3.89 - 3.08; - MAX_TOF = 1.0; + MAX_TOF = 11.3 - 9.83; tofMap.put(1.942, 3.89 - 3.08); tofMap.put(2.712, 4.11 - 3.30); @@ -64,11 +65,11 @@ public FiringSolution calculate(ChassisSpeeds velocity, Pose2d position) { return lastSolution; } - boolean outsideAllianceZone = false; - // !RobotContainer.withinBounds( - // position.getX(), - // AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), - // AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); + boolean outsideAllianceZone = + !RobotContainer.withinBounds( + position.getX(), + AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), + AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); if (outsideAllianceZone) { Pose2d turretPose = From 78861179eb233983b691424e4125fb7c05608c0a Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 10:26:57 -0400 Subject: [PATCH 08/31] Update at 'Sat Mar 14 10:26:56 EDT 2026' --- src/main/java/org/team2342/frc/Robot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Robot.java b/src/main/java/org/team2342/frc/Robot.java index aaad17e..3c542eb 100644 --- a/src/main/java/org/team2342/frc/Robot.java +++ b/src/main/java/org/team2342/frc/Robot.java @@ -163,7 +163,7 @@ public void robotPeriodic() { Logger.recordOutput("ShiftUtil/Official", HubShiftUtil.getOfficialShiftInfo()); Logger.recordOutput( - "ShiftUtil/Dashboard/Active", HubShiftUtil.getShiftedShiftInfo().currentShift()); + "ShiftUtil/Dashboard/CurrentShift", HubShiftUtil.getShiftedShiftInfo().currentShift()); Logger.recordOutput( "ShiftUtil/Dashboard/RemainingTime", HubShiftUtil.getShiftedShiftInfo().remainingTime()); Logger.recordOutput("ShiftUtil/Dashboard/Active", HubShiftUtil.getShiftedShiftInfo().active()); From 0ef16be2e32faa50738349444ed015767adfdb1d Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 10:33:50 -0400 Subject: [PATCH 09/31] Update at 'Sat Mar 14 10:33:50 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index c0dfe64..f413281 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -405,6 +405,7 @@ private void configureBindings() { .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .whileTrue(Commands.parallel(indexer.in(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); + // Operator override operatorController .rightTrigger() From 542859f73ba3376fe24b31ca715933c6c85cd6c9 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 10:50:38 -0400 Subject: [PATCH 10/31] Update at 'Sat Mar 14 10:50:38 EDT 2026' --- .../java/org/team2342/frc/RobotContainer.java | 17 +++++++++-------- .../frc/subsystems/indexer/Indexer.java | 2 +- .../team2342/frc/subsystems/intake/Pivot.java | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index f413281..494d42f 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -269,12 +269,13 @@ public RobotContainer() { autoChooser.addOption( "Point and fire", conductor - .runState(ConductorState.WARM_UP) - .withTimeout(2.0) - .alongWith(pivot.holdAngle(0)) - .alongWith(wheels.in()) - .alongWith(indexer.in()) - .alongWith(kicker.in())); + .runState(ConductorState.TRACKED_FIRING) + .alongWith( + Commands.waitSeconds(5) + .alongWith(wheels.in().alongWith(pivot.holdAngle(IntakeConstants.MIN_ANGLE))) + .andThen( + Commands.parallel( + indexer.in(), kicker.in(), pivot.agitate(), wheels.in())))); if (Constants.TUNING) setupDevelopmentRoutines(); @@ -390,7 +391,7 @@ private void configureBindings() { .rightTrigger() .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .and(activeOrPassing) - .whileTrue(Commands.parallel(indexer.in(), kicker.in())) + .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); // Firing during inactive period @@ -403,7 +404,7 @@ private void configureBindings() { driverController .rightBumper() .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) - .whileTrue(Commands.parallel(indexer.in(), kicker.in())) + .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); // Operator override diff --git a/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java b/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java index 36edbf4..f1d0ab5 100644 --- a/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java +++ b/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java @@ -51,7 +51,7 @@ public Command out() { public Command pulseIn() { return Commands.repeatingSequence( - in().withTimeout(0.25), stop().andThen(Commands.waitSeconds(0.25))); + in().withTimeout(1), stop().andThen(Commands.waitSeconds(0.2))); } public Command stop() { diff --git a/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java b/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java index b4f6814..a28473c 100644 --- a/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java +++ b/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java @@ -32,7 +32,7 @@ public class Pivot extends SubsystemBase { public Pivot(SmartMotorIO pivotMotor) { this.pivotMotor = pivotMotor; setName("Intake/Pivot"); - setDefaultCommand(holdAngle(goal)); + setDefaultCommand(run(() -> pivotMotor.runPosition(goal))); } @Override From bf1eda321dda020d97671e49d907746889d3a508 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 10:57:08 -0400 Subject: [PATCH 11/31] Update at 'Sat Mar 14 10:57:08 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index f37d69b..099b13e 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -147,7 +147,7 @@ public static final class IndexerConstants { .withMotorInverted(true) .withSupplyCurrentLimit(40.0) .withStatorCurrentLimit(70.0) - .withIdleMode(MotorConfig.IdleMode.BRAKE); + .withIdleMode(MotorConfig.IdleMode.COAST); public static final DCMotor INDEXER_SIM_MOTOR = DCMotor.getKrakenX60(1); public static final DCMotorSim INDEXER_SIM = From 88f842596215e057d5831f8c264032afc68ab0d9 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 10:59:52 -0400 Subject: [PATCH 12/31] Update at 'Sat Mar 14 10:59:52 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 494d42f..71c0bd3 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -275,7 +275,7 @@ public RobotContainer() { .alongWith(wheels.in().alongWith(pivot.holdAngle(IntakeConstants.MIN_ANGLE))) .andThen( Commands.parallel( - indexer.in(), kicker.in(), pivot.agitate(), wheels.in())))); + indexer.pulseIn(), kicker.in(), pivot.agitate(), wheels.in())))); if (Constants.TUNING) setupDevelopmentRoutines(); From 2c317445c69995fc82163d29e32a345398d923ec Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 12:15:09 -0400 Subject: [PATCH 13/31] Update at 'Sat Mar 14 12:15:09 EDT 2026' --- .../java/org/team2342/frc/RobotContainer.java | 25 ++++++++++--------- .../frc/subsystems/indexer/Indexer.java | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 71c0bd3..51b5b38 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -269,14 +269,15 @@ public RobotContainer() { autoChooser.addOption( "Point and fire", conductor - .runState(ConductorState.TRACKED_FIRING) - .alongWith( - Commands.waitSeconds(5) - .alongWith(wheels.in().alongWith(pivot.holdAngle(IntakeConstants.MIN_ANGLE))) - .andThen( - Commands.parallel( - indexer.pulseIn(), kicker.in(), pivot.agitate(), wheels.in())))); - + .runState(ConductorState.WARM_UP) + .withTimeout(2.0) + .andThen( + conductor + .runState(ConductorState.TRACKED_FIRING) + .alongWith(pivot.holdAngle(0)) + .alongWith(wheels.in()) + .alongWith(indexer.in()) + .alongWith(kicker.in()))); if (Constants.TUNING) setupDevelopmentRoutines(); SmartDashboard.putData( @@ -424,14 +425,14 @@ private void configureBindings() { operatorController .start() .toggleOnTrue(conductor.forceManual().alongWith(Commands.runOnce(this::resetManual))); - operatorController.povUp().whileTrue(Commands.runOnce(() -> flywheelManual += 0.5)); - operatorController.povDown().whileTrue(Commands.runOnce(() -> flywheelManual -= 0.5)); + operatorController.povUp().whileTrue(Commands.run(() -> flywheelManual += 0.1)); + operatorController.povDown().whileTrue(Commands.run(() -> flywheelManual -= 0.1)); operatorController .povLeft() - .whileTrue(Commands.runOnce(() -> turretManual -= Units.degreesToRadians(1))); + .whileTrue(Commands.run(() -> turretManual -= Units.degreesToRadians(0.75))); operatorController .povRight() - .whileTrue(Commands.runOnce(() -> turretManual += Units.degreesToRadians(1))); + .whileTrue(Commands.run(() -> turretManual += Units.degreesToRadians(0.75))); // Location Triggers allianceZoneTrigger diff --git a/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java b/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java index f1d0ab5..1e796c9 100644 --- a/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java +++ b/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java @@ -51,7 +51,7 @@ public Command out() { public Command pulseIn() { return Commands.repeatingSequence( - in().withTimeout(1), stop().andThen(Commands.waitSeconds(0.2))); + in().withTimeout(2), stop().andThen(Commands.waitSeconds(0.2))); } public Command stop() { From dc02e7d2174fa8162331106ef23f90a83490b04a Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 13:36:24 -0400 Subject: [PATCH 14/31] Update at 'Sat Mar 14 13:36:24 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 51b5b38..a86d627 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -390,7 +390,7 @@ private void configureBindings() { // Auto Shoot driverController .rightTrigger() - .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) + .whileTrue(conductor.runState(ConductorState.TUNING)) .and(activeOrPassing) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -404,7 +404,7 @@ private void configureBindings() { // Shift Timer Override driverController .rightBumper() - .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) + .whileTrue(conductor.runState(ConductorState.TUNING)) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -437,7 +437,7 @@ private void configureBindings() { // Location Triggers allianceZoneTrigger .and(driverController.rightTrigger().negate().and(driverController.rightBumper().negate())) - .whileTrue(conductor.runState(ConductorState.WARM_UP)); + .whileTrue(conductor.runState(ConductorState.TUNING)); // Shift Util Resets RobotModeTriggers.teleop().onTrue(Commands.runOnce(HubShiftUtil::initialize)); From 746b99ff3aaf391ed4c634f3b5d9ed0de1780030 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 13:39:11 -0400 Subject: [PATCH 15/31] Update at 'Sat Mar 14 13:39:10 EDT 2026' --- src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java b/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java index 1e796c9..697f4f0 100644 --- a/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java +++ b/src/main/java/org/team2342/frc/subsystems/indexer/Indexer.java @@ -51,7 +51,7 @@ public Command out() { public Command pulseIn() { return Commands.repeatingSequence( - in().withTimeout(2), stop().andThen(Commands.waitSeconds(0.2))); + in().withTimeout(2), stop().andThen(Commands.waitSeconds(0.5))); } public Command stop() { From 6f9202068bd05e04a92257601c52b527cb97ee4e Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 13:47:45 -0400 Subject: [PATCH 16/31] Update at 'Sat Mar 14 13:47:45 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index 099b13e..5897a31 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -139,7 +139,7 @@ public static final class ConductorConstants { } public static final class IndexerConstants { - public static final double RUN_VOLTAGE = 6; + public static final double RUN_VOLTAGE = 5; public static final double RUN_CURRENT = 30.0; public static final MotorConfig INDEXER_MOTOR_CONFIG = From ae38ca43dd0142d4f341bdf14bfa2774d0ab5031 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 14:09:59 -0400 Subject: [PATCH 17/31] Update at 'Sat Mar 14 14:09:59 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index a86d627..51b5b38 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -390,7 +390,7 @@ private void configureBindings() { // Auto Shoot driverController .rightTrigger() - .whileTrue(conductor.runState(ConductorState.TUNING)) + .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .and(activeOrPassing) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -404,7 +404,7 @@ private void configureBindings() { // Shift Timer Override driverController .rightBumper() - .whileTrue(conductor.runState(ConductorState.TUNING)) + .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -437,7 +437,7 @@ private void configureBindings() { // Location Triggers allianceZoneTrigger .and(driverController.rightTrigger().negate().and(driverController.rightBumper().negate())) - .whileTrue(conductor.runState(ConductorState.TUNING)); + .whileTrue(conductor.runState(ConductorState.WARM_UP)); // Shift Util Resets RobotModeTriggers.teleop().onTrue(Commands.runOnce(HubShiftUtil::initialize)); From 5812fe4a696e819d0dfced9c5f75f0c0bda5ceaa Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 15:39:29 -0400 Subject: [PATCH 18/31] Update at 'Sat Mar 14 15:39:29 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 51b5b38..a86d627 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -390,7 +390,7 @@ private void configureBindings() { // Auto Shoot driverController .rightTrigger() - .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) + .whileTrue(conductor.runState(ConductorState.TUNING)) .and(activeOrPassing) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -404,7 +404,7 @@ private void configureBindings() { // Shift Timer Override driverController .rightBumper() - .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) + .whileTrue(conductor.runState(ConductorState.TUNING)) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -437,7 +437,7 @@ private void configureBindings() { // Location Triggers allianceZoneTrigger .and(driverController.rightTrigger().negate().and(driverController.rightBumper().negate())) - .whileTrue(conductor.runState(ConductorState.WARM_UP)); + .whileTrue(conductor.runState(ConductorState.TUNING)); // Shift Util Resets RobotModeTriggers.teleop().onTrue(Commands.runOnce(HubShiftUtil::initialize)); From c66556ab142d95a193a98bd9683d953a3e717e95 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 15:53:40 -0400 Subject: [PATCH 19/31] Update at 'Sat Mar 14 15:53:40 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index a86d627..fe0fcbf 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -390,7 +390,7 @@ private void configureBindings() { // Auto Shoot driverController .rightTrigger() - .whileTrue(conductor.runState(ConductorState.TUNING)) + .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .and(activeOrPassing) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -404,7 +404,7 @@ private void configureBindings() { // Shift Timer Override driverController .rightBumper() - .whileTrue(conductor.runState(ConductorState.TUNING)) + .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); @@ -437,7 +437,7 @@ private void configureBindings() { // Location Triggers allianceZoneTrigger .and(driverController.rightTrigger().negate().and(driverController.rightBumper().negate())) - .whileTrue(conductor.runState(ConductorState.TUNING)); + .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)); // Shift Util Resets RobotModeTriggers.teleop().onTrue(Commands.runOnce(HubShiftUtil::initialize)); From 7cf1671b6d72f9d371710c09ece95e3341cd0528 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 15:57:16 -0400 Subject: [PATCH 20/31] Update at 'Sat Mar 14 15:57:16 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index fe0fcbf..51b5b38 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -437,7 +437,7 @@ private void configureBindings() { // Location Triggers allianceZoneTrigger .and(driverController.rightTrigger().negate().and(driverController.rightBumper().negate())) - .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)); + .whileTrue(conductor.runState(ConductorState.WARM_UP)); // Shift Util Resets RobotModeTriggers.teleop().onTrue(Commands.runOnce(HubShiftUtil::initialize)); From ffc3dc47b6e6e5772300b9212662715dca5b8bf8 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:26:42 -0400 Subject: [PATCH 21/31] Update at 'Sat Mar 14 16:26:41 EDT 2026' --- src/main/java/org/team2342/frc/util/FiringSolver.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index 4462f1a..051b7ed 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -14,7 +14,6 @@ import edu.wpi.first.math.kinematics.ChassisSpeeds; import org.littletonrobotics.junction.Logger; import org.team2342.frc.Constants.TurretConstants; -import org.team2342.frc.RobotContainer; import org.team2342.lib.util.AllianceUtils; public class FiringSolver { @@ -65,11 +64,11 @@ public FiringSolution calculate(ChassisSpeeds velocity, Pose2d position) { return lastSolution; } - boolean outsideAllianceZone = - !RobotContainer.withinBounds( - position.getX(), - AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), - AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); + boolean outsideAllianceZone = false; + // !RobotContainer.withinBounds( + // position.getX(), + // AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), + // AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); if (outsideAllianceZone) { Pose2d turretPose = From d2be28249fc981d02ea43e1d20c7d43cb08370e7 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:34:33 -0400 Subject: [PATCH 22/31] Update at 'Sat Mar 14 16:34:33 EDT 2026' --- src/main/java/org/team2342/frc/util/FiringSolver.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index 051b7ed..cca9573 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -33,7 +33,7 @@ public class FiringSolver { speedMap.put(1.942, 14.2); speedMap.put(2.712, 14.7); speedMap.put(2.847, 15.5); - speedMap.put(3.065, 17.0); + speedMap.put(3.065, 17.5); speedMap.put(3.442, 18.0); speedMap.put(3.8, 18.5); speedMap.put(4.16, 20.0); From a74ab892af2b58242798d27be42d3b4fbb9894a9 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 18:13:27 -0400 Subject: [PATCH 23/31] Update at 'Sat Mar 14 18:13:27 EDT 2026' --- src/main/java/org/team2342/frc/RobotContainer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 51b5b38..42c3d6e 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -392,7 +392,8 @@ private void configureBindings() { .rightTrigger() .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) .and(activeOrPassing) - .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) + .whileTrue( + Commands.waitSeconds(1).andThen(Commands.parallel(indexer.pulseIn(), kicker.in()))) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); // Firing during inactive period @@ -405,7 +406,8 @@ private void configureBindings() { driverController .rightBumper() .whileTrue(conductor.runState(ConductorState.TRACKED_FIRING)) - .whileTrue(Commands.parallel(indexer.pulseIn(), kicker.in())) + .whileTrue( + Commands.waitSeconds(1).andThen(Commands.parallel(indexer.pulseIn(), kicker.in()))) .onFalse(Commands.parallel(indexer.stop(), kicker.stop())); // Operator override From 31bffb752841ded878a29e2e5287632ce7c11a5c Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 18:29:39 -0400 Subject: [PATCH 24/31] Update at 'Sat Mar 14 18:29:39 EDT 2026' --- src/main/java/org/team2342/frc/util/FiringSolver.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index cca9573..2839fdc 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -36,7 +36,7 @@ public class FiringSolver { speedMap.put(3.065, 17.5); speedMap.put(3.442, 18.0); speedMap.put(3.8, 18.5); - speedMap.put(4.16, 20.0); + speedMap.put(4.16, 20.5); speedMap.put(4.341, 21.5); MIN_TOF = 3.89 - 3.08; From 95ca41cd71191633bc060f1d3d75ea0fe3f0c36c Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sat, 14 Mar 2026 18:31:45 -0400 Subject: [PATCH 25/31] Update at 'Sat Mar 14 18:31:44 EDT 2026' --- src/main/java/org/team2342/frc/subsystems/intake/Pivot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java b/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java index a28473c..d2323c1 100644 --- a/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java +++ b/src/main/java/org/team2342/frc/subsystems/intake/Pivot.java @@ -71,6 +71,6 @@ public Command stop() { } public Command agitate() { - return Commands.repeatingSequence(goToAngle(0.8), goToAngle(0.9)); + return Commands.repeatingSequence(goToAngle(1.4), goToAngle(1.5)); } } From a552242a5c79b48b37bba255c2b0db3f34b793b7 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sun, 15 Mar 2026 09:01:09 -0400 Subject: [PATCH 26/31] Update at 'Sun Mar 15 09:01:09 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- src/main/java/org/team2342/frc/subsystems/shooter/Turret.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index 5897a31..b01768e 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -187,7 +187,7 @@ public static final class IntakeConstants { .withSupplyCurrentLimit(40.0) .withFeedbackConfig( FeedbackConfig.fused( - CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.173, true)) + CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.679, true)) .withProfileConstraintsRad( new TrapezoidProfile.Constraints( Units.degreesToRadians(1800), Units.degreesToRadians(540))); diff --git a/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java b/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java index 57b29d9..b2b73d9 100644 --- a/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java +++ b/src/main/java/org/team2342/frc/subsystems/shooter/Turret.java @@ -115,6 +115,7 @@ public boolean atGoal() { public void zeroTurret() { turretMotor.setPosition(TurretConstants.STARTING_ANGLE); + goal = TurretConstants.STARTING_ANGLE; } private double calculateTurretAngle(Rotation2d angle) { From 7c2a7834d4b4834222c0945ceb7c65f74b95d195 Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sun, 15 Mar 2026 09:03:25 -0400 Subject: [PATCH 27/31] Update at 'Sun Mar 15 09:03:25 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index b01768e..1a3f33f 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -187,7 +187,7 @@ public static final class IntakeConstants { .withSupplyCurrentLimit(40.0) .withFeedbackConfig( FeedbackConfig.fused( - CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.679, true)) + CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.678, true)) .withProfileConstraintsRad( new TrapezoidProfile.Constraints( Units.degreesToRadians(1800), Units.degreesToRadians(540))); From 418c8b3bdf1218444c4e7636742c3d118d0f00bf Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sun, 15 Mar 2026 09:04:44 -0400 Subject: [PATCH 28/31] Update at 'Sun Mar 15 09:04:44 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index 1a3f33f..dcf26fd 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -187,7 +187,7 @@ public static final class IntakeConstants { .withSupplyCurrentLimit(40.0) .withFeedbackConfig( FeedbackConfig.fused( - CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.678, true)) + CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.68, true)) .withProfileConstraintsRad( new TrapezoidProfile.Constraints( Units.degreesToRadians(1800), Units.degreesToRadians(540))); From 4d387c6450948a9a51af11ea16d5f53981ebad6e Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sun, 15 Mar 2026 09:05:40 -0400 Subject: [PATCH 29/31] Update at 'Sun Mar 15 09:05:39 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index dcf26fd..48ed183 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -187,7 +187,7 @@ public static final class IntakeConstants { .withSupplyCurrentLimit(40.0) .withFeedbackConfig( FeedbackConfig.fused( - CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.68, true)) + CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.69, true)) .withProfileConstraintsRad( new TrapezoidProfile.Constraints( Units.degreesToRadians(1800), Units.degreesToRadians(540))); From d2ecd87d58219a1528ba7ccee7351797c7c49aae Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sun, 15 Mar 2026 09:06:56 -0400 Subject: [PATCH 30/31] Update at 'Sun Mar 15 09:06:55 EDT 2026' --- src/main/java/org/team2342/frc/Constants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/team2342/frc/Constants.java b/src/main/java/org/team2342/frc/Constants.java index 48ed183..0210d36 100644 --- a/src/main/java/org/team2342/frc/Constants.java +++ b/src/main/java/org/team2342/frc/Constants.java @@ -187,7 +187,7 @@ public static final class IntakeConstants { .withSupplyCurrentLimit(40.0) .withFeedbackConfig( FeedbackConfig.fused( - CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.69, true)) + CANConstants.INTAKE_PIVOT_ENCODER_ID, PIVOT_GEAR_RATIO, 0.681, true)) .withProfileConstraintsRad( new TrapezoidProfile.Constraints( Units.degreesToRadians(1800), Units.degreesToRadians(540))); From 79a5843e8df1bd461b3119de773eab61bcb724ae Mon Sep 17 00:00:00 2001 From: Luddo183 <93882319+Luddo183@users.noreply.github.com> Date: Sun, 15 Mar 2026 13:59:42 -0400 Subject: [PATCH 31/31] Update at 'Sun Mar 15 13:59:42 EDT 2026' --- .../pathplanner/autos/center depot.auto | 56 +++ src/main/deploy/pathplanner/navgrid.json | 413 +++++++----------- src/main/deploy/pathplanner/paths/L1.path | 2 +- src/main/deploy/pathplanner/paths/backup.path | 54 +++ .../pathplanner/paths/depot pickup.path | 84 ++++ .../pathplanner/paths/depot to hub .path | 70 +++ src/main/deploy/pathplanner/settings.json | 32 ++ .../java/org/team2342/frc/RobotContainer.java | 29 +- .../org/team2342/frc/util/FiringSolver.java | 11 +- 9 files changed, 488 insertions(+), 263 deletions(-) create mode 100644 src/main/deploy/pathplanner/autos/center depot.auto create mode 100644 src/main/deploy/pathplanner/paths/backup.path create mode 100644 src/main/deploy/pathplanner/paths/depot pickup.path create mode 100644 src/main/deploy/pathplanner/paths/depot to hub .path create mode 100644 src/main/deploy/pathplanner/settings.json diff --git a/src/main/deploy/pathplanner/autos/center depot.auto b/src/main/deploy/pathplanner/autos/center depot.auto new file mode 100644 index 0000000..f1604d7 --- /dev/null +++ b/src/main/deploy/pathplanner/autos/center depot.auto @@ -0,0 +1,56 @@ +{ + "version": "2025.0", + "command": { + "type": "sequential", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "backup" + } + }, + { + "type": "named", + "data": { + "name": "autoShoot" + } + }, + { + "type": "race", + "data": { + "commands": [ + { + "type": "path", + "data": { + "pathName": "depot pickup" + } + }, + { + "type": "named", + "data": { + "name": "autoIntake" + } + } + ] + } + }, + { + "type": "path", + "data": { + "pathName": "depot to hub " + } + }, + { + "type": "named", + "data": { + "name": "autoShoot" + } + } + ] + } + }, + "resetOdom": true, + "folder": null, + "choreoAuto": false +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/navgrid.json b/src/main/deploy/pathplanner/navgrid.json index bbd9194..660ca52 100644 --- a/src/main/deploy/pathplanner/navgrid.json +++ b/src/main/deploy/pathplanner/navgrid.json @@ -1,7 +1,7 @@ { "field_size": { - "x": 17.548, - "y": 8.052 + "x": 16.54, + "y": 8.07 }, "nodeSizeMeters": 0.3, "grid": [ @@ -61,9 +61,6 @@ true, true, true, - true, - true, - true, true ], [ @@ -122,15 +119,9 @@ true, true, true, - true, - true, - true, true ], [ - true, - true, - true, true, true, false, @@ -182,40 +173,15 @@ false, false, false, - true, - true, - true, + false, + false, + false, true, true ], [ true, true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false, false, @@ -226,6 +192,13 @@ false, false, false, + true, + true, + true, + true, + true, + true, + true, false, false, false, @@ -247,9 +220,6 @@ true, true, true, - true - ], - [ true, true, true, @@ -264,6 +234,12 @@ false, false, false, + true, + true + ], + [ + true, + true, false, false, false, @@ -274,6 +250,13 @@ false, false, false, + true, + true, + true, + true, + true, + true, + true, false, false, false, @@ -292,10 +275,12 @@ false, false, false, - false, - false, - false, - false, + true, + true, + true, + true, + true, + true, false, false, false, @@ -323,6 +308,13 @@ false, false, false, + true, + true, + true, + true, + true, + true, + true, false, false, false, @@ -341,6 +333,12 @@ false, false, false, + true, + true, + true, + true, + true, + true, false, false, false, @@ -350,24 +348,8 @@ false, false, false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, + true, + true, true, true ], @@ -424,11 +406,8 @@ false, false, false, - false, - false, - false, - false, - false, + true, + true, true, true ], @@ -485,11 +464,8 @@ false, false, false, - false, - false, - false, - false, - false, + true, + true, true, true ], @@ -508,8 +484,6 @@ false, false, false, - true, - true, false, false, false, @@ -536,9 +510,6 @@ false, false, false, - true, - true, - true, false, false, false, @@ -552,14 +523,16 @@ false, false, true, + true, + true, true ], [ true, true, - false, - false, - false, + true, + true, + true, false, false, false, @@ -573,11 +546,7 @@ true, true, true, - false, - false, - false, - false, - false, + true, false, false, false, @@ -601,6 +570,7 @@ true, true, true, + true, false, false, false, @@ -611,17 +581,17 @@ false, false, false, - false, + true, true, true ], [ true, true, - false, - false, - false, - false, + true, + true, + true, + true, false, false, false, @@ -635,11 +605,7 @@ true, true, true, - false, - false, - false, - false, - false, + true, false, false, false, @@ -663,6 +629,7 @@ true, true, true, + true, false, false, false, @@ -679,9 +646,10 @@ [ true, true, - false, - false, - false, + true, + true, + true, + true, false, false, false, @@ -696,7 +664,6 @@ true, true, true, - true, false, false, false, @@ -705,9 +672,6 @@ false, false, false, - true, - true, - true, false, false, false, @@ -724,9 +688,6 @@ true, true, true, - true, - false, - false, false, false, false, @@ -735,9 +696,16 @@ false, false, true, + true, + true, + true, true ], [ + true, + true, + true, + true, true, true, false, @@ -745,10 +713,6 @@ false, false, false, - false, - false, - false, - true, true, true, true, @@ -765,11 +729,8 @@ false, false, false, - true, - true, - true, - true, - true, + false, + false, false, false, false, @@ -785,10 +746,6 @@ true, true, true, - true, - false, - false, - false, false, false, false, @@ -796,9 +753,17 @@ false, false, true, + true, + true, + true, + true, true ], [ + true, + true, + true, + true, true, true, false, @@ -806,10 +771,6 @@ false, false, false, - false, - false, - false, - true, true, true, true, @@ -826,11 +787,8 @@ false, false, false, - true, - true, - true, - true, - true, + false, + false, false, false, false, @@ -846,10 +804,6 @@ true, true, true, - true, - false, - false, - false, false, false, false, @@ -857,9 +811,17 @@ false, false, true, + true, + true, + true, + true, true ], [ + true, + true, + true, + true, true, true, false, @@ -867,10 +829,6 @@ false, false, false, - false, - false, - false, - true, true, true, true, @@ -887,11 +845,8 @@ false, false, false, - true, - true, - true, - true, - true, + false, + false, false, false, false, @@ -907,10 +862,6 @@ true, true, true, - true, - false, - false, - false, false, false, false, @@ -918,9 +869,16 @@ false, false, true, + true, + true, + true, + true, true ], [ + true, + true, + true, true, true, false, @@ -929,9 +887,6 @@ false, false, false, - false, - false, - true, true, true, true, @@ -949,9 +904,6 @@ false, false, false, - true, - true, - true, false, false, false, @@ -968,10 +920,6 @@ true, true, true, - true, - false, - false, - false, false, false, false, @@ -979,6 +927,10 @@ false, false, true, + true, + true, + true, + true, true ], [ @@ -1001,11 +953,7 @@ true, true, true, - false, - false, - false, - false, - false, + true, false, false, false, @@ -1029,16 +977,17 @@ true, true, true, + true, false, false, false, false, false, false, - false, - false, - false, - false, + true, + true, + true, + true, true, true ], @@ -1061,11 +1010,7 @@ true, true, true, - false, - false, - false, - false, - false, + true, false, false, false, @@ -1089,6 +1034,7 @@ true, true, true, + true, false, false, false, @@ -1097,13 +1043,14 @@ false, false, false, - false, - false, - false, + true, + true, + true, true, true ], [ + true, true, true, false, @@ -1118,8 +1065,6 @@ false, false, false, - true, - true, false, false, false, @@ -1146,9 +1091,7 @@ false, false, false, - true, - true, - true, + false, false, false, false, @@ -1167,10 +1110,7 @@ [ true, true, - false, - false, - false, - false, + true, false, false, false, @@ -1228,10 +1168,7 @@ [ true, true, - false, - false, - false, - false, + true, false, false, false, @@ -1287,6 +1224,7 @@ true ], [ + true, true, true, false, @@ -1298,6 +1236,13 @@ false, false, false, + true, + true, + true, + true, + true, + true, + true, false, false, false, @@ -1316,23 +1261,12 @@ false, false, false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, + true, + true, + true, + true, + true, + true, false, false, false, @@ -1350,32 +1284,6 @@ [ true, true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false, false, @@ -1386,6 +1294,13 @@ false, false, false, + true, + true, + true, + true, + true, + true, + true, false, false, false, @@ -1406,9 +1321,6 @@ false, true, true, - true - ], - [ true, true, true, @@ -1424,6 +1336,12 @@ false, false, false, + true, + true + ], + [ + true, + true, false, false, false, @@ -1434,6 +1352,13 @@ false, false, false, + true, + true, + true, + true, + true, + true, + true, false, false, false, @@ -1452,6 +1377,12 @@ false, false, false, + true, + true, + true, + true, + true, + true, false, false, false, @@ -1463,16 +1394,10 @@ false, false, false, - false, - true, - true, true, true ], [ - true, - true, - true, true, true, false, @@ -1524,9 +1449,9 @@ false, false, false, - true, - true, - true, + false, + false, + false, true, true ], @@ -1586,9 +1511,6 @@ true, true, true, - true, - true, - true, true ], [ @@ -1647,9 +1569,6 @@ true, true, true, - true, - true, - true, true ] ] diff --git a/src/main/deploy/pathplanner/paths/L1.path b/src/main/deploy/pathplanner/paths/L1.path index 6677534..1592c24 100644 --- a/src/main/deploy/pathplanner/paths/L1.path +++ b/src/main/deploy/pathplanner/paths/L1.path @@ -20,7 +20,7 @@ "y": 5.969204819277109 }, "prevControl": { - "x": 2.1223114027842978, + "x": 2.1223114027842973, "y": 6.161557495159928 }, "nextControl": null, diff --git a/src/main/deploy/pathplanner/paths/backup.path b/src/main/deploy/pathplanner/paths/backup.path new file mode 100644 index 0000000..b72b78a --- /dev/null +++ b/src/main/deploy/pathplanner/paths/backup.path @@ -0,0 +1,54 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 3.5732667617689007, + "y": 4.0 + }, + "prevControl": null, + "nextControl": { + "x": 3.8864779222010686, + "y": 3.997861470378837 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 2.35, + "y": 4.0 + }, + "prevControl": { + "x": 2.099960946645023, + "y": 4.002578483029655 + }, + "nextControl": null, + "isLocked": false, + "linkedName": null + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/depot pickup.path b/src/main/deploy/pathplanner/paths/depot pickup.path new file mode 100644 index 0000000..86c83cc --- /dev/null +++ b/src/main/deploy/pathplanner/paths/depot pickup.path @@ -0,0 +1,84 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 2.35, + "y": 4.0 + }, + "prevControl": null, + "nextControl": { + "x": 2.316458321124934, + "y": 4.308092752867749 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 1.5936519258202564, + "y": 5.98 + }, + "prevControl": { + "x": 2.0949953132832406, + "y": 5.98 + }, + "nextControl": { + "x": 1.101803135206326, + "y": 5.98 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 0.7, + "y": 5.98 + }, + "prevControl": { + "x": 0.9915949012429583, + "y": 5.98 + }, + "nextControl": null, + "isLocked": false, + "linkedName": null + } + ], + "rotationTargets": [], + "constraintZones": [ + { + "name": "Constraints Zone", + "minWaypointRelativePos": 0.669243511871901, + "maxWaypointRelativePos": 2.0, + "constraints": { + "maxVelocity": 2.0, + "maxAcceleration": 2.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + } + } + ], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/paths/depot to hub .path b/src/main/deploy/pathplanner/paths/depot to hub .path new file mode 100644 index 0000000..354aff0 --- /dev/null +++ b/src/main/deploy/pathplanner/paths/depot to hub .path @@ -0,0 +1,70 @@ +{ + "version": "2025.0", + "waypoints": [ + { + "anchor": { + "x": 0.7, + "y": 5.98 + }, + "prevControl": null, + "nextControl": { + "x": 1.7, + "y": 5.98 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 1.7, + "y": 5.98 + }, + "prevControl": { + "x": 1.3347588374301795, + "y": 5.98 + }, + "nextControl": { + "x": 2.06524116256982, + "y": 5.98 + }, + "isLocked": false, + "linkedName": null + }, + { + "anchor": { + "x": 2.6416833095577745, + "y": 4.520199714693296 + }, + "prevControl": { + "x": 1.6416833095577745, + "y": 4.520199714693296 + }, + "nextControl": null, + "isLocked": false, + "linkedName": null + } + ], + "rotationTargets": [], + "constraintZones": [], + "pointTowardsZones": [], + "eventMarkers": [], + "globalConstraints": { + "maxVelocity": 3.0, + "maxAcceleration": 3.0, + "maxAngularVelocity": 540.0, + "maxAngularAcceleration": 720.0, + "nominalVoltage": 12.0, + "unlimited": false + }, + "goalEndState": { + "velocity": 0, + "rotation": 0.0 + }, + "reversed": false, + "folder": null, + "idealStartingState": { + "velocity": 0, + "rotation": 0.0 + }, + "useDefaultConstraints": true +} \ No newline at end of file diff --git a/src/main/deploy/pathplanner/settings.json b/src/main/deploy/pathplanner/settings.json new file mode 100644 index 0000000..5f82a70 --- /dev/null +++ b/src/main/deploy/pathplanner/settings.json @@ -0,0 +1,32 @@ +{ + "robotWidth": 0.889, + "robotLength": 0.889, + "holonomicMode": true, + "pathFolders": [], + "autoFolders": [], + "defaultMaxVel": 3.0, + "defaultMaxAccel": 3.0, + "defaultMaxAngVel": 540.0, + "defaultMaxAngAccel": 720.0, + "defaultNominalVoltage": 12.0, + "robotMass": 74.088, + "robotMOI": 6.883, + "robotTrackwidth": 0.546, + "driveWheelRadius": 0.048, + "driveGearing": 5.143, + "maxDriveSpeed": 5.45, + "driveMotorType": "krakenX60", + "driveCurrentLimit": 60.0, + "wheelCOF": 1.2, + "flModuleX": 0.276, + "flModuleY": 0.276, + "frModuleX": 0.276, + "frModuleY": -0.276, + "blModuleX": -0.276, + "blModuleY": 0.276, + "brModuleX": -0.276, + "brModuleY": -0.276, + "bumperOffsetX": 0.0, + "bumperOffsetY": 0.0, + "robotFeatures": [] +} diff --git a/src/main/java/org/team2342/frc/RobotContainer.java b/src/main/java/org/team2342/frc/RobotContainer.java index 42c3d6e..c100872 100644 --- a/src/main/java/org/team2342/frc/RobotContainer.java +++ b/src/main/java/org/team2342/frc/RobotContainer.java @@ -310,17 +310,26 @@ private void configureNamedCommands() { NamedCommands.registerCommand( "autoShoot", conductor - .runState(ConductorState.TRACKED_FIRING) - .alongWith(indexer.in()) - .alongWith(kicker.in()) - .withTimeout(2.0) - .finallyDo( - () -> { - indexer.stop(); - kicker.stop(); - })); + .runState(ConductorState.WARM_UP) + .withTimeout(1.0) + .andThen( + conductor + .runState(ConductorState.TRACKED_FIRING) + .alongWith(pivot.agitate()) + .alongWith(wheels.in()) + .alongWith(indexer.in()) + .alongWith(kicker.in()) + .withTimeout(4.0) + .finallyDo( + () -> { + wheels.stop().schedule(); + indexer.stop().schedule(); + kicker.stop().schedule(); + }))); - NamedCommands.registerCommand("autoIntake", wheels.in().finallyDo(() -> wheels.stop())); + NamedCommands.registerCommand( + "autoIntake", + wheels.in().alongWith(pivot.holdAngle(0)).finallyDo(() -> wheels.stop().schedule())); NamedCommands.registerCommand( "stopAll", diff --git a/src/main/java/org/team2342/frc/util/FiringSolver.java b/src/main/java/org/team2342/frc/util/FiringSolver.java index 2839fdc..aa9cbaa 100644 --- a/src/main/java/org/team2342/frc/util/FiringSolver.java +++ b/src/main/java/org/team2342/frc/util/FiringSolver.java @@ -14,6 +14,7 @@ import edu.wpi.first.math.kinematics.ChassisSpeeds; import org.littletonrobotics.junction.Logger; import org.team2342.frc.Constants.TurretConstants; +import org.team2342.frc.RobotContainer; import org.team2342.lib.util.AllianceUtils; public class FiringSolver { @@ -64,11 +65,11 @@ public FiringSolution calculate(ChassisSpeeds velocity, Pose2d position) { return lastSolution; } - boolean outsideAllianceZone = false; - // !RobotContainer.withinBounds( - // position.getX(), - // AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), - // AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); + boolean outsideAllianceZone = + !RobotContainer.withinBounds( + position.getX(), + AllianceUtils.flipToAlliance(Pose2d.kZero).getX(), + AllianceUtils.flipToAlliance(FieldConstants.LeftBump.nearLeftCorner).getX()); if (outsideAllianceZone) { Pose2d turretPose =