Practical UML Statecharts in C/C++, 2nd Ed. Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems (PSiCC2) is the most popular book about UML statecharts and event-driven programming for embedded systems. This ultimate resource describes all the related concepts and provides a very detailed design study of the QP™ frameworks. companion page to PSiCC2

NOTE: The QP™ Development Kits (QDK™) for Windows (Win32 API) are included in the QP™ Baseline Code
learn more about QP™ licensing


Integrating QP with the Win32 GUI API is interesting for at least two reasons. First, you might use QP to build highly modular, well structured, multithreaded Windows applications based on the concept of active objects (a.k.a. Actors) and hierarchical state machines. In this use case, QP complements Windows by providing the high-level structure, while Windows API renders the GUI and provides various services. Also, the QP port to Windows enables developers to build efficient, multithreaded Windows applications at a much higher level than Win32 threads and without fiddling directly with the troublesome low-level mechanisms such as Win32 critical sections, Win32 event objects, and so on.

The second compelling reason for using QP on Windows is rapid prototyping (virtual prototyping), simulation, and testing of deeply embedded software on the desktop, including building realistic user interfaces consisting of buttons, LEDs, and LCD displays (both segmented and graphic). Moving embedded software development from an embedded target to the desktop eliminates the target system bottleneck and dramatically shortens the development time while improving the quality of the software. The Windows-based desktop systems often make excellent platforms to develop, test, and debug embedded applications. The QP-Win32 port has been specifically designed to provide a complete toolkit with all the needed graphical components tested with the powerful free tools (such as the free Visual C++ Express and the free ResEdit resource editor).

All these options get especially attractive if you consider using the QM™ modeling tool for designing QP applications graphically and generating code automatically.


Application Notes

Application Notes
Title QP™ Version Compiler Download
QP and Win32 (Windows) (2.0MB PDF)
QP 4.5.x Visual Studio
MinGW (GNU)
Code included in the QP™ Baseline

Front Panel Win32 GUI Toolkit

The following animation shows a prototype of an embedded front panel prepared with the free Visual C++ Express 2010 and ResEdit. The complete Front Panel Win32 GUI Toolkit code and documentation are available for download under the GPL open source license.


Front Panel Win32 GUI Toolkit
Title Version Compiler Download
Prototyping Embedded Front Panels with Win32 GUI
(1.0MB PDF)
1.0 Visual Studio Express 2010
MinGW (GNU)
Download (1.6MB)

Front Panel Demo

Related QP Ports

QP-Qt integration QP-POSIX integration

Last updated: December 08, 2012