Skip to content

v0.11.0 - Task Backend Abstraction

Choose a tag to compare

@kirisaki kirisaki released this 04 Nov 17:13
· 34 commits to main since this release

What's New

Pluggable Task Backend System

V4-engine now supports pluggable task backends, enabling seamless integration with both bare-metal and RTOS platforms.

Two backends available:

  • Custom Backend (default): V4's own priority + round-robin scheduler
  • FreeRTOS Backend: Native FreeRTOS integration for ESP32 and other RTOS platforms

Key Features:

  • Compile-time backend selection via V4_TASK_BACKEND CMake option
  • ESP-IDF automatic FreeRTOS detection
  • Priority mapping between V4 (0-255) and FreeRTOS priorities
  • Unified API regardless of backend

Usage:

# Custom backend (default)
cmake -B build -DV4_TASK_BACKEND=CUSTOM

# FreeRTOS backend
cmake -B build -DV4_TASK_BACKEND=FREERTOS

For ESP-IDF projects, FreeRTOS is automatically detected and configured.

Changes

  • Task system refactored with backend abstraction layer
  • task.cpp and message.cpp now delegate to backend implementations
  • Original scheduler moved to task_backend_custom.cpp
  • New task_backend_freertos.cpp for FreeRTOS integration

Full Changelog: https://github.com/V4-project/V4-engine/blob/main/CHANGELOG.md#0110---2025-11-04