3.1 KiB
ESA OPS-SAT Rust experiment
This is the primary repository for the ESA OPS-SAT experiment. The primary repository to generate packages for ESOC can be found here. You can also find some more general documentation about OPS-SAT there.
Pre-Requisites
Build for Target Hardware
You might need to set the CROSS_CONTAINER_ENGINE
and CROSS_ROOTLESS_CONTAINER_ENGINE
variables manually before calling cross.
The OPS-SAT software filesystem handling will determine a home path at the start of the software. This home path is used for various mechanisms inside the OPS-SAT infrastructure.
Currently, there are 3 possible configurations:
- If the software is built with the
host
feature, the HOME path will be the current path the software is run at. - If the
host
feature is not set and the/home/exp278
folder exists, that folder will be the home directory. - Otherwise, the default OS home directory will be the home directory.
Debug Build
cross build
Release Build
cross build --release
Build for Host
The software was designed to be runnable and testable on a host computer. You can use the regular cargo workflow for this.
Running
cargo run --features host
Testing
cargo test
Commanding Infrastructure
Commanding of the ops-sat-rs
application is possible by different means.
Using the pyclient
and pyserver
applications
You can find both commanding application inside the pytmtc
folder.
It is recommended to set up a virtual environment first, for example by running the following
code inside the pytmtc
folder:
python3 -m venv venv
source venv/bin/activate
After that, you can install all requirements for both the client and server application interactively using
pip install -e .
If you want to command the satellite using the OPS-SAT infrastrucute, start the pyserver.py
as a background application first, for example by simply running pyserver.py
inside a
new terminal window.
After that, you can run pyclient.py -p /test/ping -l
to send a ping telecommand and then
go into listener mode using the following tmtc_conf.json
file:
{
"com_if": "tcp",
"tcpip_tcp_ip_addr": "127.0.0.1",
"tcpip_tcp_port": 4097
}
You can command the TCP server in the OPS-SAT software directly by running the commands with the following configuration:
{
"com_if": "tcp",
"tcpip_tcp_ip_addr": "127.0.0.1",
"tcpip_tcp_port": 7031
}
You can run pyclient.py -T
or pyclient.py -h
for more information on the client application.