Crate riot_wrappers

source ·
Expand description

Safe and idiomatic Rust wrappers for RIOT-OS

See RIOT’s documentation on using Rust for a general introduction to Rust on RIOT, this crate’s README file on general concepts (such as the interaction between modules here, RIOT modules and features), and the individual modules’ documentation entries for details.


pub use riot_sys;
pub use cstr;


Bluetil tools for BLE Advertising Data (AD)
Common error handling components for the RIOT operating system
Experimental area for GNRC utility functions
Controlling the I²C bus
Interaction with interrupts
Wrappers for the LEDn_{ON,OFF,TOGGLE} macros
Tools for providing a RIOT main function
Access to messages by explicit type indication
Data-carrying mutex built using RIOT’s mutex module
Registration and use of SAUL, the Sensor Actuator Uber Layer
Tools for running RIOT’s built-in shell
An implementation of the embedded_nal (Network Abstradtion Layer) UDP traits based on RIOT sockets
An implementation of the embedded_nal (Network Abstradtion Layer) TCP traits based on RIOT sockets
Wrappers for the stdio
Transport modules around SUIT firmware updates
Create, inspect or modify RIOT processes (“threads”)


Wrap a Rust interrupt handler in an extern “C” wrapper that does the post-return cleaups.
To have a nice Rust main function, run the riot_main! macro with the name of your main function an item (ie. top level in a module) in your crate. The function identified by it must return something that implements the Termination trait.
Make a function whose signature is fn(&mut Stdio, Args<'b>) -> impl Termination available through XFA in any RIOT shell, even when called throuch C. (The function’s signature may be more generic, eg. accepting an impl Write and an impl IntoIterator<&str>).


Name of the RIOT board that is being used