“Pre-Reqs”
If you are reading this you should be more or less comfortable with C++, whether that was through learncpp or other. You do not need to be an expert or anything. Software is a joke and 95% Google search anyway.
You should also be familiar with the high-level hardware architecture of the system and basics of embedded systems. If you’re unfamiliar with these, check out the recordings here (marked avionics).
If you need help getting caught up on any of this or have questions contact Emily (esolo) or Lili (lilisun).
C++ Standards
Every company and organization has standards for their code. I may have low standards in other things but if you do not follow our C++ standards I will get mad and cry and roast you (no I won’t don’t worry). Whenever you submit a pull request, whoever is reviewing your code will probably point out if there are any style changes they want so no biggie (or if we have a linter...wishful thinking).
Anyway, read our standards here ! Read this before you start contributing to our codebase, it shouldn’t take long.
Toolchain
Alright, so right now your computer will probably be pretty 🅱️oneless, at least for what we want to do. You might have CMake or something but that will not do here. In order to write/build/debug for our specific board, we need some extra stuff. Follow the steps here to get your laptop setup for DENNIS.
Git/Version Control
Log in to your MIT Enterprise Github (github.mit.edu)!
If you do not have access to the repository or MIT Rocket Team, contact Lili (lilisun) or Luka (lgovedic).
Follow the instructions for Git and learn about our software workflow here. TODO.
Glad to have you back, I’m sure you’re a Git e x p e r t now! (Kidding, no one is and no one will ever be)
Building/Uploading Code
TODO.
Testing 101
Unit Testing
(on hold)
HOOTL
(on hold)
How to Use a Debugger
(on hold)