How aegis-5243/rebuilt works
This is Team 5243’s WPILib robot-control application. The workflow begins with operator input and robot-mode scheduling, then RobotContainer configures commands that drive the mecanum drivetrain and coordinate intake, shooting, camera-based pose updates, and climbing. Shot geometry and field kinematics support aiming. The graph preserves the major runtime subsystems named by the source index; the README provides no further feature detail. Some subsystem links are evidenced by RobotContainer imports or references, but unsampled implementation means their precise command behavior is not expanded.
Main entry points: RobotContainer.java Command Setup · DriveSubsystem.java Mecanum Drive · CameraSubsystem.java Camera Subsystem · TurretSubsystem.java Turret Subsystem
Components 25
Robot Runtime
- Program Entry
src/main/java/frc/robot/Main.java - Robot Lifecycle
src/main/java/frc/robot/Robot.java - Command Setup
src/main/java/frc/robot/RobotContainer.java - Autonomous Routines
src/main/java/frc/robot/commands/Autos.java
Drive and Vision
- Mecanum Drive
src/main/java/frc/robot/drive/DriveSubsystem.java - Drive Controller
src/main/java/frc/lib/CustomMecanumDrive.java - Mecanum Kinematics
src/main/java/frc/lib/CustomMecanumDriveKinematics.java - Pose Alignment
src/main/java/frc/robot/drive/AlignToPose.java - Camera Subsystem
src/main/java/frc/robot/camera/CameraSubsystem.java - Limelight Helpers
src/main/java/frc/robot/utils/LimelightHelpers.java
Robot Mechanisms
- Climb Subsystem
src/main/java/frc/robot/climb/ClimbSubsystem.java - Intake Subsystem
src/main/java/frc/robot/intake/IntakeSubsystem.java - Shooter Subsystem
src/main/java/frc/robot/shooter/ShooterSubsystem.java - Hood Subsystem
src/main/java/frc/robot/shooter/HoodSubsystem.java - Roller Subsystem
src/main/java/frc/robot/shooter/RollerSubsystem.java - Turret Subsystem
src/main/java/frc/robot/shooter/TurretSubsystem.java
Controls and Aiming
- Controller Mapping
src/main/java/frc/robot/controllers/ProController.java - Drive Input API
src/main/java/frc/robot/controllers/DriveController.java - Joystick Mapping
src/main/java/frc/robot/controllers/JoystickControllers.java - Shot Calculator
src/main/java/frc/robot/utils/TurretCalculator.java
Shared Components
- Robot Constants
src/main/java/frc/robot/Constants.java - Field Kinematics
src/main/java/frc/robot/utils/Kinematics.java - Wrapping Encoder
src/main/java/frc/lib/WrappingDutyCycleEncoder.java - Robot Utilities
src/main/java/frc/robot/utils/Utilites.java
Other components
- Operator
Connections 30
- Operator → Controller Mapping: provides input
- Program Entry → Robot Lifecycle: starts
src/main/java/frc/robot/Main.java - Robot Lifecycle → Command Setup: creates
src/main/java/frc/robot/Robot.java - Robot Lifecycle → Command Setup: gets auto command
src/main/java/frc/robot/Robot.java - Command Setup → Mecanum Drive: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Camera Subsystem: registers
src/main/java/frc/robot/RobotContainer.java - Command Setup → Pose Alignment: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Climb Subsystem: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Intake Subsystem: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Shooter Subsystem: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Hood Subsystem: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Roller Subsystem: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Turret Subsystem: configures
src/main/java/frc/robot/RobotContainer.java - Command Setup → Shot Calculator: calculates shots
src/main/java/frc/robot/RobotContainer.java - Command Setup → Autonomous Routines: selects routines
- Controller Mapping → Drive Input API: implements
src/main/java/frc/robot/controllers/ProController.java - Joystick Mapping → Drive Input API: implements
src/main/java/frc/robot/controllers/JoystickControllers.java - Mecanum Drive → Drive Controller: uses
src/main/java/frc/robot/drive/DriveSubsystem.java - Mecanum Drive → Mecanum Kinematics: uses
src/main/java/frc/robot/drive/DriveSubsystem.java - Mecanum Drive → Turret Subsystem: reads angle
src/main/java/frc/robot/drive/DriveSubsystem.java - Pose Alignment → Mecanum Drive: uses
src/main/java/frc/robot/drive/AlignToPose.java - Camera Subsystem → Mecanum Drive: updates pose
src/main/java/frc/robot/camera/CameraSubsystem.java - Camera Subsystem → Limelight Helpers: reads estimates
src/main/java/frc/robot/camera/CameraSubsystem.java - Mecanum Drive → Field Kinematics: uses
src/main/java/frc/robot/drive/DriveSubsystem.java - Mecanum Kinematics → Field Kinematics: references
src/main/java/frc/lib/CustomMecanumDriveKinematics.java - Turret Subsystem → Wrapping Encoder: uses
src/main/java/frc/robot/shooter/TurretSubsystem.java - Climb Subsystem → Wrapping Encoder: uses
src/main/java/frc/robot/climb/ClimbSubsystem.java - Autonomous Routines → Mecanum Drive: uses
src/main/java/frc/robot/commands/Autos.java - Mecanum Drive → Shot Calculator: calculates aiming
src/main/java/frc/robot/drive/DriveSubsystem.java - Camera Subsystem → Turret Subsystem: reads turret
src/main/java/frc/robot/camera/CameraSubsystem.java