sat-rs: A library to build on-board software for remote systems
Go to file
Robin Mueller 1c22afef31
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
Major refactoring and update of PUS module
2024-04-02 16:50:09 +02:00
.idea/runConfigurations remove spacepackets run configs 2023-01-25 23:04:32 +01:00
automation prepare sat-rs release 2024-02-12 16:55:19 +01:00
images add mode tree graph 2024-02-16 17:42:44 +01:00
misc lets try this out 2023-09-06 21:56:48 +02:00
satrs Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00
satrs-book update rust book as well 2024-03-27 14:17:59 +01:00
satrs-example Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00
satrs-example-stm32f3-disco Upgrade example to use defmt/RTT/probe-rs 2024-03-28 23:47:07 +01:00
satrs-mib Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00
satrs-minisim new request/reponse API 2024-03-11 10:26:48 +01:00
satrs-shared Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00
.gitignore Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00
.gitmodules remove spacepackets submodule 2023-01-25 20:37:28 +01:00
Cargo.toml First version of asynchronix based mini simulator 2024-03-09 15:11:11 +01:00
coverage.py Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00
LICENSE-APACHE add license files 2022-06-18 22:47:10 +02:00
NOTICE add credit 2023-09-06 21:58:56 +02:00
README.md Major refactoring and update of PUS module 2024-04-02 16:50:09 +02:00

sat-rs website sat-rs book Crates.io docs.rs

sat-rs

This is the repository of the sat-rs library. Its primary goal is to provide re-usable components to write on-board software for remote systems like rovers or satellites. It is specifically written for the special requirements for these systems. You can find an overview of the project and the link to the more high-level sat-rs book at the IRS software projects website.

This is early-stage software. Important features are missing. New releases with breaking changes are released regularly, with all changes documented inside respective changelog files. You should only use this library if your are willing to work in this environment.

A lot of the architecture and general design considerations are based on the FSFW C++ framework which has flight heritage through the 2 missions FLP and EIVE.

This framework is in the early stages of development. Important features are missing. New releases with breaking changes are released regularly, with all changes documented inside respective changelog files. You should only use this framework if your are willing to work in this environment.

Overview

This project currently contains following crates:

  • satrs-book: Primary information resource in addition to the API documentation, hosted here. It can be useful to read this first before delving into the example application and the API documentation.
  • satrs: Primary crate.
  • satrs-example: Example of a simple example on-board software using various sat-rs components which can be run on a host computer or on any system with a standard runtime like a Raspberry Pi.
  • satrs-mib: Components to build a mission information base from the on-board software directly.
  • satrs-example-stm32f3-disco: Example of a simple example on-board software using sat-rs components on a bare-metal system with constrained resources.

Each project has its own CHANGELOG.md.

Related projects

In addition to the crates in this repository, the sat-rs project also maintains other libraries.

  • spacepackets: Basic ECSS and CCSDS packet protocol implementations. This repository is re-exported in the satrs crate.

Coverage

Coverage was generated using grcov. If you have not done so already, install the llvm-tools-preview:

rustup component add llvm-tools-preview
cargo install grcov --locked

After that, you can simply run coverage.py to test the satrs-core crate with coverage. You can optionally supply the --open flag to open the coverage report in your webbrowser.