Contributing to Flight Software¶
Updated: 7/10/26
The PEROVSAT flight software lives across many GitHub repositories, shown below, but the process of making contributions to them is largely the same.
Repositories¶
| Repository | Purpose |
|---|---|
perovsat-app |
Application threads, dbuild system, and setup scripting |
driver-template |
Bootstrap new out-of-tree Zephyr drivers |
*-driver |
Individual device drivers |
*-lib |
Libraries for use in certain device drivers for NDA hardware |
perovsat.github.io |
The website you're on, for both documentation and publicity |
Basic workflow¶
- Clone
perovsat-appand run./setup.sh(see Getting Started). - Use
git switch mainto get to the main branch of a repository - Use
git switch -c new-branch-nameto create a branch for a feature you are working on - Use
git addandgit commit -m "short description of changes"to make changes - Once all changes are done, double check that everything still can be run without errors
- Use
git push -u origin your-branch-nameto publish your branch to GitHub - On GitHub, make a Pull Request (PR) for your branch, and add a description of what you did
- Other team members can review your code. Once they merge it, do
git switch mainandgit pullto see your code on the main branch, where you can now work on another feature
If you want to learn more about git, MIT's Missing Semester is a great resource. AI can also be very useful if you get stuck.
Git Commit Errors
Due to the use of clang-format in a pre-commit script (see Code Style for details), your commits may "fail" to go through. This is expected, and just a result of git seeing that clang-format changed some files that were going to be committed. You can readd any files that were changed, and try to commit again.