Skip to content

UMOZ v1.2.0 - Static Priority Task Scheduler & Performance Calibration

Choose a tag to compare

@Moaaz-i Moaaz-i released this 21 Jun 02:39

What's New in v1.2.0 🚀

We are proud to introduce v1.2.0 of the UMOZ framework. This release shifts the multitasking engine from a simple sequential dispatcher to a Priority-Aware Scheduler, allowing critical micro-tasks to preempt or run before low-priority operations when execution windows overlap.

✨ Major Enhancements:

  • Priority Scheduling Engine: Integrated UMOZPriority enum (UMOZ_LOW, UMOZ_MEDIUM, UMOZ_HIGH) into the static task structure. The runtime loop now evaluates all due tasks and guarantees that the highest priority task runs first.
  • Deterministic Execution: Eliminated latency jitter for critical operations (like sensor safety polling) by giving them explicit higher execution weights.
  • Typo Fixes & Safety Patches: Resolved compiler boundary edge-cases by enforcing constrain() bounds inside the live getCPUUsage() diagnostics function.
  • Backward Compatibility: Kept the standard addTask method signature fully backward-compatible by injecting UMOZ_MEDIUM as a default parameter level.

📋 Usage Preview:

// Schedule a critical safety task with HIGH priority
tool.addTask(criticalTask, 100, UMOZ_HIGH);

// Schedule a regular telemetry task with LOW priority
tool.addTask(telemetryTask, 100, UMOZ_LOW);

🛠️ Installation & Upgrading
Update your local installation by pulling the latest changes from the main branch or downloading this release zip file into your Arduino libraries/ directory.