oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
Loading...
Searching...
No Matches
oveRTOS C API Reference

oveRTOS is an embedded RTOS framework that provides a unified build system, configuration, and portable C API across FreeRTOS, Apache NuttX, Zephyr RTOS, and POSIX. This reference documents the C API. The correct backend implementation is selected at compile time via Kconfig preprocessor symbols, with no virtual dispatch and no runtime overhead.

Include every module at once with the umbrella header:

#include <ove/ove.h>
Umbrella header — single include for all oveRTOS public APIs.

API Modules

Module Header Description
Types ove/types.h Common types and error codes
Application lifecycle ove/app.h Application entry point and scheduler start
Thread management ove/thread.h Thread lifecycle, sleep, yield, priority
Synchronisation primitives ove/sync.h Mutexes, semaphores, events, condition variables
Message queue ove/queue.h Fixed-size item FIFO message queues
Software timer ove/timer.h Software timers
Event Group ove/eventgroup.h Multi-bit event flags
Work Queue ove/workqueue.h Deferred work on a dedicated thread
Stream ove/stream.h Byte-stream ring buffers
Audio graph engine ove/audio.h Audio graph engine (sources, processors, sinks)
Audio node types and built-in factories ove/audio_node.h Node types, vtable, and built-in processing nodes
Audio device node factories ove/audio_device.h Transport abstraction and device node factories
File System ove/fs.h Filesystem abstraction (VFS)
Console ove/console.h Serial I/O
Time ove/time.h Monotonic clock and delays
Board Initialization ove/board.h Board initialisation and identification
GPIO ove/gpio.h General-purpose I/O
LED ove/led.h On-board LED control
Non-Volatile Storage ove/nvs.h Non-volatile key-value storage
Watchdog ove/watchdog.h Hardware watchdog timer
Shell ove/shell.h Interactive command shell
Logging ove/log.h Compile-time filtered logging macros
LVGL Display Integration ove/lvgl.h Unified LVGL display include
Storage Types ove/storage.h Backend-specific storage types and static macros
BSP Compatibility Shim ove/bsp.h Legacy BSP compatibility shim

Allocation Strategies

Every object-bearing module supports two allocation modes:

  • Heap mode (default) – _create() / _destroy() with dynamic allocation.
  • Zero-heap mode (CONFIG_OVE_ZERO_HEAP) – _init() / _deinit() with caller-supplied static buffers. The OVE_*_DEFINE_STATIC() macros combine storage declaration and init into a single file-scope declaration.

Further Documentation

For setup, build, configuration, and example walkthroughs, see the oveRTOS documentation site.