ops-sat-rs/README.md
2024-04-22 15:41:28 +02:00

2.3 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.

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

Testing

cargo test

Commanding Infrastructure

Commanding of the ops-sat-rs application is possible by different means.

Networking and Commanding Structure

Using the pyclient and pyserver applications

You can find both commanding application inside the pytmtc folder. You can also find a requirements.txt file there to install all required Python dependencies.

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.