Python-based Ground Support software for the CTS-SAT-1 (FrontierSat) 3U CubeSat mission.
This ground support software is used to test the satellite by sending the satellite telecommands, primarily over the debug UART interface. It is a command-aware UART terminal.
Over time, the goal is to develop it into the ground station control software.
- Increase ease of testing during development.
- Enable automated testing via telecommands to rapidly test for regressions during development.
- Python-based.
- Serial communication with the OBC (Onboard Computer), which runs the firmware in this repo.
- Automatically parses the C code and loads the list of telecommands, along with certain associated metadata (including documentation), from this git repo.
- Executes automated test procedures by executing telecommands, and assessing the response(s).
- On sub-par operating systems:
- On Windows: Install Linux. Or, if you're stubborn, do this:
- Install "Python 3.11" from the Microsoft Store.
- Install "Windows Terminal" from the Microsoft Store.
- Open a Powershell Terminal as Administrator, and run:
Set-ExecutionPolicy Unrestricted
- Close the Powershell Terminal (opened as Administrator).
- On Windows: Install Linux. Or, if you're stubborn, do this:
- Clone this repo, and open a terminal in this repo's root.
- Run
python3.11 -m venv venv/
to create a Python virtual environment namedvenv/
in the current directory. - Run
.\venv\Scripts\activate
(on Windows), orsource ./venv/bin/activate
(on real operating systems). - Run
pip install -e .
to install this Python Project in your virtual environment. - Run
cts1_ground_support --help
to ensure it installed. - Run
cts1_ground_support
to start the ground support terminal. - Visit http://127.0.0.1:8050/ in a web browser to view the web interface and send commands to your dev kit.
After following the Getting Started section, you can run the ground support terminal by running cts1_ground_support
.
If you are adding new telecommands, ensure that CTS-SAT-1-Ground-Support
and CTS-SAT-1-OBC-Firmware
are cloned in the same parents directory. Then, run the ground support terminal with this argument:
# To see new/in-progress telecommands, use the `-r` flag to specify the path to the firmware repo.
cts1_ground_support -r ../CTS-SAT-1-OBC-Firmware
- Install the project as in the Getting Started section.
- Run
pip install -e '.[dev]'
to install the development dependencies. - Optional: Run
cts1_ground_support --debug
to start the ground support terminal in debug mode.
The ground support terminal will automatically reload when you make changes to the code. It is written using the Dash framework in Python.