This project will use the FSMSystem framework, representing each subsystem as a finite state machine.
FSM diagrams for each subsystem are located in the doc folder.
Javadoc for this repo is available at https://tino-frc-2473.github.io/FRC2025/
We will base our code style off the Sun Java style guide.
- Indentation: tabs
- Braces: endline
- Wrap lines at 80 characters
Some additional naming guidance:
- Variable names: camelCase
- Booleans should start with "is" or "has" (ex. hasMotor, isPositive)
Everyone should read and follow the rules in "How to write a Git Commit Message."
-
Local branches are personal development branches for work in progress code.
- Naming convention:
dev/week-#/firstname_lastname/description-as-needed
- Naming convention:
-
Main branch will be where all subsystems come together.
- Main branch merges require formal pull requests (peer & mentor reviewed) and must pass build and style checks. These changes should already have been tested on a test branch.
- Main branch will serve as the weekly baseline for new development.
- Main branch is expected to be configured to run on the competition robot.
A dedicated branch will be created to track code changes made at each competition.
- For Pinnacles, the competition branch will be
comp/pinnacles
. - All changes must be commited to this branch prior to the final robot code upload before queueing for each match.
The commit used for each match must be tagged prior to queueing. This is essential for post-match debugging and analysis. Tags should be namespaced under the competition name and indicated the match type qual
or playoff
.
- For instance, qualification match 3 at Pinnacles should be tagged with
comp/pinnacles/qual_3
. - Create annotated tags with the
git tag
command. I.e.git tag -a "comp/pinnacles/qual_3"
. Write a summary of any code or configuration changes made in the tag description. - Tags must be pushed with
--tags
option. I.egit push origin --tags
.