Omnibus is a unified data bus which manages the connection of various data sources (such as DAQ, RLCS, and live telemetry) and sinks (such as plotting software and logging). Basically, it allows us to take data input from a bunch of different sensors, broadcast it over Wi-Fi, and then display/store it in different formats on the receiving end. This is extremely useful during testing (such as cold flows and static fires) when we need real-time data updates from our test rig while being a safe distance away.
You must have the uv Python package manager and builder installed. Visit https://docs.astral.sh/uv/getting-started/installation/ to get started. If you don't know otherwise, choose the "Standalone Installer".
- Clone this repo
- Enter the newly-cloned repo with
cd omnibus - In a terminal, run
uv python install - Run
uv sync --locked --all-packages
- Run
git pull - Run
uv sync --locked --all-packages
To use Omnibus typically, you'll need at minimum a server and the dashboard running. You will probably also want to connect it to one or many data sources. Run each in a separate terminal window.
Run the following commands at the base of the omnibus folder.
uv run omnibus-server
uv run src/dashboard/main.py
uv run src/globallog/main.py
uv run src/[sources|sinks]/[sink_name]/main.py [args]
All data sources are located under src/sources. The main ones you're going to use are parsley for data from onboard avionics boards and rlcsv3 for connecting to RLCS clientside.
Some additional data sinks are available under src/sinks, including interamap for mapping GPS data.
Follow all of the above setup instructions.
Note that the production build of Omnibus targets Python 3.11. All code contributions must be compatible with that version. See CONTRIBUTING.md for more info.
- Make sure you have CPython 3.11 installed either through your system or by running
uv python install - Run
uv sync --all-packages(this is different from the locked version) - To source the venv:
- MacOS / Linux / Git Bash on Windows:
source .venv/bin/activate - Windows Powershell:
.venv/Scripts/Activate.ps1
- MacOS / Linux / Git Bash on Windows:
- Recommended dev environment: VSCode + Python extension. Your venv should be sourced automatically.
Look at the DeepWiki link to get an understanding of the architecture. See CONTRIBUTING.md for more info about contributing.