Quantum Leaps - QP-nano™ state machine framework/kernel
Quantum Leaps
QP-nano™ state machine framework/kernel
OS/RTOS
Product Description
QP-nano is the industry’s smallest state machine framework that enables building well-structured deeply embedded applications as a set of concurrently executing hierarchical state machines (UML statecharts) directly in C without big tools. QP-nano is described in the book “Practical UML Statecharts in C/C++, Second Edition” (Newnes, 2008).
The ultra-lightweight QP-nano is designed specifically for low-end memory-constrained MCUs. QP-nano consists of a universal UML-compliant hierarchical event processor (QEP-nano), a minimal real-time framework (QF-nano), and a choice between a preemptive kernel (QK-nano) and a cooperative kernel. The key QP-nano features are:
* Full support for hierarchical state nesting, including guaranteed entry/exit action execution on arbitrary state transition topology with up to 4 levels of state nesting * Support for up to 8 concurrently executing active objects with deterministic, thread-safe event queues * Support for events with one scalar parameter, configurable to 0 (no parameter), 1, 2, or 4 bytes * Direct event delivery mechanism with first-in-first-out (FIFO) queuing policy * One single-shot time event (timer) per active object with configurable dynamic range of 0 (no time events), 1, 2, or 4 bytes * Built-in cooperative "vanilla" kernel * Built-in preemptive run-to-completion kernel called QK-nano * Low-power architecture with idle callback function for easy implementation of power-saving modes * Assertion-based error handling policy
QP-nano runs beautifully on ARM7 and Cortex-M3 MCUs and is available for immediate download under the GPL version 2 open source license. Alternatively, QP-nano can be also licensed under the terms of traditional closed-source licenses, which expressly supersede the GPL and are specifically designed for licensees interested in retaining the proprietary status of their code.