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.