Everyone on the code team should be able to develop the robot code! But the first step is making sure you're on the same page and have all the available dev tools.
Clearly, we're using git to manage the robot software. Make an account on github, install git for your system and
clone this repository
git clone https://github.com/FRC-1721/1721-ReefScape
cd 1721-ReefScapeYou're welcome to use ssh if you have that setup. But the school blocks ssh traffic on the normal port
use ssh over https by editing your ~/.ssh/config like this:
# Github
Host github.com
Hostname ssh.github.com
Port 443
User git
IdentityFile path/to/my/identityfile
You can use any text editor you like but we recommend vscode or vim (or emacs if you want to make Dylan happy).
Whatever editor you use please comment and format your code! We use black to enforce python style.
We use pipenv to manage our python dependencies, and keep everyone's env in sync. Download and install pipenv from
a package maintainer or via pip pip install pipenv and then setup your environment like this:
pipenv install
pipenv shellRunning the simulator is not just a useful exercise, it also ensures that you have all dependencies installed,
all libs are functional, and that your system supports the necessary requirements to simulate the robot
and its hardware. To make development easier we use a Makefile at the root of this repo to automate
dev tools. Invoke the simulator with:
make simNow obviously what good is code if you can't even push it to main for others to use? So, here are the instructions for how to make commits, and push code to your branch.
First, we use git add to get everything ready for the commit, use this if you want to add everything you've changed for the commit, if you only want to add specific things, contact us:
git add -ANext, we use git commit to make an addition to the branch you're working on:
git commit -m "Enter your comment for the commit here, make sure to use quotes."Finally, push it to your branch so others and access it:
git pushPlease assume-unchanged for local ds json config values. This will help prevent constantly overwriting
these files in general use/tweaking. If you do make a change to the simgui files, you can always
overwrite the assume-unchanged by invoking git add -f <file>
git update-index --assume-unchanged simgui-ds.json simgui.json simgui-window.jsonReport a bug, issue or missing feature! The most helpful way to track and alert the code team is via github issues.
