This is the repository for FRC team 2813's code for our 2025 robot, Maelstørm.
There are two different ways to clone the robot code in order to work on it. The only difference between the two is what protocol is used to communicate with GitHub. The recommended method is HTTPS (Hypertext Transfer Protocol Secure), which will work on school WiFi. The alternative is SSH (Secure Shell Protocol), which will not work on school wifi. You only need to follow the instructions for cloning with one protocol
If you haven't cloned with HTTPS or SSH before, you need to set them up first. See the documentation for the HTTPS setup, and the SSH Setup.
Before cloning, it is recommended that you set the submodule.stickyRecursiveClone
git config option to true
to make working with the lib2813 submodule easier (see
this StackOverflow answer for details about this option).
To do this, run the following command from any directory:
git config --global submodule.stickyRecursiveClone true
In order to clone the repository, with the lib2813
submodule cloned as well, run:
git clone --recurse-submodules https://github.com/Prospect-Robotics/Robot2025.git
Note
The --recurse-submodules
can be omitted to only clone the Robot2025
repo, and not the lib2813
submodule.
If the lib2813
submodule is not present, the code will not build.
After the clone process completes, follow the Post-Clone Setup.
Caution
Currently, a SSH robot code setup will not be able to access GitHub on school wifi due to the SSH port being used. If you plan to work on school wifi, you may want to consider cloning with HTTPS. This does not apply with the Coder setup, as the machine that it is running on does not have the SSH port blocked, so you will be able to work with GitHub regardless of location, as long as you have internet access.
For the clone and submodule setup, you can run the following commands:
Note
Anything after a hashtag (#) is a comment, and does not need to be put in. If you do put them in, they will be ignored by the terminal.
git clone [email protected]:Prospect-Robotics/lib2813.git # clone repo with ssh (submodule not initialized)
git submodule init lib2813 # initialize the lib2813 submodule
git config submodule.lib2813.url [email protected]:Prospect-Robotics/lib2813.git # Set the submodule url to use ssh instead of the default https
git submodule update # check out the correct commit in the lib2813 submodule
After cloning, it is recommended that you run the following in the Robot2025 directory:
git config --local include.path ../.gitconfig
To deploy from the command line you can run the following command while in the directory you have cloned the repository
# linux & mac
./gradlew deploy
# windows
.\gradlew.bat deploy
You must be connected to the robot's network in order to deploy (robot wifi, ethernet, or a USB-B cable).
Note
This command is only tested under Linux and Mac, and will fail on Windows due to the Windows ping command not pinging infinitely.
In order to use this, you need to run it, and you will eventually get a successful ping from 10.28.13.2 (roboRIO's ip address). After that, you can press CTRL+C to cancel the ping, and start the deploy process. If the deploy was successful, the terminal will be cleared, and if it fails, it will not be cleared, so you can see the error message.
ping 10.28.13.2; ./gradlew deploy && clear