Feel free to open PR to add additional links and resources (including your own crates and project! 🥳 ).
-
AeroRust crates:
- NMEA - NMEA 0183 sentence parser (AeroRust)
- arsdk-rs - Parrot drones SDK (AeroRust)
- Splice - a DSL for Software-Defined Satellite Applications (AeroRust)
Other crates:
- yaiouom - Extensible, strongly-typed units of measure, with a custom type system implemented as a linter
- Labrador-LDPC - encoding and decoding low-density parity check (LDPC) error correcting codes
- CCSDS Primary Header - CCSDS Primary Header impl of the Space Packet Protocol standard
- NYX - astrodynamical toolkit library
- YANP - Yet Another NMEA Parser
- BP7 - Bundle Protocol 7 encoding/decoding library
- DTN7 - Delay-tolerant Networking Daemon and CLI tools
-
Other resources
- Website: https://www.kubos.com/
- Github: https://github.com/kubos
- Website: https://exodusorbitals.com
List of all AeroRust videos/talks can be found in this playlist: https://www.youtube.com/playlist?list=PLXz6wWXh9PiRWhTMz70ulVwTAWki_ELs4
- Lightning Talks: Rust In Space — myrrlyn
- RustConf 2018 - Space, The Rusty Frontier by Ryan Plauche
- 2018 Corroding Space (Flight Software Workshop)
- 2018 Rust for FSW (Flight Software Workshop)
NMEA 0183 sentence parser for Rust. Currently only GGA, GSV, GSA, VTG and RMC sentences are supported.
Repository: https://github.com/AeroRust/nmea crates.io: https://crates.io/crates/nmea Wikipedia: https://en.wikipedia.org/wiki/NMEA_0183
Type: parser + no_std
SDK (Software development kit) for https://parrot.com drones
Repository: https://github.com/AeroRust/arsdk-rs Parrot: https://parrot.com
Type: SDK
Splice is a DSL (Domain-specific language) for Software-Defined Satellite Applications
Repository: https://github.com/AeroRust/splice
Type: DSL
Extensible, strongly-typed units of measure, with a custom type system (based on F#'s unit of measures) implemented as a linter.
This crate implements a mechanism of units of measure. It may be used to manipulate all sorts of measures, including physics/engineering (m, kg, s, A, m * s ^ 1, ...), currencies (EUR, USD, ...), statistics (dollars per barrel, engineers per lightbulb, dollars per household per year, ...)
crates.io: https://crates.io/crates/yaiouom
Repository: https://github.com/Yoric/yaiouom
A crate for encoding and decoding low-density parity check (LDPC) error correcting codes.
crates.io: https://crates.io/crates/labrador-ldpc
Repository: https://github.com/adamgreig/labrador-ldpc
Type: no_std only
This crate contains an implementation of the CCSDS standard called Space Packet Protocol, which defines a packet header called the CCSDS Primary Header.
crates.io: https://crates.io/crates/ccsds_primary_header
Repository: https://github.com/nsmryan/ccsds_primary_header
Type: ?
Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust.
The target audience is researchers and astrodynamics engineers. The rationale for using Rust is to allow for very fast computations, guaranteed thread safety, and portability to all platforms supported by Rust.
crates.io: https://crates.io/crates/nyx-space
Repository: https://gitlab.com/chrisrabotin/nyx
Type: ?
YANP - Yet Another NMEA Parser.
A no_std Rust NMEA 0183 sentence parser.
crates.io: https://crates.io/crates/yanp
Repository: https://github.com/hargoniX/yanp
Type: parser + no_std
Bundle Protocol 7 encoding/decoding library.
A portable Work-In-Progress implementation of the upcoming delay-tolerant networking Bundle Protocol. Support for DTN (Delay-Tolerant Network) as well as IPN (InterPlanetary Network) addressing, custom canonical blocks and restricted environments such as wasm.
crates.io: https://crates.io/crates/bp7
Repository: https://github.com/dtn7/bp7-rs
Type: ?
Delay-tolerant Networking Daemon and CLI tools.
A Work-In-Progress implementation of the upcoming delay-tolerant networking standard. This crate uses BP7 to provide a dtn daemon (with routing, convergence layers, etc) and command line tools.
crates.io: https://crates.io/crates/dtn7
Repository: https://github.com/dtn7/dtn7-rs
Type: ?
https://yoric.github.io/post/uom.rs/
Also make sure to check out the crate @TODO
https://gist.github.com/tstellanova/81c963f556522447dd007a0c3a84ebc3
JPL's (Jet Propulsion Laboratory) Open Source Build-It-Yourself Rover
NyanSat is a guided challenge that walks you through building your own ground station to track satellites, receiving signals, understanding how data is encoded, and looking at images from space.
- Website: https://nyan-sat.com/
Founded in 1982 by the major space agencies of the world, the CCSDS is a multi-national forum for the development of communications and data systems standards for spaceflight.
Source: https://ccsds.org
- Website: https://ccsds.org
Full list of agencies can be found in Wikipedia.org
- The Centre national d'études spatiales (France)
- Website: https://cnes.fr
- Github: https://github.com/cnes
- European Space Agency (Europe)
- Website: https://www.esa.int
- Github: https://github.com/esa
- Respository: https://essr.esa.int
- Indian Space Research Organisation (India)
- Website: https://www.isro.gov.in
- Japan Aerospace Exploration Agency (Japan)
- Website: https://global.jaxa.jp
- Github: -
- National Aeronautics and Space Administration (US)
- Website: https://nasa.gov
- Github: https://github.com/nasa
- Open source projects: https://opensource.gsfc.nasa.gov
- Software projects (free and other): https://software.nasa.gov