22[ ![ Quantum Leaps] ( https://www.state-machine.com/attachments/logo_ql_400.png )] ( https://www.state-machine.com )
33<hr >
44
5- [ ![ GitHub release (latest by date)] ( https://img.shields.io/github/v/release/QuantumLeaps/qpc-examples )] ( https://github.com/QuantumLeaps/qpc-examples/releases/latest )
5+ # About qpc-examples
6+ This repository contains the application examples for the QP/C
7+ Real-Time Embedded Framework (see https://github.com/QuantumLeaps/qpc ).
68
9+ This repository can be used in several ways:
10+ - [ Standalone examples] ( #standalone-examples-in-the-cmsis-packs-folder )
11+ that don't require the [ qpc framework repo] ( https://github.com/QuantumLeaps/qpc ) .
12+ (These examples rely on the qpc framework included from the
13+ [ CMIS-packs] ( https://github.com/QuantumLeaps/cmsis-packs ) )
714
8- # About qpc-examples
15+ - [ As a sub-module to the qpc repo ] ( #as-a-sub-module-to-the-qpc-repository )
916
10- This repository contains examples for the QP/C Real-Time Embedded Framework
11- (see https://github.com/QuantumLeaps/qpc )
17+ - [ Examples for the QView monitoring system] ( #examples-for-qview-monitoring-system )
1218
13- This repository can be used in two ways:
19+ - [ Examples for the QUTest testing system ] ( #examples-for-qtest-testing-system )
1420
15- ## Standalone (examples in the ` cmsis-packs ` folder)
1621
22+ ## Standalone (examples in the ` cmsis-packs ` folder)
1723```
1824+---cmsis-packs <=== standalone examples
1925| +---dpp_nucleo-c031c6-qk-gcc
@@ -22,8 +28,7 @@ This repository can be used in two ways:
2228|
2329```
2430
25- ## As a sub-module to the [ qpc] ( https://github.com/QuantumLeaps/qpc ) repository
26-
31+ ## As a sub-module to the qpc repository
2732```
2833+---arm-cm
2934| +---blinky_ek-tm4c123gxl
@@ -52,6 +57,7 @@ This repository can be used in two ways:
5257| +---dpp_nucleo-l053r8
5358| +---dpp_nucleo-l152re
5459| +---dpp_nucleo-l552ze
60+ | +---dpp_nucleo-u545re
5561| +---dpp_stm32f4-discovery
5662| +---game_efm32-slstk3401a
5763| +---low-power_ek-tm4c123gxl
@@ -79,10 +85,7 @@ This repository can be used in two ways:
7985| +---blinky_msp-exp430g2
8086| \---dpp_msp-exp430f5529lp
8187|
82- +---pic32
83- | \---dpp_microstick2-pic32
84- |
85- +---posix-win32
88+ +---posix-win32 <== examples for the host computer
8689| +---blinky
8790| +---calc
8891| +---calc2
@@ -99,7 +102,7 @@ This repository can be used in two ways:
99102| +---reminder
100103| \---reminder2
101104|
102- +---qutest
105+ +---qutest <== examples for QUTest testing harness
103106| +---blinky
104107| +---dpp
105108| +---dpp-comp
@@ -117,18 +120,66 @@ This repository can be used in two ways:
117120| +---src
118121| \---test
119122|
120- +---qwin-gui
121- | +---dpp-gui
122- | \---game-gui
123- |
124123+---threadx
125124| \---arm-cm
126125| +---dpp_ek-tm4c123gxl
127126| \---dpp_stm32f429-discovery
128127+---uc-os2
129128| \---arm-cm
130129| \---dpp_ek-tm4c123gxl
131- \---zephyr
132- +---blinky
133- \---dpp
130+ +---zephyr
131+ | +---blinky
132+ | \---dpp
133+ |
134+ +---qview-dpp <== examples for the QView monitoring system
135+ | +---img
136+ | dpp.py
137+ |
138+ +---qwin-gui <== examples for the QWin GUI
139+ | +---dpp-gui
140+ | \---game-gui
141+ |
134142```
143+
144+ ## Examples for QView Monitoring System
145+ The "qview" Python package (included in the
146+ [ QTools collection] ( https://github.com/QuantumLeaps/qtools ) )
147+ is a powerful
148+ [ Visualization and Monitoring system] ( https://www.state-machine.com/qtools/qview.html ) ,
149+ which allows embedded developers to create virtual Graphical User Interfaces
150+ in Python to monitor and control their embedded devices from a host (desktop)
151+ computer. The interfaces created by QView can visualize the data produced
152+ by [ QP/Spy software tracing system] ( https://www.state-machine.com/qtools/qpspy.html )
153+ and can also interact with the embedded target by sending various commands.
154+
155+ The python scripts ` qview-dpp/dpp.py ` and ` qview-dpp/dpp1.py ` will allow
156+ monitoring of all DPP examples running on any supported board (or on the
157+ host computer). Here is how you can launch the QView monitoring for DPP:
158+
159+ ```
160+ python %QTOOLS%\qview\qview.py dpp.py
161+ ```
162+
163+ > ** NOTE** You need the ` qview.py ` Python script, which in the command-line
164+ above is assumed to be located in ` %QTOOLS%\qview ` .
165+
166+ The following screen shot shows QView for the DPP (Dining Philosophers Problem)
167+ application with the QSPY ouptut in the background.
168+
169+ ![ ] ( qview-dpp/img/qview-dpp.webp )
170+
171+
172+ ## Examples for QTest Testing System
173+ The "qutest" Python package (included in the
174+ [ QTools collection] ( https://github.com/QuantumLeaps/qtools ) )
175+ is a powerful [ testing system] ( https://www.state-machine.com/qtools/qutest.html ) .
176+ It has been specifically designed for deeply embedded systems, but also supports
177+ unit and integration testing of embedded code on host computers ("dual targeting").
178+ QUTest is the fundamental tooling for Test-Driven Development (TDD) and Behavior-
179+ Driven Development (BDD) of QP/C/C++ applications , which is a highly recommended
180+ best-practice.
181+
182+ The following screen shot show a typical QUTest run with the QSPY ouptut
183+ in the background.
184+
185+ ![ ] ( qutest/img/qutest-dpp.webp )
0 commit comments