The RGS repository contains the main infrastructure for the uORocketry Ground Station.
The infrastructure is composed of the following components:
At the moment being the zmq_proxy
and pb
services. They allow inter-process communication between the components of the infrastructure.
The providers are the components that receive data from an external source (eg: The rocket or a sensor) and broadcast it to the rest of the infrastructure.
These are the hydra_provider
, which receives data from the Hydra rocket and the labjack_provider
, which receives data from the labjack sensors.
The frontends are the components that allow the user to interact with the infrastructure. At the moment only being the web
frontend.
We also have a .devcontainer
folder which contains the configuration for a development container. You can use this if you don't want to install the dependencies on your machine.
The scripts
folder contains miscellaneous scripts that are used for development.
The bindings
folder contains the typescript bindings for the rocket messages backend.
Make sure you have installed the following installed:
- Rust
- libudev-dev
- inotify-tools
- NodeJS
- pm2 (process manager) -
npm install -g pm2
- pnpm (package manager) -
npm install -g pnpm
- pm2 (process manager) -
Then run the following commands:
pnpm install
pm2 start
If you want to monitor the running processes you can run pm2 monit
or install the Pm2 Explorer extension for VSCode.
To stop pm2
and its processes run pm2 kill
.
For development convenience hydra_provider
isn't included in the pm2
ecosystem file. Check its README for more information.
Please refer to each of the following for more information.
- uORocketry Wiki - Ground Station (Project Documentation)
- ZeroMQ (Proxy-Web Server Networking)
- SvelteKit (Web Framework)
- PM2 (Process Manager)