Skip to content

Subsystem deprecation and refinements#83

Closed
arcadeArchitect wants to merge 1 commit into
mainfrom
subsystem-deprecation
Closed

Subsystem deprecation and refinements#83
arcadeArchitect wants to merge 1 commit into
mainfrom
subsystem-deprecation

Conversation

@arcadeArchitect
Copy link
Copy Markdown
Contributor

  • remove deprecated subsystems
  • remove left/right
  • refine subsystem constants
  • relocate subsystem state handling to be completely within its respective subsystem
  • add booleans in RobotContainer.java to toggle between real/io implementations

…ts, refine constants, relocate subsystem current/goal states into respective subsystem files, add booleans in RobotContainer.java to switch between real/io implementations
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 24, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fcc604d7-6054-4068-8ccc-425d8656f426

📥 Commits

Reviewing files that changed from the base of the PR and between e029dee and 7ed3a5e.

📒 Files selected for processing (22)
  • src/main/java/org/team5924/frc2026/Constants.java
  • src/main/java/org/team5924/frc2026/RobotContainer.java
  • src/main/java/org/team5924/frc2026/RobotState.java
  • src/main/java/org/team5924/frc2026/commands/shooter/AutoScoreCommands.java
  • src/main/java/org/team5924/frc2026/commands/shooter/ManualShooterCommands.java
  • src/main/java/org/team5924/frc2026/subsystems/flywheel/Flywheel.java
  • src/main/java/org/team5924/frc2026/subsystems/flywheel/FlywheelIOSim.java
  • src/main/java/org/team5924/frc2026/subsystems/flywheel/FlywheelIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/pivots/intakePivot/IntakePivot.java
  • src/main/java/org/team5924/frc2026/subsystems/pivots/shooterHood/ShooterHood.java
  • src/main/java/org/team5924/frc2026/subsystems/pivots/shooterHood/ShooterHoodIOSim.java
  • src/main/java/org/team5924/frc2026/subsystems/pivots/shooterHood/ShooterHoodIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/hopper/Hopper.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/indexer/Indexer.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/intake/Intake.java
  • src/main/java/org/team5924/frc2026/subsystems/turret/Turret.java
  • src/main/java/org/team5924/frc2026/subsystems/turret/TurretIO.java
  • src/main/java/org/team5924/frc2026/subsystems/turret/TurretIOSim.java
  • src/main/java/org/team5924/frc2026/subsystems/turret/TurretIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/vision/VisionConstants.java
  • src/main/java/org/team5924/frc2026/util/LaunchCalculator.java
  • src/main/java/org/team5924/frc2026/util/LauncherConstants.java

Summary by CodeRabbit

Release Notes

  • Removed Features

    • Turret subsystem has been removed.
  • Refactor

    • Unified shooter hood and flywheel subsystems (previously maintained separate left/right instances).
    • Simplified intake control: left bumper deploys intake pivot and activates intake; right bumper stows both.
    • Streamlined shooter auto-aiming logic by removing turret angle calculations.

Walkthrough

This pull request consolidates the shooter and flywheel subsystems by removing side-specific (left/right) implementations and eliminating the entire Turret subsystem. Constants are renamed to remove "General" prefix, and subsystem state tracking is migrated from RobotState to local fields within individual subsystems.

Changes

Cohort / File(s) Summary
Constants Refactoring
src/main/java/org/team5924/frc2026/Constants.java
Renamed subsystem constant classes (GeneralShooterHoodShooterHood, GeneralFlywheelFlywheel), consolidated their configuration constants (GENERAL_**), added explicit hardware identifiers (CAN IDs, CANcoder parameters), and deleted all side-specific constant classes (ShooterHoodLeft/Right, FlywheelLeader/FollowerLeft/Right, TurretLeft/Right, GeneralTurret).
Turret Subsystem Removal
src/main/java/org/team5924/frc2026/subsystems/turret/*
Entirely removed Turret.java, TurretIO.java, TurretIOSim.java, and TurretIOTalonFX.java (579 lines deleted), eliminating turret state management, IO interface, and hardware implementations.
Flywheel Consolidation
src/main/java/org/team5924/frc2026/subsystems/flywheel/Flywheel.java, FlywheelIOTalonFX.java, FlywheelIOSim.java
Removed side-specific (isLeft) parameter from constructor and all side-branching logic; added local currentState field for state tracking; consolidated tunable parameters and logging keys from side-specific (Flywheel/<side>/...) to shared namespace; updated constant references to new Constants.Flywheel naming.
ShooterHood Consolidation
src/main/java/org/team5924/frc2026/subsystems/pivots/shooterHood/ShooterHood.java, ShooterHoodIOTalonFX.java, ShooterHoodIOSim.java
Removed isLeft parameter and side-specific state synchronization; added local currentState field; consolidated tunable parameters and removed left/right branching; updated logging namespaces to shared ShooterHood/* paths and constant references to simplified Constants.ShooterHood naming.
RobotState Dependency Removal
src/main/java/org/team5924/frc2026/RobotState.java, src/main/java/org/team5924/frc2026/subsystems/rollers/intake/Intake.java, IntakePivot.java, Hopper.java, Indexer.java
Deleted RobotState fields tracking subsystem states (intake, intake pivot, hopper, indexer, turret, flywheels, shooter hoods); updated respective subsystems to maintain local currentState instead of updating global RobotState.
RobotContainer and Commands Updates
src/main/java/org/team5924/frc2026/RobotContainer.java, src/main/java/org/team5924/frc2026/commands/shooter/AutoScoreCommands.java, ManualShooterCommands.java
Removed side-specific shooter/turret field instantiation; simplified IO selection to single instances; removed turret-related imports and control bindings; updated AutoScoreCommands.runTrackTargetCommand() to remove Turret dependency; deleted manualTurret() command factory; added feature flags for conditional real vs. simulated IO instantiation.
Utility and Calculator Updates
src/main/java/org/team5924/frc2026/util/LaunchCalculator.java, LauncherConstants.java
Removed Transform3d import and turret-related parameters; updated getParameters() to remove isLeft parameter and turret angle computation; replaced side-specific launcher transforms (robotToLauncherLeft/Right) with single robotToLauncher; updated hood angle constant references to new Constants.ShooterHood naming.
Vision Constants Formatting
src/main/java/org/team5924/frc2026/subsystems/vision/VisionConstants.java
Minor whitespace/indentation adjustments to Transform3d argument formatting (no functional changes).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

Suggested reviewers

  • thatnerdjack
  • maiKuneho
  • marisa07

🐰 Hoppy consolidation day!
Left and right turrets fade away,
One shooter, one flywheel now reign,
RobotState no longer holds the state,
Each subsystem tends its own domain! 🎯✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant