Skip to content

Main build error fix#85

Closed
maiKuneho wants to merge 29 commits into
mainfrom
main-build-error-fix
Closed

Main build error fix#85
maiKuneho wants to merge 29 commits into
mainfrom
main-build-error-fix

Conversation

@maiKuneho
Copy link
Copy Markdown
Contributor

No description provided.

arcadeArchitect and others added 29 commits March 17, 2026 19:34
…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 28, 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: a672fdcc-09c7-4007-85d6-bd3395af86b0

📥 Commits

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

📒 Files selected for processing (38)
  • .vscode/settings.json
  • src/main/java/org/team5924/frc2026/Constants.java
  • src/main/java/org/team5924/frc2026/Robot.java
  • src/main/java/org/team5924/frc2026/RobotContainer.java
  • src/main/java/org/team5924/frc2026/RobotState.java
  • src/main/java/org/team5924/frc2026/commands/AutoBuilder.java
  • src/main/java/org/team5924/frc2026/commands/drive/DriveCommands.java
  • src/main/java/org/team5924/frc2026/commands/drive/DriveToPose.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/FlywheelIO.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/intakePivot/IntakePivotIOTalonFX.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/generic/GenericRollerIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/hopper/Hopper.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/hopper/HopperIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/indexer/Indexer.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/indexer/IndexerIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/intake/Intake.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/intake/IntakeFollowerIO.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/intake/IntakeFollowerIOTalonFX.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/intake/IntakeIOSim.java
  • src/main/java/org/team5924/frc2026/subsystems/rollers/intake/IntakeIOTalonFX.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/subsystems/vision/VisionIO.java
  • src/main/java/org/team5924/frc2026/subsystems/vision/VisionIOPhotonVision.java
  • src/main/java/org/team5924/frc2026/util/LaunchCalculator.java
  • src/main/java/org/team5924/frc2026/util/LauncherConstants.java

Summary by CodeRabbit

  • New Features

    • Added launch calculator integration for enhanced autonomous aiming and shooting parameters.
    • Introduced drive mode supporting launching with intelligent velocity control and angular compensation.
    • Expanded vision system with tunable camera calibration and improved pose tracking.
  • Bug Fixes

    • Corrected odometry pose estimation source for improved localization accuracy.
    • Updated vision camera orientation transforms for better targeting precision.
  • Refactor

    • Unified dual-turret system into single shooter subsystem for simplified control.
    • Consolidated shooter hood and flywheel configurations for streamlined operation.
  • Chores

    • Updated VS Code Java memory settings and motor configurations.

Walkthrough

This PR consolidates the robot's shooter system from a dual-sided architecture (left/right turrets, hoods, flywheels) to single unified subsystems. It removes the Turret subsystem entirely, refactors state management so subsystems track their own state instead of updating RobotState, adds launcher-aware drive control, and introduces multi-motor flywheel support with an intake follower motor.

Changes

Cohort / File(s) Summary
Build Configuration
.vscode/settings.json
Increased Java language server JVM heap size from 2GB to 4GB.
Constants Consolidation
src/main/java/org/team5924/frc2026/Constants.java
Removed left/right turret, shooter hood, and flywheel constants variants; consolidated to single unified versions with updated CAN IDs, configs, and tuning parameters. Split GenericRoller.CONFIG into CLOCKWISE_CONFIG and COUNTERCLOCKWISE_CONFIG; added intake follower CAN ID; reduced intake pivot current limits and disabled software limits.
State Management Architecture
src/main/java/org/team5924/frc2026/RobotState.java
Removed all subsystem state fields (intake, hopper, indexer, turret, flywheel, shooter hood); subsystems now track state locally. Changed getRotation() to use odometry pose instead of estimated pose. Added single isFlywheelAtSetpoint boolean flag.
Robot Initialization
src/main/java/org/team5924/frc2026/Robot.java
Moved low-battery alert reset logic from periodic to initialization phase. Added LaunchCalculator parameter clearing in robotPeriodic.
Container Wiring & Control Bindings
src/main/java/org/team5924/frc2026/RobotContainer.java
Removed left/right subsystem instantiation (turrets, hoods, flywheels); consolidated to single instances. Added real/sim mode boolean flags for conditional IO implementation selection. Simplified button bindings for unified intake, shooter, and hood control.
Launcher Integration
src/main/java/org/team5924/frc2026/util/LaunchCalculator.java, src/main/java/org/team5924/frc2026/util/LauncherConstants.java
Removed turretRadians parameter from LaunchingParameters; changed getParameters() to single-argument (removed isLeft). Replaced dual launcher transforms with single robotToLauncher. Updated pose sourcing from estimated to odometry pose.
Launch-Aware Drive Control
src/main/java/org/team5924/frc2026/commands/drive/DriveCommands.java
Added new joystickDriveWhileLaunching() command with PD-tuned angular rate, geometric velocity limiting, and COR error scaling using LaunchCalculator. Added atLaunchGoal() gate checking yaw alignment.
Auto Commands
src/main/java/org/team5924/frc2026/commands/AutoBuilder.java, src/main/java/org/team5924/frc2026/commands/drive/DriveToPose.java, src/main/java/org/team5924/frc2026/commands/shooter/AutoScoreCommands.java
Changed pose sourcing from estimated to odometry throughout. Removed turret requirement from runTrackTargetCommand(); updated signature to accept only shooter hood and flywheel.
Shooter Command Updates
src/main/java/org/team5924/frc2026/commands/shooter/ManualShooterCommands.java
Removed manualTurret() command entirely. Updated manualShooterHood() to pass supplier directly instead of invoking getAsDouble().
Shooter Hood Subsystem
src/main/java/org/team5924/frc2026/subsystems/pivots/shooterHood/ShooterHood.java, src/main/java/org/team5924/frc2026/subsystems/pivots/shooterHood/ShooterHoodIO*.java
Removed left/right parameterization; added local currentState field. Added MANUAL_ANGLE state with tunable value. Introduced setInput() and setAutoInput() methods; integrated LaunchCalculator for AUTO mode. Updated all IO implementations to remove constructor parameters.
Flywheel Subsystem
src/main/java/org/team5924/frc2026/subsystems/flywheel/Flywheel.java, src/main/java/org/team5924/frc2026/subsystems/flywheel/FlywheelIO*.java
Removed left/right split; added local currentState and multi-motor tracking (4 motors: leader, follower, opposers). Changed alerts to per-motor arrays. Added setAutoInput() with clamping; integrated LaunchCalculator. Updated IO inputs to use boolean[] and double[] arrays. Removed MANUAL and SETPOINT states; added MANUAL_SETPOINT.
Intake Subsystem
src/main/java/org/team5924/frc2026/subsystems/rollers/intake/Intake.java, src/main/java/org/team5924/frc2026/subsystems/rollers/intake/IntakeFollowerIO*.java, src/main/java/org/team5924/frc2026/subsystems/rollers/intake/IntakeIOTalonFX.java
Added local currentState and removed RobotState dependency. Created new IntakeFollowerIO interface and IntakeFollowerIOTalonFX implementation for multi-motor control.
Hopper & Indexer Subsystems
src/main/java/org/team5924/frc2026/subsystems/rollers/hopper/Hopper.java, src/main/java/org/team5924/frc2026/subsystems/rollers/indexer/Indexer.java
Removed RobotState state updates; added local currentState field. Updated voltage defaults. Indexer now gates operation on flywheel setpoint status. Removed redundant IO method overrides.
Intake Pivot
src/main/java/org/team5924/frc2026/subsystems/pivots/intakePivot/IntakePivot.java, src/main/java/org/team5924/frc2026/subsystems/pivots/intakePivot/IntakePivotIOTalonFX.java
Removed RobotState dependency and local state tracking. Updated PID/FF tuning and Motion Magic parameters.
Turret Subsystem Removal
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
Removed entire Turret subsystem, interface, and all IO implementations (sim and TalonFX variants).
Generic Roller Base
src/main/java/org/team5924/frc2026/subsystems/rollers/generic/GenericRollerIOTalonFX.java
Changed talon field visibility from private final to protected final to allow subclass access.
Vision System
src/main/java/org/team5924/frc2026/subsystems/vision/VisionConstants.java, src/main/java/org/team5924/frc2026/subsystems/vision/VisionIO.java, src/main/java/org/team5924/frc2026/subsystems/vision/VisionIOPhotonVision.java
Updated camera transform orientations (adjusted roll angles). Added TranslationRotation record for camera-to-target pose representation. Made robotToCamera transform tunable with runtime updates via LoggedTunableNumber.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • Hmb all functionality #78: Directly related—introduces the left/right turret/dual-sided shooter architecture that this PR consolidates and removes; represents the inverse design direction.
  • Implement Turret #56: Related—modifies turret subsystem and constants that this PR removes; changes to the same files but in opposing direction.
  • Hood tuning #80: Related—modifies shooter hood constants, configurations, and IO implementations that this PR consolidates into unified design.

Suggested reviewers

  • arcadeArchitect
  • thatnerdjack

Poem

🐰 A turret twin, now one and whole,
The dual sides merge into single soul,
With flywheel's four and hood so bright,
We launch toward victory—what a sight! 🚀

✨ 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.

@maiKuneho maiKuneho closed this Mar 28, 2026
@arcadeArchitect arcadeArchitect deleted the main-build-error-fix branch March 28, 2026 02:43
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.

2 participants