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.



  • adcriot_module_periph_adc
  • auto_initriot_module_auto_init
    Tools for declaring a function that is run during initialization
  • bluetilriot_module_bluetil_ad
    Bluetil tools for BLE Advertising Data (AD)
  • coap_handlerriot_module_gcoap
    This module provides a wrappers around a coap_handler::Handler in different versions, all of which can be registered at a RIOT GcoapHandler.
  • coap_messageriot_module_gcoap
    This module implements [coap_message::ReadableMessage] for, and a wrapper that provides [coap_message::WritableMessage] around RIOT’s coap_pkt_t.
  • Common error handling components for the RIOT operating system
  • gcoapriot_module_gcoap
  • gnrcriot_module_gnrc
  • gnrc_pktbufriot_module_gnrc_pktbuf
  • gnrc_utilriot_module_gnrc
    Experimental area for GNRC utility functions
  • gpioriot_module_periph_gpio
  • i2criot_module_periph_i2c
    Controlling the I²C bus
  • Interaction with interrupts
  • Wrappers for the LEDn_{ON,OFF,TOGGLE} macros
  • Tools for providing a RIOT main function
  • msgriot_module_core_msg
    Access to messages by explicit type indication
  • Data-carrying mutex built using RIOT’s mutex module
  • randomriot_module_random
    RIOT’s system random number generator
  • saulriot_module_saul
    Registration and use of SAUL, the Sensor Actuator Uber Layer
  • shellriot_module_shell
    Tools for running RIOT’s built-in shell
  • socketriot_module_sock
  • socket_embedded_nalriot_module_sock_udp and with_embedded_nal
    An implementation of the embedded_nal (Network Abstradtion Layer) UDP traits based on RIOT sockets
  • socket_embedded_nal_async_udpriot_module_sock_udp and riot_module_sock_aux_local and with_embedded_nal_async
  • socket_embedded_nal_tcpriot_module_sock_tcp and with_embedded_nal
    An implementation of the embedded_nal (Network Abstradtion Layer) TCP traits based on RIOT sockets
  • spiriot_module_periph_spi
  • Wrappers for the stdio
  • Create, inspect or modify RIOT processes (“threads”)
  • vfsriot_module_vfs
  • ztimerriot_module_ztimer


  • auto_initriot_module_auto_init
    Run the function $func during auto initialization, with the priority giving the position in the initialization sequence.
  • interruptDeprecated
    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.
  • static_commandriot_module_shell
    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>).


  • The identifier of the RIOT board the program is being built for (RIOT_BOARD in C).


  • boardDeprecated
    Name of the RIOT board that is being used