PROS Rewrite

Firstly, we began documenting our code using the autegnerator Doxygen. We did this so that future teams can learn from our code if they would like and it gives them an easier way of getting started: Doxygen documentation

This page documents the rewrite of the codebase completely in pros from a single main.cpp file, that adhered to the recommendations given by the PROS documentation, to the full fledged codebase following OOP(Object Oriented Programming practices) and following general good C++ practices, rather than the code existing in a bubble inside the VEX ecosystem.

At the core, most of the functionality of the robot remains the same from before the rewrite(commits before January 2024) in the codebase) Some of the main functionality that is different comes along with the rebuild of the robot, as is in the usage of the distance sensor for the puncher(Doxygen documentation->class list->puncher->toShoot() docs), as well as some differences between the codebases for global variable declarations(Doxygen documentation->namespace list->globals namespace).

One of the most influential additions to the codebase is the addition of the toggler, which allows to dynamically change the settings of the subsystems. This includes, but is not limited to the drivetrain drive mode, whether the puncher uses a distance sensor or not, and what the autonomous to run will be.

It is easiest to explain how the new codebase is structured with the autogenerated Doxygen documentation.

Otherwise, most of the logic is the same as previous, and the methods and functionality relating to different subsystems are just split up into their own interfaces in order to promote better code quality.