# stmarobotics/frc-7028-2026-2 architecture

> Architecture diagram of the GitHub repository stmarobotics/frc-7028-2026-2, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/stmarobotics/frc-7028-2026-2
- Repository: https://github.com/stmarobotics/frc-7028-2026-2

## Overview

This is FRC Team 7028’s 2026 competition robot code. The principal workflow maps driver input to command bindings, which coordinate drivetrain and game-piece mechanisms for intake, aiming, and shooting. The robot also supports PathPlanner autonomous routines, vision-assisted localization, LEDs, and mechanism characterization. The sampled files establish several command-to-subsystem interactions and the localization callback; wiring inside unsampled modules is shown only where RobotContainer’s excerpt documents it. Autonomous path assets are present, but their runtime loading details are not sampled.

Main entry points: [`src/main/java/frc/robot/RobotContainer.java`](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/RobotContainer.java) (Robot Container), [`src/main/java/frc/robot/commands/ShootAtTargetCommand.java`](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/ShootAtTargetCommand.java) (Aim And Shoot), [`src/main/java/frc/robot/subsystems/LocalizationSubsystem.java`](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/LocalizationSubsystem.java) (Vision Localization), [`src/main/java/frc/robot/controls/ControlBindings.java`](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/ControlBindings.java) (Control Bindings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Robot Runtime"]
  node_main["Robot Entry<br/>[Main.java]"]
  node_robotclass["Robot Lifecycle<br/>[Robot.java]"]
  node_container["Robot Container"]
end

subgraph group_control["Controls And Commands"]
  node_bindings["Control Bindings"]
  node_xbox["Xbox Bindings"]
  node_joystick["Joystick Bindings"]
  node_commandfactory["Command Factory"]
  node_shootaim["Aim And Shoot"]
  node_intakesequence["Intake Shoot Sequence"]
  node_intakecommands["Intake Commands<br/>[IntakeCommand.java]"]
end

subgraph group_robot["Robot Systems"]
  node_drivetrain["Swerve Drivetrain"]
  node_intake["Intake Mechanism"]
  node_shooter["Shooter"]
  node_feeder["Feeder"]
  node_indexer["Indexer"]
  node_led["LED System<br/>[LEDSubsystem.java]"]
end

subgraph group_autonomous["Autonomous And Vision"]
  node_localization["Vision Localization"]
  node_visionconsumer["Vision Measurement Consumer"]
  node_paths["Autonomous Path Assets"]
  node_pathfiles["Path Definitions"]
  node_limelight["Limelight Configurations"]
end

node_operator(("Driver"))
node_dashboard(("Driver Station"))

node_main -->|"starts"| node_robotclass
node_robotclass -->|"initializes"| node_container
node_operator -->|"operates"| node_xbox
node_operator -->|"operates"| node_joystick
node_xbox -->|"implements"| node_bindings
node_joystick -->|"implements"| node_bindings
node_container -->|"configures"| node_bindings
node_container -->|"creates commands"| node_commandfactory
node_container -->|"configures"| node_drivetrain
node_container -->|"constructs"| node_localization
node_localization -->|"submits measurements"| node_drivetrain
node_container -->|"registers named commands"| node_paths
node_paths -->|"references paths"| node_pathfiles
node_container -->|"sets default"| node_intakecommands
node_container -->|"sets LED default"| node_led
node_shootaim -->|"aims and brakes"| node_drivetrain
node_shootaim -->|"sets speed"| node_shooter
node_shootaim -->|"feeds"| node_feeder
node_shootaim -->|"feeds"| node_indexer
node_shootaim -->|"executes"| node_intakesequence
node_intakesequence -->|"controls"| node_intake
node_shootaim -->|"signals status"| node_led
node_intakecommands -->|"controls"| node_intake
node_container -->|"publishes characterization"| node_dashboard
node_visionconsumer -.->|"provides measurements"| node_localization
node_limelight -.->|"configures vision"| node_visionconsumer

click node_main "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/Main.java"
click node_robotclass "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/Robot.java"
click node_container "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/RobotContainer.java"
click node_bindings "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/ControlBindings.java"
click node_xbox "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/XBoxControlBindings.java"
click node_joystick "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/JoystickControlBindings.java"
click node_commandfactory "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/CommandFactory.java"
click node_shootaim "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/ShootAtTargetCommand.java"
click node_intakesequence "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/IntakeShootingSequence.java"
click node_intakecommands "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/IntakeCommand.java"
click node_drivetrain "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java"
click node_intake "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/IntakeSubsytem.java"
click node_shooter "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/ShooterSubsystem.java"
click node_feeder "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/FeederSubsystem.java"
click node_indexer "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/IndexerSubsystem.java"
click node_led "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/LEDSubsystem.java"
click node_localization "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/LocalizationSubsystem.java"
click node_visionconsumer "https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/VisionMeasurementConsumer.java"
click node_paths "https://github.com/stmarobotics/frc-7028-2026-2/tree/main/src/main/deploy/pathplanner/autos"
click node_pathfiles "https://github.com/stmarobotics/frc-7028-2026-2/tree/main/src/main/deploy/pathplanner/paths"
click node_limelight "https://github.com/stmarobotics/frc-7028-2026-2/tree/main/limelight_configs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main,node_robotclass,node_container toneBlue
class node_bindings,node_xbox,node_joystick,node_commandfactory,node_shootaim,node_intakesequence,node_intakecommands toneAmber
class node_drivetrain,node_intake,node_shooter,node_feeder,node_indexer,node_led toneMint
class node_localization,node_visionconsumer,node_paths,node_pathfiles,node_limelight toneRose
class node_operator,node_dashboard toneIndigo
```

## Components

### Robot Runtime

- [Robot Entry](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/Main.java): `src/main/java/frc/robot/Main.java`
- [Robot Lifecycle](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/Robot.java): `src/main/java/frc/robot/Robot.java`
- [Robot Container](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/RobotContainer.java): `src/main/java/frc/robot/RobotContainer.java`

### Controls And Commands

- [Control Bindings](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/ControlBindings.java): `src/main/java/frc/robot/controls/ControlBindings.java`
- [Xbox Bindings](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/XBoxControlBindings.java): `src/main/java/frc/robot/controls/XBoxControlBindings.java`
- [Joystick Bindings](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/controls/JoystickControlBindings.java): `src/main/java/frc/robot/controls/JoystickControlBindings.java`
- [Command Factory](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/CommandFactory.java): `src/main/java/frc/robot/CommandFactory.java`
- [Aim And Shoot](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/ShootAtTargetCommand.java): `src/main/java/frc/robot/commands/ShootAtTargetCommand.java`
- [Intake Shoot Sequence](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/IntakeShootingSequence.java): `src/main/java/frc/robot/commands/IntakeShootingSequence.java`
- [Intake Commands](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/commands/IntakeCommand.java): `src/main/java/frc/robot/commands/IntakeCommand.java`

### Robot Systems

- [Swerve Drivetrain](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java): `src/main/java/frc/robot/subsystems/CommandSwerveDrivetrain.java`
- [Intake Mechanism](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/IntakeSubsytem.java): `src/main/java/frc/robot/subsystems/IntakeSubsytem.java`
- [Shooter](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/ShooterSubsystem.java): `src/main/java/frc/robot/subsystems/ShooterSubsystem.java`
- [Feeder](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/FeederSubsystem.java): `src/main/java/frc/robot/subsystems/FeederSubsystem.java`
- [Indexer](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/IndexerSubsystem.java): `src/main/java/frc/robot/subsystems/IndexerSubsystem.java`
- [LED System](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/LEDSubsystem.java): `src/main/java/frc/robot/subsystems/LEDSubsystem.java`

### Autonomous And Vision

- [Vision Localization](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/subsystems/LocalizationSubsystem.java): `src/main/java/frc/robot/subsystems/LocalizationSubsystem.java`
- [Vision Measurement Consumer](https://github.com/stmarobotics/frc-7028-2026-2/blob/main/src/main/java/frc/robot/VisionMeasurementConsumer.java): `src/main/java/frc/robot/VisionMeasurementConsumer.java`
- [Autonomous Path Assets](https://github.com/stmarobotics/frc-7028-2026-2/tree/main/src/main/deploy/pathplanner/autos): `src/main/deploy/pathplanner/autos`
- [Path Definitions](https://github.com/stmarobotics/frc-7028-2026-2/tree/main/src/main/deploy/pathplanner/paths): `src/main/deploy/pathplanner/paths`
- [Limelight Configurations](https://github.com/stmarobotics/frc-7028-2026-2/tree/main/limelight_configs): `limelight_configs`

### Other components

- **Driver**
- **Driver Station**

## Connections

- Robot Entry → Robot Lifecycle: starts
- Robot Lifecycle → Robot Container: initializes
- Driver → Xbox Bindings: operates
- Driver → Joystick Bindings: operates
- Xbox Bindings → Control Bindings: implements
- Joystick Bindings → Control Bindings: implements
- Robot Container → Control Bindings: configures
- Robot Container → Command Factory: creates commands
- Robot Container → Swerve Drivetrain: configures
- Robot Container → Vision Localization: constructs
- Vision Localization → Swerve Drivetrain: submits measurements
- Robot Container → Autonomous Path Assets: registers named commands
- Autonomous Path Assets → Path Definitions: references paths
- Robot Container → Intake Commands: sets default
- Robot Container → LED System: sets LED default
- Aim And Shoot → Swerve Drivetrain: aims and brakes
- Aim And Shoot → Shooter: sets speed
- Aim And Shoot → Feeder: feeds
- Aim And Shoot → Indexer: feeds
- Aim And Shoot → Intake Shoot Sequence: executes
- Intake Shoot Sequence → Intake Mechanism: controls
- Aim And Shoot → LED System: signals status
- Intake Commands → Intake Mechanism: controls
- Robot Container → Driver Station: publishes characterization
- Vision Measurement Consumer → Vision Localization: provides measurements
- Limelight Configurations → Vision Measurement Consumer: configures vision
