QP is an event-driven, RTOS-like, active object framework for microcontrollers, such as mbed. The QP framework provides thread-safe execution of active objects (concurrent state machines) and support both manual and automatic coding of UML statecharts in readable, production-quality C or C++. Automatic code generation of QP code is supported by the free QM modeling tool.
Dependents: qp_hangman qp_dpp qp_blinky
QP/C++ (Quantum Platform in C++) is a lightweight, open source active object (actor) framework for building responsive and modular real-time embedded applications as systems of asynchronous event-driven active objects (actors). The QP/C++ framework is a member of a larger family consisting of QP/C++, QP/C, and QP-nano frameworks, which are all strictly quality controlled, thoroughly documented, and available under GPLv3 with a special Exception for mbed (see http://www.state-machine.com/licensing/QP-mbed_GPL_Exception.txt).
The behavior of active objects is specified in QP/C++ by means of hierarchical state machines (UML statecharts). The framework supports manual coding of UML state machines in C++ as well as automatic code generation by means of the free QM modeling tool (http://www.state-machine.com/qm).
Please see the "QP/C++ Reference Manual" (http://www.state-machine.com/qpcpp) for more information.
Diff: qp.h
- Revision:
- 4:156463fbfae6
- Parent:
- 0:064c79e7311a
- Child:
- 5:949864ba515c
diff -r c22aff7cdddc -r 156463fbfae6 qp.h --- a/qp.h Tue Feb 15 17:27:11 2011 +0000 +++ b/qp.h Tue Feb 22 15:35:14 2011 +0000 @@ -1,7 +1,7 @@ ////////////////////////////////////////////////////////////////////////////// // Product: QP/C++ // Last Updated for QP ver: 4.1.06 (modified to fit in one file) -// Date of the Last Update: Jan 26, 2011 +// Date of the Last Update: Feb 22, 2011 // // Q u a n t u m L e a P s // --------------------------- @@ -2633,7 +2633,7 @@ /// to NULL. /// /// \sa Example of using QS filters in #QS_FILTER_ON documentation -#define QS_FILTER_AP_OBJ(obj_) (QS_apObj_ = (obj_)) +#define QS_FILTER_AP_OBJ(obj_) (QS::apObj_ = (obj_)) //////////////////////////////////////////////////////////////////////////////