Firmware setup
This guide assumes that you have already read Initial Setup.
Linux/WSL
Section titled “Linux/WSL”-
Run the following command in a directory of your choice to clone the repository:
Terminal window # if you are using HTTPSgit clone https://github.com/UWOrbital/obc-firmware.git# or if you are using SSHgit clone git@github.com:UWOrbital/obc-firmware.git -
Install our required tools:
Terminal window sudo apt updatesudo apt install -y build-essential gcc-multilib g++-multilib cmake curlInstall
uv, our Python package manager:Terminal window curl -LsSf https://astral.sh/uv/install.sh | sh -
Install Python 3.12+. If you are using Ubuntu 24.04 LTS or later, or installed the default WSL distribution, you should already have a compatible version of Python installed.
Terminal window sudo apt install python3Check your installed Python version with:
Terminal window python3 --versionIf it’s 3.12 or higher, you’re good.
-
Install dependencies by running the following command in the repository’s root directory:
Terminal window uv sync -
Setup pre-commit by running the following command in the repository’s root directory:
Terminal window pre-commit install -
Use the following to initialize the submodule representing our interfaces repository.
Terminal window git submodule update --initWe use git submodules to use our interfaces repository from this repository. Many builds and includes will not work if the interfaces/ directory is empty (most tasks will not require you to change code related to interfaces/, however it still needs to be set up once). Should you wish to learn about git submodules, https://git-scm.com/book/en/v2/Git-Tools-Submodules is a good resource.