Skip to content

Separate year to year hardware with drive chassis#425

Open
Rongrrz wants to merge 3 commits intomainfrom
refactor-electrical-contract
Open

Separate year to year hardware with drive chassis#425
Rongrrz wants to merge 3 commits intomainfrom
refactor-electrical-contract

Conversation

@Rongrrz
Copy link
Copy Markdown
Contributor

@Rongrrz Rongrrz commented May 2, 2026

Why are we doing this?

We’ve been running into a lot of duplicate code in our ElectricalContract system, especially when it comes to checking whether each subsystem or motor is ready. Right now, adding a new motor often requires defining multiple isXXXReady functions across different files, which is repetitive and hard to maintain. This change is intended to better separate year-specific hardware, like the shooter we used this season, from more stable, evergreen components such as cameras and the drive chassis.

Asana task URL:

Whats changing?

  • Added Hardware to keep track of all the season-specific hardware.
  • Added GeneralContract to initialize all the season-specific hardware.
  • Repurposed Contract202x to contain season-specific drive and camera IDs.
  • Each contract will now have a set in their constructor to specify which hardware is ready.

Questions/notes for reviewers

How this was tested

  • tested on robot
  • tested in simulator
  • unit tests added

Video/screenshots (from simulator or live robot)


PR feedback legend

Symbol Meaning
⭐ ⭐ ⭐ must be addressed
⭐ ⭐ should be addressed
something to consider, a good idea

@Rongrrz Rongrrz requested a review from a team May 2, 2026 02:07
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