oveRTOS C++ API
C++20 RAII wrappers for the oveRTOS C API
Loading...
Searching...
No Matches
Namespaces | Classes | Concepts | Functions
ove Namespace Reference

Top-level namespace for all oveRTOS C++ abstractions. More...

Namespaces

namespace  board
 Thin C++ wrappers around the oveRTOS board description API.
 
namespace  bsp
 Backward-compatibility wrappers delegating to board, gpio, and led.
 
namespace  console
 Thin C++ wrappers around the oveRTOS console (serial I/O) API.
 
namespace  fs
 Thin C++ wrappers around the oveRTOS filesystem utility functions.
 
namespace  gpio
 Thin C++ wrappers around the oveRTOS GPIO API.
 
namespace  led
 Thin C++ wrappers around the oveRTOS LED control API.
 
namespace  lvgl
 C++ abstractions for the LVGL embedded GUI library.
 
namespace  nvs
 Thin C++ wrappers around the oveRTOS non-volatile storage API.
 
namespace  shell
 Thin C++ wrappers around the oveRTOS interactive shell API.
 
namespace  time
 Thin C++ wrappers around the oveRTOS time and delay API.
 

Classes

class  CondVar
 RAII wrapper around an oveRTOS condition variable. More...
 
class  Dir
 RAII wrapper around an oveRTOS directory handle. More...
 
class  Event
 RAII wrapper around an oveRTOS binary event flag. More...
 
class  EventGroup
 RAII wrapper around an oveRTOS event-group (bit-field synchronisation object). More...
 
class  File
 RAII wrapper around an oveRTOS file handle. More...
 
class  LockGuard
 Scoped RAII guard that locks a Mutex on construction and unlocks it on destruction. More...
 
struct  MemStats
 System heap statistics snapshot. More...
 
class  Mutex
 RAII wrapper around an oveRTOS non-recursive mutex. More...
 
class  Queue
 RAII wrapper around an oveRTOS typed message queue. More...
 
class  RecursiveMutex
 RAII wrapper around an oveRTOS recursive mutex. More...
 
class  Semaphore
 RAII wrapper around an oveRTOS counting semaphore. More...
 
class  StaticCell
 Thread-safe, lazily initialised storage cell for a single object of type T. More...
 
class  Stream
 RAII wrapper around an oveRTOS byte-stream (ring-buffer) object. More...
 
class  Thread
 RAII wrapper around an oveRTOS thread (task). More...
 
struct  ThreadInfo
 Snapshot of a single thread. More...
 
class  Timer
 RAII wrapper around an oveRTOS software timer. More...
 
class  Watchdog
 RAII wrapper around an oveRTOS hardware watchdog timer. More...
 
class  Work
 RAII wrapper representing a single deferred work item. More...
 
class  Workqueue
 RAII wrapper around an oveRTOS workqueue (dedicated worker thread). More...
 

Concepts

concept  TimerCallback
 Concept satisfied by any callable convertible to ove_timer_fn.
 
concept  ThreadEntry
 Concept satisfied by any callable convertible to void(*)(void*).
 
concept  WorkHandler
 Concept satisfied by any callable convertible to ove_work_fn.
 

Functions

void run ()
 Starts the oveRTOS scheduler and enters the main event loop.
 
int get_mem_stats (MemStats &stats)
 Query system heap statistics.
 
int thread_list (ThreadInfo *out, size_t max, size_t *count=nullptr)
 List all threads in the system.
 

Detailed Description

Top-level namespace for all oveRTOS C++ abstractions.

The ove namespace provides C++20 RAII wrappers around the oveRTOS C API. All sync primitives, threads, queues, timers, and peripheral helpers live here. Nested namespaces (ove::console, ove::time, ove::gpio, etc.) group thin inline wrappers around optional subsystem APIs that are enabled by their corresponding CONFIG_OVE_* Kconfig options.

Note
All classes in this namespace are non-copyable. Move semantics are available unless CONFIG_OVE_ZERO_HEAP is set, in which case the underlying kernel object lives in a member storage buffer and the address of that buffer must remain stable for the lifetime of the wrapper.

Function Documentation

◆ run()

void ove::run ( )
inline

Starts the oveRTOS scheduler and enters the main event loop.

This function does not return under normal circumstances. Call it at the end of the C ove_main() entry point (or from OVE_MAIN()).

◆ get_mem_stats()

int ove::get_mem_stats ( MemStats stats)
inline

Query system heap statistics.

Parameters
[out]statsStructure to fill.
Returns
OVE_OK on success, or a negative error code.

◆ thread_list()

int ove::thread_list ( ThreadInfo out,
size_t  max,
size_t *  count = nullptr 
)
inline

List all threads in the system.

Parameters
[out]outArray to fill with thread info.
[in]maxMaximum entries.
[out]countActual count written (may be nullptr).
Returns
OVE_OK on success, or a negative error code.