Skip to content

Simbotics/2025-Simbot-CMD-Public

Repository files navigation

2025 Simbot Command-Based Proof of Concept

This repository serves as a WIP PoC to guide future years in potential best-practices following the command-based paradigm. Best effort was made this off-season to produce at least one example of how to implement most things, with some testing done -- primarily through simulation to prove the general concept.

Implemented

  • Commands – Focused on the preferred practice being single file commands.

  • RobotContainer / Structure

    • RobotContainer -> Basic button-command bindings. Creates IO instances based on robot mode and provides to Subsystem.
    • TriggerFactory -> Special command triggers/actions or complex command bindings.
    • CommandFactory -> Creation of commands, stores the upper-level list available to the user.
    • RobotState -> Serves as a basic superstructure and replaces the state structure of Timed-Robot. Primarily tracks what each subsystem's command is currently doing for use widely.
  • Subsystem Structure

    • Constants -> Individual constants file for each subsystem. Potentially enums as well.
    • Main Subsystem -> Stores the IO reference and exposes methods for robot-wide use.
    • IO Implementations -> Each possible representation of robot's IO (e.g., RealHardware, Sim).

About

Offseason CMD code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages