ESA OPS-SAT Rust Software experiment
Go to file
2024-04-24 20:04:01 +02:00
.cargo init commit 2024-04-08 16:47:31 +02:00
docs add some docs 2024-04-19 18:04:27 +02:00
pytmtc Merge remote-tracking branch 'origin/main' into camera_tests 2024-04-24 17:39:23 +02:00
scripts added data reply to camera handler, now only missing tmtcpy counterpart 2024-04-24 16:26:54 +02:00
src add event management, small fix for CAM handler loop 2024-04-24 20:02:42 +02:00
templates Networking update 2024-04-19 17:40:38 +02:00
test_pictures initial camera handling things 2024-04-16 08:30:55 +02:00
.gitignore Networking update 2024-04-19 17:40:38 +02:00
Cargo.lock add event management, small fix for CAM handler loop 2024-04-24 20:02:42 +02:00
Cargo.toml add event management, small fix for CAM handler loop 2024-04-24 20:02:42 +02:00
Cross.toml init commit 2024-04-08 16:47:31 +02:00
README.md README 2024-04-22 15:41:28 +02:00

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.