Robin Mueller
11b66c8bf7
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
- Better naming for pool abstractions - Added last unittests for PUS helper services - Introduce new abstraction for PUS schedulers - `StoreAddr` is now a generic u64 - `spacepackets` points to 0.7.0 release |
||
---|---|---|
.idea/runConfigurations | ||
automation | ||
images | ||
misc | ||
satrs-book | ||
satrs-core | ||
satrs-example | ||
satrs-example-stm32f3-disco | ||
satrs-mib | ||
.gitignore | ||
.gitmodules | ||
Cargo.toml | ||
coverage.py | ||
LICENSE-APACHE | ||
NOTICE | ||
README.md |
sat-rs
This is the repository of the sat-rs framework. 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 documentation website.
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.
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-core
: Core components of sat-rs.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 thesatrs-core
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.