n2o4
n2o4 copied to clipboard
Safe, idiomatic bindings to cFE and OSAL APIs for Rust
n2o4
The n2o4
crate provides safe, idiomatic Rust bindings
to the APIs of cFE and OSAL,
the libraries of the Core Flight System (cFS).
IMPORTANT NOTE
This is a work in progress. While enough has been written to allow some classes of cFS application to be written, bindings for many parts of the API don't currently exist.
If you need or want to use some part of the API for which a binding doesn't exist yet, consider helping to flesh out the crate!
Limitations
Currently, n2o4
only supports the following:
- cFE tag
v7.0.0-rc4
- OSAL tag
v6.0.0-rc4
Extending support to other versions is an open issue (BlackCAT-Cubesat/n2o4#1).
Minimum Rust version
n2o4
requires Rust 1.64.0 or newer.
Using this crate in your cFS app
See USING.md for how to set everything up to
use n2o4
(and Rust in general) in your cFS application.
Also, take a look at a sample app demonstrating the use of n2o4
.
Contributing
- Found a bug or have a feature request? If one hasn't been created already, please create an issue.
- Have a question? Start a discussion.
- Have you written a new feature or a bug fix? Please make a pull request.
License
This crate is licensed under the Apache License version 2.0. This is the same license cFE and OSAL are released under.
About the name
N2O4 is the chemical formula for dinitrogen tetroxide (aka nitrogen tetroxide). As cFS is intended for spacecraft flight software, and the Rust community has a long history of oxidation-related names, it seems appropriate to give this crate the name of a rocket propellant—one that's an oxidizer.