Crate ove

Crate ove 

Source
Expand description

oveRTOS Rust SDK — safe wrappers for the oveRTOS embedded RTOS framework.

Provides RAII types for threads, mutexes, semaphores, queues, timers, etc. and the app! macro that generates all FFI boilerplate so application code can be written in pure safe Rust.

Re-exports§

pub use error::Error;
pub use error::Result;
pub use error::WAIT_FOREVER;
pub use eventgroup::EventGroup;
pub use eventgroup::WaitFlags;
pub use eventgroup::EG_CLEAR_ON_EXIT;Deprecated
pub use eventgroup::EG_WAIT_ALL;Deprecated
pub use priority::Priority;
pub use queue::Queue;
pub use sync::CondVar;
pub use sync::Event;
pub use sync::Mutex;
pub use sync::MutexGuard;
pub use sync::RecursiveMutex;
pub use sync::RecursiveMutexGuard;
pub use sync::Semaphore;
pub use thread::Thread;
pub use thread::ThreadState;
pub use thread::ThreadStats;
pub use thread::MemStats;
pub use thread::ThreadInfo;
pub use static_cell::StaticCell;
pub use static_cell::StaticMut;
pub use timer::Timer;
pub use fmt::FmtBuf;
pub use stream::Stream;
pub use watchdog::Watchdog;
pub use workqueue::Work;
pub use workqueue::Workqueue;

Modules§

audio
Audio graph engine for oveRTOS.
board
Board initialization and identification for oveRTOS.
bsp
Backward-compatible BSP module — delegates to board, gpio, led modules.
console
Low-level console I/O for oveRTOS.
error
oveRTOS error types and the Result alias.
eventgroup
Event group (bitfield synchronization) for oveRTOS.
ffi
Raw FFI bindings re-exported for advanced use cases.
fmt
Stack-allocated formatting buffer for no_std environments.
fs
Filesystem abstraction for oveRTOS.
gpio
GPIO control for oveRTOS.
i2c
I2C bus master driver.
infer
ML inference primitives for oveRTOS.
led
LED control for oveRTOS boards.
lvgl
Safe LVGL v9 wrappers for the oveRTOS Rust SDK.
net
Networking primitives for oveRTOS.
net_http
HTTP/1.1 client with RAII response management.
net_httpd
Embedded HTTP server with REST-style routing.
net_mqtt
MQTT 3.1.1 client with safe callback.
net_sntp
SNTP time synchronization client.
net_tls
TLS/SSL session wrapper (mbedTLS).
nvs
Non-Volatile Storage (NVS) subsystem for oveRTOS.
pm
Power management framework for oveRTOS.
priority
Thread priority levels for oveRTOS.
queue
Type-safe FIFO queue for oveRTOS.
shell
Interactive shell subsystem for oveRTOS.
spi
SPI bus master driver.
static_cell
Init-once container for static declarations.
stream
Byte-stream buffer for oveRTOS.
sync
Synchronization primitives for oveRTOS.
thread
RTOS thread management for oveRTOS.
time
Time and delay utilities for oveRTOS.
timer
Software timer for oveRTOS.
uart
UART serial bus driver.
watchdog
Hardware watchdog timer for oveRTOS.
workqueue
Work queue and deferred work items for oveRTOS.

Macros§

condvar
Create a CondVar that works in both heap and zero-heap modes.
event
Create an Event that works in both heap and zero-heap modes.
eventgroup
Create an EventGroup that works in both heap and zero-heap modes.
log_err
Log an error message with [E] prefix and automatic newline.
log_fmt
Format arguments into a stack buffer and log via log().
log_inf
Log an informational message with [I] prefix and automatic newline.
log_wrn
Log a warning message with [W] prefix and automatic newline.
main
Generate the ove_main entry point from a Rust closure or function.
model_data
Declare a safe accessor for TFLite model data generated by convert.py.
mutex
Create a Mutex that works in both heap and zero-heap modes.
queue
Create a Queue that works in both heap and zero-heap modes.
recursive_mutex
Create a RecursiveMutex that works in both heap and zero-heap modes.
semaphore
Create a Semaphore that works in both heap and zero-heap modes.
shared
Declare a static wrapped in StaticCell for cross-thread shared state.
shared_mut
Declare a static wrapped in StaticMut for single-owner mutable state.
stream
Create a Stream that works in both heap and zero-heap modes.
thread
Create a Thread that works in both heap and zero-heap modes.
timer
Create a Timer that works in both heap and zero-heap modes.
watchdog
Create a Watchdog that works in both heap and zero-heap modes.
work
Create a Work item that works in both heap and zero-heap modes.
workqueue
Create a Workqueue that works in both heap and zero-heap modes.

Functions§

log
Write a message to the oveRTOS console.
run
Start audio (if enabled) and the RTOS scheduler. Blocks forever.