System library contains tools and utilities that make RIOT an actual operating system. More...

Detailed Description

System library contains tools and utilities that make RIOT an actual operating system.


 5x5 Font 'Mineplex'
 The Mineplex font for containing 5x5 pixel ASCII characters.
 A minimal, non-destructive URI parser
 A minimal, non-destructive parser for URI references.
 A terminal progress bar
 Manage a progress bar on the standard output.
 Analog data conversion utilities
 Utility functions for converting analog data samples.
 Arduino in RIOT.
 Auto initialize modules.
 Framework for running simple runtime benchmarks.
 Binary coded decimal
 Library to de- and encode binary coded decimals.
 Bitfields of arbitrary length.
 Bloom filter
 Bloom filter library.
 Board reset via USB CDC ACM
 Trigger a board reset via USB CDC ACM.
 C++ compatibility with C11 atomics
 C++ compatibility of default C11 atomics types.
 C++ constructor guards for static instances
 C++ constructor guards for thread-safe initialization of static instances.
 C++11 wrapper for RIOT
 drop in replacement to enable C++11-like thread, mutex and condition_variable
 C25519 cryptographic library
 Curve25519 and Ed25519 for low-memory systems.
 Callback multiplexer
 cb_mux provides utilities for storing, retrieving, and managing callback information in a singly linked list.
 The color sys module supports handling RGB and HSV color.
 Colored log module
 This module implements a logging module with colored output.
 CongURE - A Congestion control framework
 Congestion control utilizing re-usable elements
 RIOT provides a collection of block cipher ciphers, different operation modes and cryptographic hash algorithms.
 Direct pin control for debugging/profiling
 A collection of error correction code (ECC) algorithms.
 EEPROM registration
 eepreg provides a facility to easily manage the locations of data stored in EEPROM via a meta-data registry.
 Entropy Sources
 Collection of different Entropy Sources.
 Event Queue
 Provides an Event loop.
 FIDO2 - Fast Identity Online 2
 Description of the FIDO2 CTAP implementation in RIOT.
 FUZZING utilities
 Various utilities for fuzzing network applications.
 File systems
 File system libraries.
 Fractional integer operations
 This header provides some functions for scaling integers by fractions, while preserving as many bits as possible.
 A collection of hash algorithms.
 Helpers for pointer tagging
 Helpers to manipulate partitions (slots) on internal flash
 ISR Pipe
 ISR -> userspace pipe.
 Initialization of USB Device Firmware
 Upgrade for riotboot.
 Layered PM Infrastructure
 This module provides a base infrastructure that MCU's may use to implement periph/pm.
 Lightweight Morse encoder
 Provides slim Morse encoding functionality.
 Lightweight compression library
 Provides a lightweight compression library to RIOT.
 Locally Unique ID Generator
 Generate system wide (locally) unique IDs.
 Magic values for riotboot
 Math libraries and utilities
 Provides math libraries and utilities for RIOT.
 Memory management
 Provides memory management implementations and utilities.
 Millisecond interval event timers
 Provides timers for events up to $2^{32}$ milliseconds in the future.
 NanoCBOR library
 CBOR encoder and decoder library for tiny devices.
 Object dump
 Allows to print out data dumps of memory regions in hexadecimal or/and ASCII representation.
 POSIX wrapper for RIOT
 POSIX header files.
 Show list with all threads.
 Generic data container for physical data and utility functions.
 Pipe IPC
 Generic pipe implementation.
 Platform-independent access to architecture
 Pointer Compression
 Provides 32bit -> 16bit pointer compression.
 RFC 4122 compliant UUID's
 Provides RFC 4122 compliant UUID's.
 RIOT header helpers and tools
 The header contains.
 Pseudo Random Number Generator (PRNG)
 SAUL registry
 Global sensor/actuator registry for SAUL devices.
 SRAM based physically unclonable function (PUF)
 STDIO abstraction
 Simple standard input/output (STDIO) abstraction for RIOT.
 STDIO mapping for running the STDIO over SEGGER's RTT interface.
 STDIO over Semihosting
 Standard input/output backend using ARM Semihosting.
 Standard input/output backend using UART.
 SUIT secure firmware OTA upgrade infrastructure
 SUIT manifest handling.
 When including this module scheduler statistics (schedstat_t) for a thread will be updated on every sched_run().
 Lightweight semaphore implementation.
 Serial Bootloader Protocol
 Utilities for data serialization.
 Simple shell interpreter.
 Shell commands
 Stack Smashing Protector
 Stack Smashing protector.
 String formatting (fmt)
 Provides simple string formatting functions.
 System Buses for common events
 Test interactive synchronization
 Utility function for synchronizing before a test.
 Test result output
 Utility function for abstraction of test result output format.
 Thread safe ringbuffer
 Thread-safe ringbuffer implementation.
 Thread-safe wrappers for malloc and friends
 This module provides wrappers for malloc, calloc, realloc and free that provide mutually exclusive access to those functions.
 Provides a high level timer module to register timers, get current system time, and let a thread sleep for a certain amount of time.
 Timestamp representation, computation, and conversion.
 Trickle Timer
 Implementation of a generic Trickle Algorithm (RFC 6206)
 TweetNaCl high-security cryptographic library
 Provides the TweetNaCl high-security cryptographic library.
 UDP benchmark
 URI template processor
 URI template processor.
 Configuration defines for USB peripheral devices.
 Ultra-lightweight Javascript for Internet Of Things
 Provides Javascript support for RIOT.
 RIOT Unittests based on the EmbUnit Framework.
 Universal Address Container
 universal address container
 Utility functions for atomic access
 This modules adds some utility functions to perform atomic accesses.
 Virtual File System (VFS) layer
 Provides an interface for accessing files and directories from different devices and file systems.
 expect() utility function
 inverse Semaphores
 Lightweight inverse semaphore implementation.
 iolist scatter / gather IO
 Provides linked-list scatter / gather IO.
 puts log module
 This module implements an example logging module.
 Small and Secure Digital Signatures with Curve-based Diffie-Hellman Key Pairs.
 riotboot flash writer
 small Protocol Buffers library
 Provides a protocol buffers library to RIOT.
 unaligned memory access methods
 Provides functions for safe unaligned memory accesses.
 Basic linked list operation definitions.
 ztimer high level timer abstraction layer
 High level timer abstraction layer.


file  bit.h
 Bit access macros with bit-banding support for Cortex-M based CPUs.
file  byteorder.h
 Functions to work with different byte orders.
file  frac.h
file  trace.h
 Trace program flows.