This commit is contained in:
MMS 2022-11-17 14:13:33 -05:00
parent 9567f5bc00
commit e39400bdbe
160 changed files with 2435 additions and 4726 deletions

View File

@ -1,25 +0,0 @@
Users of QP/C++ Real-Time Embedded Framework (RTEF)
qpcpp
2023-12-31
SPDX-License-Identifier: GPL-3.0-or-later
This generated code is free software: you can redistribute it under
the terms of the GNU General Public License as published by the Free
Software Foundation.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
NOTE:
Alternatively, this generated code may be distributed under the terms
of Quantum Leaps commercial licenses, which expressly supersede the GNU
General Public License and are specifically designed for licensees
interested in retaining the proprietary status of their code.
Contact information:
<www.state-machine.com/licensing>
<info@state-machine.com>
#57F9DACB138813B26105022C8852763EB8EE4CDB

View File

@ -7,7 +7,7 @@
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = QP/C++
PROJECT_NUMBER = 7.1.2
PROJECT_NUMBER = 7.1.3
PROJECT_BRIEF = "Real-Time Embedded Framework"
PROJECT_LOGO = ../../ql-doxygen/images/logo_ql.png
OUTPUT_DIRECTORY =
@ -124,6 +124,13 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
INPUT = main.dox \
gs.dox \
../../cert-pack/cert-pack.dox \
../../cert-pack/srs.dox \
../../cert-pack/sas.dox \
../../cert-pack/sds.dox \
../../cert-pack/sds_sm-cpp.dox \
../../cert-pack/autosar.dox \
../../cert-pack/metrics.dox \
exa.dox \
exa_native.dox \
exa_rtos.dox \
@ -138,13 +145,6 @@ INPUT = main.dox \
api.dox \
history.dox \
../../ql-doxygen/help.dox \
../../cert-pack/srs.dox \
../../cert-pack/sas.dox \
../../cert-pack/sds.dox \
../../cert-pack/sds_sm-cpp.dox \
../../cert-pack/autosar.dox \
../../cert-pack/tr.dox \
metrics.dox \
dir.dox \
config.hpp \
../include \
@ -168,7 +168,8 @@ EXCLUDE = ../include/qs_dummy.hpp \
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS = QP_IMPL
EXAMPLE_PATH = snippets \
EXAMPLE_PATH = gen \
snippets \
../include \
../src \
../ports \

View File

@ -1,8 +0,0 @@
# Doxyfile 1.9.5
@INCLUDE = Doxyfile
ENABLED_SECTIONS += CERT LATEX
GENERATE_LATEX = YES
HTML_OUTPUT = ../cert-pack
LATEX_OUTPUT = ../cert-latex

View File

@ -1,240 +0,0 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.9.4 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="Certification Pack" intro="List of modules comprising the QP/C++ Certification Pack:"/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="concepts" visible="yes" title="">
</tab>
<tab type="interfaces" visible="yes" title="">
<tab type="interfacelist" visible="yes" title="" intro=""/>
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
<tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="structs" visible="yes" title="">
<tab type="structlist" visible="yes" title="" intro=""/>
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
</tab>
<tab type="exceptions" visible="yes" title="">
<tab type="exceptionlist" visible="yes" title="" intro=""/>
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<services title=""/>
<interfaces title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<concepts visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a concept page -->
<concept>
<briefdescription visible="yes"/>
<includes visible="$SHOW_HEADERFILE"/>
<definition visible="yes" title=""/>
<detaileddescription title=""/>
<authorsection visible="yes"/>
</concept>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<interfaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<structs visible="yes" title=""/>
<exceptions visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<concepts visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<sequences title=""/>
<dictionaries title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>

232
doxygen/gen/metrics.txt Normal file
View File

@ -0,0 +1,232 @@
@code{.c}
================================================
NLOC CCN token PARAM length location
------------------------------------------------
3 1 13 1 4 QP::QEvt::QEvt@183-186@..\include\qep.hpp
7 1 27 2 7 QP::QEvt::QEvt@192-198@..\include\qep.hpp
2 1 6 0 3 QP::QEvt::~QEvt@204-206@..\include\qep.hpp
2 1 6 0 3 QP::QHsm::~QHsm@375-377@..\include\qep.hpp
3 1 17 1 3 QP::QHsm::init@406-408@..\include\qep.hpp
3 1 12 0 3 QP::QHsm::state@455-457@..\include\qep.hpp
3 1 11 0 3 QP::QHsm::getStateHandler@462-464@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::tran@494-497@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::tran_hist@500-503@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::super@506-509@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran@513-516@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran_init@520-523@..\include\qep.hpp
8 1 42 2 8 QP::QHsm::qm_tran_hist@527-534@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran_ep@538-541@..\include\qep.hpp
8 1 40 2 8 QP::QHsm::qm_tran_xp@545-552@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_entry@557-560@..\include\qep.hpp
4 1 22 1 4 QP::QHsm::qm_entry@566-569@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_exit@575-578@..\include\qep.hpp
4 1 22 1 4 QP::QHsm::qm_exit@584-587@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_sm_exit@591-594@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_super_sub@598-601@..\include\qep.hpp
6 1 26 1 6 QP::QMsm::QMsm@687-692@..\include\qep.hpp
3 1 20 1 3 QP::QMsm::init@705-707@..\include\qep.hpp
3 1 12 0 3 QP::QMsm::stateObj@750-752@..\include\qep.hpp
3 1 14 0 3 QP::QMsm::getStateHandler@782-784@..\include\qep.hpp
3 1 10 0 3 QP::QEQueue::getNFree@289-291@..\include\qequeue.hpp
3 1 10 0 3 QP::QEQueue::getNMin@304-306@..\include\qequeue.hpp
3 1 12 0 3 QP::QEQueue::isEmpty@318-320@..\include\qequeue.hpp
5 2 24 0 8 QP::QPSet::setEmpty@234-241@..\include\qf.hpp
4 3 35 0 7 QP::QPSet::isEmpty@244-250@..\include\qf.hpp
4 3 35 0 7 QP::QPSet::notEmpty@253-259@..\include\qf.hpp
6 3 97 1 9 QP::QPSet::hasElement@262-270@..\include\qf.hpp
11 3 101 1 14 QP::QPSet::insert@273-286@..\include\qf.hpp
12 3 117 1 15 QP::QPSet::remove@289-303@..\include\qf.hpp
6 3 45 0 9 QP::QPSet::findMax@306-314@..\include\qf.hpp
9 1 49 5 9 QP::QActive::start@478-486@..\include\qf.hpp
3 1 10 0 3 QP::QActive::getPrio@711-713@..\include\qf.hpp
4 1 38 1 4 QP::QActive::setPrio@718-721@..\include\qf.hpp
3 1 9 0 3 QP::QActive::getOsObject@734-736@..\include\qf.hpp
3 1 9 0 3 QP::QActive::getThread@743-745@..\include\qf.hpp
5 1 20 1 5 QP::QMActive::QMActive@897-901@..\include\qf.hpp
3 1 12 0 3 QP::QMActive::stateObj@922-924@..\include\qf.hpp
3 1 10 0 3 QP::QTimeEvt::getAct@1118-1120@..\include\qf.hpp
3 1 10 0 3 QP::QTimeEvt::getCtr@1123-1125@..\include\qf.hpp
3 1 10 0 3 QP::QTimeEvt::getInterval@1128-1130@..\include\qf.hpp
3 1 16 0 3 QP::QTimeEvt::toActive@1187-1189@..\include\qf.hpp
3 1 16 0 3 QP::QTimeEvt::toTimeEvt@1192-1194@..\include\qf.hpp
6 1 23 2 6 QP::QF::psInit@1348-1353@..\include\qf.hpp
7 1 34 3 7 QP::QF::publish_@1360-1366@..\include\qf.hpp
6 1 26 2 6 QP::QF::tick_@1373-1378@..\include\qf.hpp
3 1 29 1 3 QP::QEvt_refCtr_inc_@112-114@..\include\qf_pkg.hpp
3 1 29 1 3 QP::QEvt_refCtr_dec_@117-119@..\include\qf_pkg.hpp
3 1 10 0 3 QP::QMPool::getNMin@263-265@..\include\qmpool.hpp
3 1 10 0 3 QP::QMPool::getNFree@275-277@..\include\qmpool.hpp
3 1 18 0 3 QP::QSpyId::getPrio@315-317@..\include\qs.hpp
7 1 28 1 7 QP::QS::force_cast@399-405@..\include\qs.hpp
14 3 70 1 14 QP::QS::rxPut@805-818@..\include\qs.hpp
9 1 49 5 9 QP::QActiveDummy::start@1517-1525@..\include\qs.hpp
3 1 18 0 3 QP::QSpyId::getPrio@134-136@..\include\qs_dummy.hpp
3 1 11 0 3 QP::QXThread::getTimeEvt@208-210@..\include\qxk.hpp
9 1 49 5 9 QP::QXThread::start@310-318@..\include\qxk.hpp
2 1 39 2 3 QP::QEvt@86-88@..\src\qf\qep_hsm.cpp
7 1 41 3 7 hsm_reservedEvt_@103-109@..\src\qf\qep_hsm.cpp
17 3 102 3 20 hsm_state_entry_@117-136@..\src\qf\qep_hsm.cpp
23 3 114 3 26 hsm_state_exit_@148-173@..\src\qf\qep_hsm.cpp
4 1 27 1 4 QP::QHsm::QHsm@183-186@..\src\qf\qep_hsm.cpp
50 7 325 2 73 QP::QHsm::init@189-261@..\src\qf\qep_hsm.cpp
103 15 609 2 158 QP::QHsm::dispatch@264-421@..\src\qf\qep_hsm.cpp
8 1 31 2 8 QP::QHsm::top@424-431@..\src\qf\qep_hsm.cpp
16 3 87 1 22 QP::QHsm::isIn@434-455@..\src\qf\qep_hsm.cpp
20 4 107 1 29 QP::QHsm::childState@458-486@..\src\qf\qep_hsm.cpp
90 15 487 2 132 QP::QHsm::hsm_tran@489-620@..\src\qf\qep_hsm.cpp
25 3 165 2 38 QP::QMsm::init@79-116@..\src\qf\qep_msm.cpp
116 21 658 2 168 QP::QMsm::dispatch@119-286@..\src\qf\qep_msm.cpp
13 3 59 1 14 QP::QMsm::isInState@289-302@..\src\qf\qep_msm.cpp
19 4 87 1 26 QP::QMsm::childStateObj@305-330@..\src\qf\qep_msm.cpp
51 9 294 2 62 QP::QMsm::execTatbl_@333-394@..\src\qf\qep_msm.cpp
22 4 107 3 29 QP::QMsm::exitToTranSource_@397-425@..\src\qf\qep_msm.cpp
44 6 227 2 55 QP::QMsm::enterHistory_@428-482@..\src\qf\qep_msm.cpp
82 14 410 3 120 QP::QActive::post_@77-196@..\src\qf\qf_actq.cpp
42 7 237 1 63 QP::QActive::postLIFO@204-266@..\src\qf\qf_actq.cpp
34 3 205 0 45 QP::QActive::get_@274-318@..\src\qf\qf_actq.cpp
10 2 72 1 11 QP::QF::getQueueMin@328-338@..\src\qf\qf_actq.cpp
5 1 30 1 6 QP::QTicker::QTicker@351-356@..\src\qf\qf_actq.cpp
8 1 34 2 8 QP::QTicker::init@359-366@..\src\qf\qf_actq.cpp
3 1 21 1 3 QP::QTicker::init@369-371@..\src\qf\qf_actq.cpp
16 2 81 2 18 QP::QTicker::dispatch@374-391@..\src\qf\qf_actq.cpp
30 3 166 3 42 QP::QTicker::post_@394-435@..\src\qf\qf_actq.cpp
15 1 79 2 17 QP::QActive::defer@70-86@..\src\qf\qf_defer.cpp
32 3 157 1 50 QP::QActive::recall@94-143@..\src\qf\qf_defer.cpp
11 3 62 1 13 QP::QActive::flushDeferred@151-163@..\src\qf\qf_defer.cpp
18 3 151 3 26 QP::QF::poolInit@97-122@..\src\qf\qf_dyn.cpp
41 7 282 3 57 QP::QF::newX_@125-181@..\src\qf\qf_dyn.cpp
35 5 257 1 57 QP::QF::gc@184-240@..\src\qf\qf_dyn.cpp
3 1 21 0 3 QP::QF::poolGetMaxBlockSize@243-245@..\src\qf\qf_dyn.cpp
19 2 104 2 26 QP::QF::newRef_@248-273@..\src\qf\qf_dyn.cpp
11 2 68 1 14 QP::QF::deleteRef_@276-289@..\src\qf\qf_dyn.cpp
10 3 77 1 12 QP::QF::getPoolMin@292-303@..\src\qf\qf_dyn.cpp
9 1 42 0 9 QP::QMPool::QMPool@71-79@..\src\qf\qf_mem.cpp
33 5 234 3 55 QP::QMPool::init@82-136@..\src\qf\qf_mem.cpp
43 4 208 2 71 QP::QMPool::get@139-209@..\src\qf\qf_mem.cpp
20 2 107 2 26 QP::QMPool::put@212-237@..\src\qf\qf_mem.cpp
3 1 12 0 3 QP::QMPool::getBlockSize@240-242@..\src\qf\qf_mem.cpp
9 1 44 2 9 QP::QActive::psInit@83-91@..\src\qf\qf_ps.cpp
42 6 238 3 71 QP::QActive::publish_@99-169@..\src\qf\qf_ps.cpp
16 5 108 1 20 QP::QActive::subscribe@177-196@..\src\qf\qf_ps.cpp
16 5 108 1 23 QP::QActive::unsubscribe@204-226@..\src\qf\qf_ps.cpp
19 5 127 0 25 QP::QActive::unsubscribeAll@234-258@..\src\qf\qf_ps.cpp
10 2 59 2 10 QP::QF::bzero@107-116@..\src\qf\qf_qact.cpp
9 4 65 1 17 QP::QActive::QActive@127-143@..\src\qf\qf_qact.cpp
30 10 198 0 46 QP::QActive::register_@151-196@..\src\qf\qf_qact.cpp
10 3 72 0 11 QP::QActive::unregister_@204-214@..\src\qf\qf_qact.cpp
24 6 158 1 29 QP::QPSet::QF_LOG2@225-253@..\src\qf\qf_qact.cpp
9 1 43 0 9 QP::QEQueue::QEQueue@71-79@..\src\qf\qf_qeq.cpp
14 2 74 2 14 QP::QEQueue::init@82-95@..\src\qf\qf_qeq.cpp
57 8 281 3 76 QP::QEQueue::post@98-173@..\src\qf\qf_qeq.cpp
36 5 174 2 46 QP::QEQueue::postLIFO@176-221@..\src\qf\qf_qeq.cpp
36 4 190 1 46 QP::QEQueue::get@224-269@..\src\qf\qf_qeq.cpp
7 1 41 2 7 QP::QMActive::init@78-84@..\src\qf\qf_qmact.cpp
4 1 33 1 4 QP::QMActive::init@87-90@..\src\qf\qf_qmact.cpp
6 1 32 2 6 QP::QMActive::dispatch@93-98@..\src\qf\qf_qmact.cpp
3 1 27 1 3 QP::QMActive::isInState@101-103@..\src\qf\qf_qmact.cpp
4 1 27 1 4 QP::QMActive::childStateObj@106-109@..\src\qf\qf_qmact.cpp
3 1 20 0 3 QP::QMActive::getStateHandler@113-115@..\src\qf\qf_qmact.cpp
18 2 101 3 34 QP::QTimeEvt::QTimeEvt@72-105@..\src\qf\qf_time.cpp
34 8 217 2 58 QP::QTimeEvt::armX@108-165@..\src\qf\qf_time.cpp
32 3 169 0 41 QP::QTimeEvt::disarm@168-208@..\src\qf\qf_time.cpp
33 8 217 1 58 QP::QTimeEvt::rearm@211-268@..\src\qf\qf_time.cpp
5 1 37 0 6 QP::QTimeEvt::wasDisarmed@271-276@..\src\qf\qf_time.cpp
72 7 396 2 112 QP::QTimeEvt::tick_@279-390@..\src\qf\qf_time.cpp
14 3 70 1 16 QP::QTimeEvt::noActive@393-408@..\src\qf\qf_time.cpp
13 1 50 0 27 QP::QTimeEvt::QTimeEvt@411-437@..\src\qf\qf_time.cpp
22 2 136 1 32 QP::QK::schedLock@76-107@..\src\qk\qk.cpp
20 4 129 1 32 QP::QK::schedUnlock@110-141@..\src\qk\qk.cpp
14 3 144 0 25 QP::QF::init@151-175@..\src\qk\qk.cpp
3 1 9 0 4 QP::QF::stop@178-181@..\src\qk\qk.cpp
15 4 62 0 25 QP::QF::run@184-208@..\src\qk\qk.cpp
25 3 146 6 34 QP::QActive::start@219-252@..\src\qk\qk.cpp
19 4 93 0 24 QK_sched_@265-288@..\src\qk\qk.cpp
65 17 428 0 112 QK_activate_@291-402@..\src\qk\qk.cpp
7 3 66 0 13 QP::QF::init@83-95@..\src\qv\qv.cpp
3 1 9 0 4 QP::QF::stop@98-101@..\src\qv\qv.cpp
38 10 197 0 75 QP::QF::run@104-178@..\src\qv\qv.cpp
18 1 114 6 25 QP::QActive::start@189-213@..\src\qv\qv.cpp
24 3 152 1 35 QP::QXK::schedLock@77-111@..\src\qxk\qxk.cpp
20 4 129 1 32 QP::QXK::schedUnlock@114-145@..\src\qxk\qxk.cpp
14 3 144 0 25 QP::QF::init@155-179@..\src\qxk\qxk.cpp
3 1 9 0 4 QP::QF::stop@182-185@..\src\qxk\qxk.cpp
17 4 84 0 29 QP::QF::run@188-216@..\src\qxk\qxk.cpp
29 5 159 6 40 QP::QActive::start@227-266@..\src\qxk\qxk.cpp
43 8 230 0 54 QXK_sched_@279-332@..\src\qxk\qxk.cpp
59 16 406 0 98 QXK_activate_@335-432@..\src\qxk\qxk.cpp
12 2 69 0 18 QXK_current@435-452@..\src\qxk\qxk.cpp
23 7 130 1 34 QXK_contextSw@456-489@..\src\qxk\qxk.cpp
14 2 110 0 23 QXK_threadExit_@493-515@..\src\qxk\qxk.cpp
3 1 15 0 3 QP::QXMutex::QXMutex@76-78@..\src\qxk\qxk_mutex.cpp
8 2 54 1 11 QP::QXMutex::init@81-91@..\src\qxk\qxk_mutex.cpp
61 9 422 0 95 QP::QXMutex::tryLock@94-188@..\src\qxk\qxk_mutex.cpp
81 11 599 1 133 QP::QXMutex::lock@191-323@..\src\qxk\qxk_mutex.cpp
77 12 578 0 129 QP::QXMutex::unlock@326-454@..\src\qxk\qxk_mutex.cpp
9 1 58 2 11 QP::QXSemaphore::init@76-86@..\src\qxk\qxk_sema.cpp
54 7 346 1 79 QP::QXSemaphore::wait@89-167@..\src\qxk\qxk_sema.cpp
27 3 131 0 38 QP::QXSemaphore::tryWait@170-207@..\src\qxk\qxk_sema.cpp
41 7 251 0 64 QP::QXSemaphore::signal@210-273@..\src\qxk\qxk_sema.cpp
9 1 56 2 9 QP::QXThread::QXThread@77-85@..\src\qxk\qxk_xthr.cpp
21 4 178 1 36 QP::QXThread::delay@88-123@..\src\qxk\qxk_xthr.cpp
14 2 57 0 16 QP::QXThread::delayCancel@126-141@..\src\qxk\qxk_xthr.cpp
58 7 429 1 86 QP::QXThread::queueGet@144-229@..\src\qxk\qxk_xthr.cpp
8 1 33 2 8 QP::QXThread::init@232-239@..\src\qxk\qxk_xthr.cpp
4 1 22 1 4 QP::QXThread::init@242-245@..\src\qxk\qxk_xthr.cpp
8 1 33 2 8 QP::QXThread::dispatch@248-255@..\src\qxk\qxk_xthr.cpp
30 7 191 6 49 QP::QXThread::start@258-306@..\src\qxk\qxk_xthr.cpp
96 15 480 3 133 QP::QXThread::post_@309-441@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::postLIFO@444-447@..\src\qxk\qxk_xthr.cpp
5 1 49 0 6 QP::QXThread::block_@450-455@..\src\qxk\qxk_xthr.cpp
8 3 58 0 9 QP::QXThread::unblock_@458-466@..\src\qxk\qxk_xthr.cpp
22 3 153 2 40 QP::QXThread::teArm_@469-508@..\src\qxk\qxk_xthr.cpp
11 2 41 0 14 QP::QXThread::teDisarm_@511-524@..\src\qxk\qxk_xthr.cpp
34 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
6 0.0 0.0 0.0 0 ..\include\qassert.h
235 4.1 1.0 20.6 25 ..\include\qep.hpp
46 3.0 1.0 10.7 3 ..\include\qequeue.hpp
317 5.1 1.6 33.9 22 ..\include\qf.hpp
24 3.0 1.0 29.0 2 ..\include\qf_pkg.hpp
25 0.0 0.0 0.0 0 ..\include\qk.hpp
49 3.0 1.0 10.0 2 ..\include\qmpool.hpp
5 0.0 0.0 0.0 0 ..\include\qpcpp.hpp
397 8.2 1.5 41.2 4 ..\include\qs.hpp
5 0.0 0.0 0.0 0 ..\include\qstamp.cpp
4 0.0 0.0 0.0 0 ..\include\qstamp.hpp
25 3.0 1.0 18.0 1 ..\include\qs_dummy.hpp
25 0.0 0.0 0.0 0 ..\include\qs_pkg.hpp
9 0.0 0.0 0.0 0 ..\include\quit.hpp
8 0.0 0.0 0.0 0 ..\include\qv.hpp
121 6.0 1.0 30.0 2 ..\include\qxk.hpp
360 30.9 4.9 179.0 11 ..\src\qf\qep_hsm.cpp
307 41.4 7.1 228.1 7 ..\src\qf\qep_msm.cpp
2 0.0 0.0 0.0 0 ..\src\qf\qf_act.cpp
251 25.6 3.8 139.6 9 ..\src\qf\qf_actq.cpp
73 19.3 2.3 99.3 3 ..\src\qf\qf_defer.cpp
160 19.6 3.3 137.1 7 ..\src\qf\qf_dyn.cpp
119 21.6 2.6 120.6 5 ..\src\qf\qf_mem.cpp
127 20.4 4.4 125.0 5 ..\src\qf\qf_ps.cpp
122 16.6 5.0 110.4 5 ..\src\qf\qf_qact.cpp
163 30.4 4.0 152.4 5 ..\src\qf\qf_qeq.cpp
33 4.5 1.0 30.0 6 ..\src\qf\qf_qmact.cpp
233 27.6 4.1 157.1 8 ..\src\qf\qf_time.cpp
205 22.9 4.8 143.4 8 ..\src\qk\qk.cpp
85 16.5 3.8 96.5 4 ..\src\qv\qv.cpp
280 23.5 5.0 147.5 11 ..\src\qxk\qxk.cpp
241 46.0 7.0 333.6 5 ..\src\qxk\qxk_mutex.cpp
142 32.8 4.5 196.5 4 ..\src\qxk\qxk_sema.cpp
309 21.3 3.5 128.8 14 ..\src\qxk\qxk_xthr.cpp
=========================================================================================================
!!!! Warnings (cyclomatic_complexity > 20 or length > 500 or nloc > 1000000 or parameter_count > 10) !!!!
================================================
NLOC CCN token PARAM length location
------------------------------------------------
116 21 658 2 168 QP::QMsm::dispatch@119-286@..\src\qf\qep_msm.cpp
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
4513 18.0 3.2 107.2 178 1 0.01 0.04
@endcode

View File

@ -1,5 +1,29 @@
/** @page history Revision History
@section qpcpp_7_1_3 Version 7.1.3, 2022-11-18
__Bug Fixes:__
- This release fixes [bug#317](https://sourceforge.net/p/qpc/bugs/317) in QK kernel
__Source__
- The file `qstamp.cpp` has been copied from the `include/` folder to `src/qs/`. This makes it easier to build SPY configuration. (The file `qstamp.cpp` has been left in the `include/` folder for backwards compatibility).
__Ports__
- This release removes the QP libraries from the **Windows** ports
- `CMakeLists.txt` file in the zephyr port has been modified to use `zephyr_library_named(qpcpp)` instead of `zephyr_library()`
__Examples__
- This release changes all examples for **Windows** (Makefiles for GCC and project files for Visual Studio) to build the QP framework from sources rather than using QP libraries. This slightly extends the first build of the application, but avoids any problems with library incompatibilities (e.g., 32-bit/64-bit compilers used to build the application vs. the QP libraries).
- updated examples for emWin Embedded GUI (for emWin v6.28)
- updated examples for MSP430
__Documentation__
- Modified the `doxygen/` folder for generation of QM Manual in LaTeX (enables generation of PDF)
__Licensing__
- This release removes the `QM-EVAL-QPC.qlc` file from the `LICENSES` folder. This "QM License Certificate" is no longer needed for QM 5.2.3, where "QM License Certificates" are no longer needed for generating QMsm-style state machines.
@section qpcpp_7_1_2 Version 7.1.2, 2022-10-07
This release improves preemption-threshold scheduling (PTS) in @ref srs_qk "QK" kernel, especially the generation of the software tracing information about the scheduler activity. Also, PTS has been removed from the @ref srs_qxk "QXK" kernel because of the inherent complexity of that kernel.

View File

@ -28,7 +28,6 @@
@echo usage:
@echo make
@echo make -CHM
@echo make -CERT
@echo make -LATEX
:: tools (adjust to your system)---------------------------------------------
@ -53,17 +52,11 @@ IF "%1"=="-CERT" (
:: Generate metrics.dox file-------------------------------------------------
@set METRICS_INP=%QP%\include %QP%\src -x %QP%\src\qs\*
@set METRICS_OUT=metrics.dox
@echo /** @defgroup metrics Code Metrics> %METRICS_OUT%
@echo.>> %METRICS_OUT%
@echo @code{.cpp}>> %METRICS_OUT%
@echo Code Metrics >> %METRICS_OUT%
@set METRICS_OUT=gen\metrics.txt
@echo @code{.c}> %METRICS_OUT%
%METRICS% %METRICS_INP% >> %METRICS_OUT%
@echo @endcode>> %METRICS_OUT%
@echo */>> %METRICS_OUT%
:: Generate Doxygen Documentation -------------------------------------------
if "%1"=="-CHM" (
@ -95,9 +88,8 @@ if "%1"=="-CHM" (
@echo Adding custom files...
xcopy img %LATEX_OUT%\img\
@echo TODO...
@echo cd ..\latex
@echo make.bat
@cd %LATEX_OUT%
@call make.bat
) else (

View File

@ -8,28 +8,28 @@
3 1 13 1 4 QP::QEvt::QEvt@183-186@..\include\qep.hpp
7 1 27 2 7 QP::QEvt::QEvt@192-198@..\include\qep.hpp
2 1 6 0 3 QP::QEvt::~QEvt@204-206@..\include\qep.hpp
2 1 6 0 3 QP::QHsm::~QHsm@374-376@..\include\qep.hpp
3 1 17 1 3 QP::QHsm::init@405-407@..\include\qep.hpp
3 1 12 0 3 QP::QHsm::state@454-456@..\include\qep.hpp
3 1 11 0 3 QP::QHsm::getStateHandler@461-463@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::tran@493-496@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::tran_hist@499-502@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::super@505-508@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran@512-515@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran_init@519-522@..\include\qep.hpp
8 1 42 2 8 QP::QHsm::qm_tran_hist@526-533@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran_ep@537-540@..\include\qep.hpp
8 1 40 2 8 QP::QHsm::qm_tran_xp@544-551@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_entry@556-559@..\include\qep.hpp
4 1 22 1 4 QP::QHsm::qm_entry@565-568@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_exit@574-577@..\include\qep.hpp
4 1 22 1 4 QP::QHsm::qm_exit@583-586@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_sm_exit@590-593@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_super_sub@597-600@..\include\qep.hpp
6 1 26 1 6 QP::QMsm::QMsm@686-691@..\include\qep.hpp
3 1 20 1 3 QP::QMsm::init@704-706@..\include\qep.hpp
3 1 12 0 3 QP::QMsm::stateObj@749-751@..\include\qep.hpp
3 1 14 0 3 QP::QMsm::getStateHandler@781-783@..\include\qep.hpp
2 1 6 0 3 QP::QHsm::~QHsm@375-377@..\include\qep.hpp
3 1 17 1 3 QP::QHsm::init@406-408@..\include\qep.hpp
3 1 12 0 3 QP::QHsm::state@455-457@..\include\qep.hpp
3 1 11 0 3 QP::QHsm::getStateHandler@462-464@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::tran@494-497@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::tran_hist@500-503@..\include\qep.hpp
4 1 18 1 4 QP::QHsm::super@506-509@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran@513-516@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran_init@520-523@..\include\qep.hpp
8 1 42 2 8 QP::QHsm::qm_tran_hist@527-534@..\include\qep.hpp
4 1 30 1 4 QP::QHsm::qm_tran_ep@538-541@..\include\qep.hpp
8 1 40 2 8 QP::QHsm::qm_tran_xp@545-552@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_entry@557-560@..\include\qep.hpp
4 1 22 1 4 QP::QHsm::qm_entry@566-569@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_exit@575-578@..\include\qep.hpp
4 1 22 1 4 QP::QHsm::qm_exit@584-587@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_sm_exit@591-594@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_super_sub@598-601@..\include\qep.hpp
6 1 26 1 6 QP::QMsm::QMsm@687-692@..\include\qep.hpp
3 1 20 1 3 QP::QMsm::init@705-707@..\include\qep.hpp
3 1 12 0 3 QP::QMsm::stateObj@750-752@..\include\qep.hpp
3 1 14 0 3 QP::QMsm::getStateHandler@782-784@..\include\qep.hpp
3 1 10 0 3 QP::QEQueue::getNFree@289-291@..\include\qequeue.hpp
3 1 10 0 3 QP::QEQueue::getNMin@304-306@..\include\qequeue.hpp
3 1 12 0 3 QP::QEQueue::isEmpty@318-320@..\include\qequeue.hpp
@ -52,13 +52,11 @@
3 1 10 0 3 QP::QTimeEvt::getInterval@1128-1130@..\include\qf.hpp
3 1 16 0 3 QP::QTimeEvt::toActive@1187-1189@..\include\qf.hpp
3 1 16 0 3 QP::QTimeEvt::toTimeEvt@1192-1194@..\include\qf.hpp
6 1 23 2 6 QP::QF::psInit@1344-1349@..\include\qf.hpp
7 1 34 3 7 QP::QF::publish_@1356-1362@..\include\qf.hpp
6 1 26 2 6 QP::QF::tick_@1369-1374@..\include\qf.hpp
3 1 16 1 3 QP::QF_EVT_POOL_ID_@112-114@..\include\qf_pkg.hpp
3 1 16 1 3 QP::QF_EVT_REF_CTR_@117-119@..\include\qf_pkg.hpp
3 1 29 1 3 QP::QF_EVT_REF_CTR_INC_@122-124@..\include\qf_pkg.hpp
3 1 29 1 3 QP::QF_EVT_REF_CTR_DEC_@127-129@..\include\qf_pkg.hpp
6 1 23 2 6 QP::QF::psInit@1348-1353@..\include\qf.hpp
7 1 34 3 7 QP::QF::publish_@1360-1366@..\include\qf.hpp
6 1 26 2 6 QP::QF::tick_@1373-1378@..\include\qf.hpp
3 1 29 1 3 QP::QEvt_refCtr_inc_@112-114@..\include\qf_pkg.hpp
3 1 29 1 3 QP::QEvt_refCtr_dec_@117-119@..\include\qf_pkg.hpp
3 1 10 0 3 QP::QMPool::getNMin@263-265@..\include\qmpool.hpp
3 1 10 0 3 QP::QMPool::getNFree@275-277@..\include\qmpool.hpp
3 1 18 0 3 QP::QSpyId::getPrio@315-317@..\include\qs.hpp
@ -68,14 +66,17 @@
3 1 18 0 3 QP::QSpyId::getPrio@134-136@..\include\qs_dummy.hpp
3 1 11 0 3 QP::QXThread::getTimeEvt@208-210@..\include\qxk.hpp
9 1 49 5 9 QP::QXThread::start@310-318@..\include\qxk.hpp
2 1 15 2 3 QP::QEvt@101-103@..\src\qf\qep_hsm.cpp
4 1 27 1 4 QP::QHsm::QHsm@130-133@..\src\qf\qep_hsm.cpp
50 7 303 2 71 QP::QHsm::init@136-206@..\src\qf\qep_hsm.cpp
105 15 587 2 158 QP::QHsm::dispatch@209-366@..\src\qf\qep_hsm.cpp
8 1 31 2 8 QP::QHsm::top@369-376@..\src\qf\qep_hsm.cpp
16 3 85 1 22 QP::QHsm::isIn@379-400@..\src\qf\qep_hsm.cpp
20 4 105 1 29 QP::QHsm::childState@403-431@..\src\qf\qep_hsm.cpp
95 15 439 2 130 QP::QHsm::hsm_tran@434-563@..\src\qf\qep_hsm.cpp
2 1 39 2 3 QP::QEvt@86-88@..\src\qf\qep_hsm.cpp
7 1 41 3 7 hsm_reservedEvt_@103-109@..\src\qf\qep_hsm.cpp
17 3 102 3 20 hsm_state_entry_@117-136@..\src\qf\qep_hsm.cpp
23 3 114 3 26 hsm_state_exit_@148-173@..\src\qf\qep_hsm.cpp
4 1 27 1 4 QP::QHsm::QHsm@183-186@..\src\qf\qep_hsm.cpp
50 7 325 2 73 QP::QHsm::init@189-261@..\src\qf\qep_hsm.cpp
103 15 609 2 158 QP::QHsm::dispatch@264-421@..\src\qf\qep_hsm.cpp
8 1 31 2 8 QP::QHsm::top@424-431@..\src\qf\qep_hsm.cpp
16 3 87 1 22 QP::QHsm::isIn@434-455@..\src\qf\qep_hsm.cpp
20 4 107 1 29 QP::QHsm::childState@458-486@..\src\qf\qep_hsm.cpp
90 15 487 2 132 QP::QHsm::hsm_tran@489-620@..\src\qf\qep_hsm.cpp
25 3 165 2 38 QP::QMsm::init@79-116@..\src\qf\qep_msm.cpp
116 21 658 2 168 QP::QMsm::dispatch@119-286@..\src\qf\qep_msm.cpp
13 3 59 1 14 QP::QMsm::isInState@289-302@..\src\qf\qep_msm.cpp
@ -104,19 +105,19 @@
10 3 77 1 12 QP::QF::getPoolMin@292-303@..\src\qf\qf_dyn.cpp
9 1 42 0 9 QP::QMPool::QMPool@71-79@..\src\qf\qf_mem.cpp
33 5 234 3 55 QP::QMPool::init@82-136@..\src\qf\qf_mem.cpp
43 4 208 2 67 QP::QMPool::get@139-205@..\src\qf\qf_mem.cpp
20 2 107 2 26 QP::QMPool::put@208-233@..\src\qf\qf_mem.cpp
3 1 12 0 3 QP::QMPool::getBlockSize@236-238@..\src\qf\qf_mem.cpp
43 4 208 2 71 QP::QMPool::get@139-209@..\src\qf\qf_mem.cpp
20 2 107 2 26 QP::QMPool::put@212-237@..\src\qf\qf_mem.cpp
3 1 12 0 3 QP::QMPool::getBlockSize@240-242@..\src\qf\qf_mem.cpp
9 1 44 2 9 QP::QActive::psInit@83-91@..\src\qf\qf_ps.cpp
42 6 238 3 71 QP::QActive::publish_@99-169@..\src\qf\qf_ps.cpp
16 5 108 1 20 QP::QActive::subscribe@177-196@..\src\qf\qf_ps.cpp
16 5 108 1 23 QP::QActive::unsubscribe@204-226@..\src\qf\qf_ps.cpp
19 5 127 0 25 QP::QActive::unsubscribeAll@234-258@..\src\qf\qf_ps.cpp
10 2 59 2 10 QP::QF::bzero@97-106@..\src\qf\qf_qact.cpp
9 4 65 1 17 QP::QActive::QActive@117-133@..\src\qf\qf_qact.cpp
30 10 198 0 46 QP::QActive::register_@141-186@..\src\qf\qf_qact.cpp
10 3 72 0 11 QP::QActive::unregister_@194-204@..\src\qf\qf_qact.cpp
24 6 158 1 29 QP::QPSet::QF_LOG2@215-243@..\src\qf\qf_qact.cpp
10 2 59 2 10 QP::QF::bzero@107-116@..\src\qf\qf_qact.cpp
9 4 65 1 17 QP::QActive::QActive@127-143@..\src\qf\qf_qact.cpp
30 10 198 0 46 QP::QActive::register_@151-196@..\src\qf\qf_qact.cpp
10 3 72 0 11 QP::QActive::unregister_@204-214@..\src\qf\qf_qact.cpp
24 6 158 1 29 QP::QPSet::QF_LOG2@225-253@..\src\qf\qf_qact.cpp
9 1 43 0 9 QP::QEQueue::QEQueue@71-79@..\src\qf\qf_qeq.cpp
14 2 74 2 14 QP::QEQueue::init@82-95@..\src\qf\qf_qeq.cpp
57 8 281 3 76 QP::QEQueue::post@98-173@..\src\qf\qf_qeq.cpp
@ -138,27 +139,27 @@
13 1 50 0 27 QP::QTimeEvt::QTimeEvt@411-437@..\src\qf\qf_time.cpp
22 2 136 1 32 QP::QK::schedLock@76-107@..\src\qk\qk.cpp
20 4 129 1 32 QP::QK::schedUnlock@110-141@..\src\qk\qk.cpp
9 3 87 0 17 QP::QF::init@151-167@..\src\qk\qk.cpp
3 1 9 0 4 QP::QF::stop@170-173@..\src\qk\qk.cpp
15 4 62 0 25 QP::QF::run@176-200@..\src\qk\qk.cpp
25 3 146 6 34 QP::QActive::start@211-244@..\src\qk\qk.cpp
19 4 93 0 24 QK_sched_@257-280@..\src\qk\qk.cpp
65 17 428 0 112 QK_activate_@283-394@..\src\qk\qk.cpp
14 3 144 0 25 QP::QF::init@151-175@..\src\qk\qk.cpp
3 1 9 0 4 QP::QF::stop@178-181@..\src\qk\qk.cpp
15 4 62 0 25 QP::QF::run@184-208@..\src\qk\qk.cpp
25 3 146 6 34 QP::QActive::start@219-252@..\src\qk\qk.cpp
19 4 93 0 24 QK_sched_@265-288@..\src\qk\qk.cpp
65 17 428 0 112 QK_activate_@291-402@..\src\qk\qk.cpp
7 3 66 0 13 QP::QF::init@83-95@..\src\qv\qv.cpp
3 1 9 0 4 QP::QF::stop@98-101@..\src\qv\qv.cpp
38 10 197 0 75 QP::QF::run@104-178@..\src\qv\qv.cpp
18 1 114 6 25 QP::QActive::start@189-213@..\src\qv\qv.cpp
24 3 152 1 35 QP::QXK::schedLock@77-111@..\src\qxk\qxk.cpp
20 4 129 1 32 QP::QXK::schedUnlock@114-145@..\src\qxk\qxk.cpp
13 3 139 0 24 QP::QF::init@155-178@..\src\qxk\qxk.cpp
3 1 9 0 4 QP::QF::stop@181-184@..\src\qxk\qxk.cpp
17 4 84 0 29 QP::QF::run@187-215@..\src\qxk\qxk.cpp
29 5 159 6 40 QP::QActive::start@226-265@..\src\qxk\qxk.cpp
43 8 230 0 54 QXK_sched_@278-331@..\src\qxk\qxk.cpp
59 16 406 0 98 QXK_activate_@334-431@..\src\qxk\qxk.cpp
12 2 69 0 18 QXK_current@434-451@..\src\qxk\qxk.cpp
23 7 130 1 34 QXK_contextSw@455-488@..\src\qxk\qxk.cpp
14 2 110 0 23 QXK_threadExit_@492-514@..\src\qxk\qxk.cpp
14 3 144 0 25 QP::QF::init@155-179@..\src\qxk\qxk.cpp
3 1 9 0 4 QP::QF::stop@182-185@..\src\qxk\qxk.cpp
17 4 84 0 29 QP::QF::run@188-216@..\src\qxk\qxk.cpp
29 5 159 6 40 QP::QActive::start@227-266@..\src\qxk\qxk.cpp
43 8 230 0 54 QXK_sched_@279-332@..\src\qxk\qxk.cpp
59 16 406 0 98 QXK_activate_@335-432@..\src\qxk\qxk.cpp
12 2 69 0 18 QXK_current@435-452@..\src\qxk\qxk.cpp
23 7 130 1 34 QXK_contextSw@456-489@..\src\qxk\qxk.cpp
14 2 110 0 23 QXK_threadExit_@493-515@..\src\qxk\qxk.cpp
3 1 15 0 3 QP::QXMutex::QXMutex@76-78@..\src\qxk\qxk_mutex.cpp
8 2 54 1 11 QP::QXMutex::init@81-91@..\src\qxk\qxk_mutex.cpp
61 9 422 0 95 QP::QXMutex::tryLock@94-188@..\src\qxk\qxk_mutex.cpp
@ -187,10 +188,10 @@
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
6 0.0 0.0 0.0 0 ..\include\qassert.h
234 4.1 1.0 20.6 25 ..\include\qep.hpp
235 4.1 1.0 20.6 25 ..\include\qep.hpp
46 3.0 1.0 10.7 3 ..\include\qequeue.hpp
316 5.1 1.6 33.9 22 ..\include\qf.hpp
30 3.0 1.0 22.5 4 ..\include\qf_pkg.hpp
317 5.1 1.6 33.9 22 ..\include\qf.hpp
24 3.0 1.0 29.0 2 ..\include\qf_pkg.hpp
25 0.0 0.0 0.0 0 ..\include\qk.hpp
49 3.0 1.0 10.0 2 ..\include\qmpool.hpp
5 0.0 0.0 0.0 0 ..\include\qpcpp.hpp
@ -202,7 +203,7 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
9 0.0 0.0 0.0 0 ..\include\quit.hpp
8 0.0 0.0 0.0 0 ..\include\qv.hpp
121 6.0 1.0 30.0 2 ..\include\qxk.hpp
323 37.5 5.9 199.0 8 ..\src\qf\qep_hsm.cpp
360 30.9 4.9 179.0 11 ..\src\qf\qep_hsm.cpp
307 41.4 7.1 228.1 7 ..\src\qf\qep_msm.cpp
2 0.0 0.0 0.0 0 ..\src\qf\qf_act.cpp
251 25.6 3.8 139.6 9 ..\src\qf\qf_actq.cpp
@ -210,13 +211,13 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
160 19.6 3.3 137.1 7 ..\src\qf\qf_dyn.cpp
119 21.6 2.6 120.6 5 ..\src\qf\qf_mem.cpp
127 20.4 4.4 125.0 5 ..\src\qf\qf_ps.cpp
117 16.6 5.0 110.4 5 ..\src\qf\qf_qact.cpp
122 16.6 5.0 110.4 5 ..\src\qf\qf_qact.cpp
163 30.4 4.0 152.4 5 ..\src\qf\qf_qeq.cpp
33 4.5 1.0 30.0 6 ..\src\qf\qf_qmact.cpp
233 27.6 4.1 157.1 8 ..\src\qf\qf_time.cpp
200 22.2 4.8 136.2 8 ..\src\qk\qk.cpp
205 22.9 4.8 143.4 8 ..\src\qk\qk.cpp
85 16.5 3.8 96.5 4 ..\src\qv\qv.cpp
279 23.4 5.0 147.0 11 ..\src\qxk\qxk.cpp
280 23.5 5.0 147.5 11 ..\src\qxk\qxk.cpp
241 46.0 7.0 333.6 5 ..\src\qxk\qxk_mutex.cpp
142 32.8 4.5 196.5 4 ..\src\qxk\qxk_sema.cpp
309 21.3 3.5 128.8 14 ..\src\qxk\qxk_xthr.cpp
@ -230,6 +231,6 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
4469 17.8 3.2 105.5 177 1 0.01 0.04
4513 18.0 3.2 107.2 178 1 0.01 0.04
@endcode
*/

View File

@ -56,8 +56,6 @@ static DWORD WINAPI appThread(LPVOID par) {
}
//============================================================================
namespace DPP {
// local variables -----------------------------------------------------------
static HINSTANCE l_hInst; // this application instance
static HWND l_hWnd; // main window handle
@ -188,19 +186,19 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg,
// drawing of owner-drawn buttons...
case WM_DRAWITEM: {
static QP::QEvt const pe = QEVT_INITIALIZER(PAUSE_SIG);
static QP::QEvt const pe = QEVT_INITIALIZER(DPP::PAUSE_SIG);
LPDRAWITEMSTRUCT pdis = (LPDRAWITEMSTRUCT)lParam;
switch (pdis->CtlID) {
case IDC_PAUSE: { // PAUSE owner-drawn button
switch (OwnerDrawnButton_draw(&l_pauseBtn,pdis)) {
case BTN_DEPRESSED: {
AO_Table->POST(&pe, nullptr);
DPP::AO_Table->POST(&pe, nullptr);
break;
}
case BTN_RELEASED: {
static QP::QEvt const se =
QEVT_INITIALIZER(SERVE_SIG);
AO_Table->POST(&se, nullptr);
QEVT_INITIALIZER(DPP::SERVE_SIG);
DPP::AO_Table->POST(&se, nullptr);
break;
}
default: {
@ -276,7 +274,8 @@ void BSP::displayPhilStat(uint8_t n, char const *stat) {
// set the "segment" # n to the bitmap # 'bitmapNum'
SegmentDisplay_setSegment(&l_philos, (UINT)n, bitmapNum);
QS_BEGIN_ID(PHILO_STAT, AO_Philo[n]->m_prio) // app-specific record begin
// app-specific trace record
QS_BEGIN_ID(PHILO_STAT, DPP::AO_Philo[n]->m_prio)
QS_U8(1, n); // Philosopher number
QS_STR(stat); // Philosopher status
QS_END()
@ -301,22 +300,21 @@ void BSP::randomSeed(uint32_t seed) {
l_rnd = seed;
}
} // namespace DPP
//============================================================================
namespace QP {
//............................................................................
void QF::onStartup(void) {
QF_setTickRate(DPP::BSP::TICKS_PER_SEC, 30); // set the desired tick rate
QF::setTickRate(BSP::TICKS_PER_SEC, 30); // set the desired tick rate
}
//............................................................................
void QF::onCleanup(void) {
}
//............................................................................
void QF_onClockTick(void) {
QTimeEvt::TICK_X(0U, &DPP::l_clock_tick); // perform the QF clock tick processing
void QF::onClockTick(void) {
// perform the QF clock tick processing
QTimeEvt::TICK_X(0U, &l_clock_tick);
QS_RX_INPUT(); // handle the QS-RX input
QS_OUTPUT(); // handle the QS output
@ -330,7 +328,7 @@ extern "C" Q_NORETURN Q_onAssert(char const * const module, int_t const loc) {
char message[80];
SNPRINTF_S(message, Q_DIM(message) - 1,
"Assertion failed in module %s location %d", module, loc);
MessageBox(DPP::l_hWnd, message, "!!! ASSERTION !!!",
MessageBox(l_hWnd, message, "!!! ASSERTION !!!",
MB_OK | MB_ICONEXCLAMATION | MB_APPLMODAL);
PostQuitMessage(-1);
}
@ -349,7 +347,7 @@ void QS::onCommand(uint8_t cmdId, uint32_t param1,
(void)param3;
// application-specific record
QS_BEGIN_ID(DPP::COMMAND_STAT, 0U)
QS_BEGIN_ID(COMMAND_STAT, 0U)
QS_U8(2, cmdId);
QS_U32(8, param1);
QS_END()

View File

@ -103,10 +103,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>../../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
@ -156,10 +156,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>../../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>
@ -215,10 +215,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>../../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>
@ -238,7 +238,33 @@
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\..\ports\win32-qv\qf_port.cpp" />
<ClCompile Include="..\..\..\..\ports\win32-qv\qs_port.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qwin_gui.c" />
<ClCompile Include="..\..\..\..\src\qf\qep_hsm.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_msm.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_act.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_actq.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_defer.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_dyn.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_mem.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_ps.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qact.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qeq.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qmact.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_time.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qstamp.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs_64bit.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs_fp.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs_rx.cpp" />
<ClCompile Include="..\philo.cpp" />
<ClCompile Include="..\table.cpp" />
<ClCompile Include="bsp.cpp">
@ -252,11 +278,17 @@
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\bsp.h" />
<ClInclude Include="..\dpp.h" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qep_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qf_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qs_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qwin_gui.h" />
<ClInclude Include="..\..\..\..\ports\win32-qv\safe_std.h" />
<ClInclude Include="..\bsp.hpp" />
<ClInclude Include="..\dpp.hpp" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\ports\win32-qv\README.md" />
<None Include="Res\BTN_DWN.bmp" />
<None Include="Res\BTN_UP.bmp" />
<None Include="Res\eating.bmp" />

View File

@ -4,13 +4,87 @@
<ClCompile Include="bsp.cpp" />
<ClCompile Include="..\philo.cpp" />
<ClCompile Include="..\table.cpp" />
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_hsm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qep_msm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_act.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_actq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_defer.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_dyn.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_mem.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_ps.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qeq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qmact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_time.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qf_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qwin_gui.c">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qs_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_64bit.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_fp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_rx.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qstamp.cpp">
<Filter>QS</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
<ClInclude Include="..\bsp.h" />
<ClInclude Include="..\dpp.h" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qep_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\qf_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\qwin_gui.h">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\safe_std.h">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\bsp.hpp" />
<ClInclude Include="..\dpp.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qs_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="Res\BTN_DWN.bmp">
@ -34,11 +108,23 @@
<None Include="Res\thinking.bmp">
<Filter>Res</Filter>
</None>
<None Include="..\..\..\..\ports\win32-qv\README.md">
<Filter>QP_port</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Filter Include="Res">
<UniqueIdentifier>{c8d4d732-dcf8-4466-ad8e-3f15ab6fe204}</UniqueIdentifier>
</Filter>
<Filter Include="QP_port">
<UniqueIdentifier>{cb277694-9964-421d-b5bd-0004c348d0a7}</UniqueIdentifier>
</Filter>
<Filter Include="QS">
<UniqueIdentifier>{45ec4af0-fc0e-466d-abe9-db8791529dc6}</UniqueIdentifier>
</Filter>
<Filter Include="QP">
<UniqueIdentifier>{3c454ef1-d642-403f-97ef-c157e04d82c9}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Resource.rc" />

View File

@ -47,7 +47,7 @@ int main() {
static QP::QSubscrList subscrSto[DPP::MAX_PUB_SIG];
QP::QF::init(); // initialize the framework and the underlying RT kernel
DPP::BSP::init(); // initialize the BSP
BSP::init(); // initialize the BSP
QP::QActive::psInit(subscrSto, Q_DIM(subscrSto)); // init publish-subscribe

View File

@ -822,10 +822,10 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg,
//..........................................................................*/
static void playerTrigger(void) {
static QP::QEvt const fireEvt = { PLAYER_TRIGGER_SIG, 0U, 0U };
QP::QF::PUBLISH(&fireEvt, nullptr);
static QP::QSpyId const sender = { 0U };
QP::QF::PUBLISH(&fireEvt, &sender);
}
} // namespace GAME
//============================================================================
@ -833,16 +833,16 @@ namespace QP {
//............................................................................
void QF::onStartup(void) {
QF_setTickRate(GAME::BSP_TICKS_PER_SEC, 30); // set the desired tick rate
setTickRate(GAME::BSP_TICKS_PER_SEC, 30); // set the desired tick rate
}
//............................................................................
void QF::onCleanup(void) {
}
//............................................................................
void QF_onClockTick(void) {
void QF::onClockTick(void) {
static QP::QEvt const tickEvt = QEVT_INITIALIZER(GAME::TIME_TICK_SIG);
QP::QTimeEvt::TICK_X(0U, &GAME::l_clock_tick); // process time events at rate 0
QP::QF::PUBLISH(&tickEvt, &GAME::l_clock_tick); // publish the tick event
QTimeEvt::TICK_X(0U, &GAME::l_clock_tick); // process time events at rate 0
QF::PUBLISH(&tickEvt, &GAME::l_clock_tick); // publish the tick event
QS_RX_INPUT(); // handle the QS-RX input
QS_OUTPUT(); // handle the QS output
@ -868,13 +868,10 @@ extern "C" Q_NORETURN Q_onAssert(char const * const module, int_t const loc) {
void QS::onCommand(uint8_t cmdId, uint32_t param1,
uint32_t param2, uint32_t param3)
{
(void)cmdId;
(void)param1;
(void)param2;
(void)param3;
if (cmdId == 10U) {
Q_onAssert("QS::onCommand", 10);
}
Q_UNUSED_PAR(cmdId);
Q_UNUSED_PAR(param1);
Q_UNUSED_PAR(param2);
Q_UNUSED_PAR(param3);
}
#endif // Q_SPY

View File

@ -103,10 +103,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>../../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
@ -156,10 +156,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>../../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>
@ -215,10 +215,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>../../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>
@ -238,7 +238,56 @@
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\..\ports\win32-qv\qf_port.cpp" />
<ClCompile Include="..\..\..\..\ports\win32-qv\qs_port.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qwin_gui.c" />
<ClCompile Include="..\..\..\..\src\qf\qep_hsm.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_msm.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_act.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_actq.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_defer.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_dyn.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_mem.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_ps.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qact.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qeq.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qmact.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_time.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qstamp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_64bit.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_fp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_rx.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\main.cpp" />
<ClCompile Include="..\mine1.cpp" />
<ClCompile Include="..\mine2.cpp" />
@ -255,11 +304,17 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\ports\win32-qv\qep_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qf_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qs_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qwin_gui.h" />
<ClInclude Include="..\..\..\..\ports\win32-qv\safe_std.h" />
<ClInclude Include="..\bsp.h" />
<ClInclude Include="..\game.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\ports\win32-qv\README.md" />
<None Include="Res\BTN_DWN.bmp" />
<None Include="Res\BTN_UP.bmp" />
<None Include="Res\eating.bmp" />

View File

@ -8,12 +8,86 @@
<ClCompile Include="..\missile.cpp" />
<ClCompile Include="..\ship.cpp" />
<ClCompile Include="..\tunnel.cpp" />
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_hsm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qep_msm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_act.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_actq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_defer.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_dyn.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_mem.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_ps.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qeq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qmact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_time.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_64bit.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_fp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_rx.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qstamp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qf_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qs_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qv\qwin_gui.c">
<Filter>QP_port</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
<ClInclude Include="..\bsp.h" />
<ClInclude Include="..\game.h" />
<ClInclude Include="..\..\..\..\ports\win32-qv\qep_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\qf_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\qs_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\qwin_gui.h">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qv\safe_std.h">
<Filter>QP_port</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="Res\BTN_DWN.bmp">
@ -37,11 +111,23 @@
<None Include="Res\thinking.bmp">
<Filter>Res</Filter>
</None>
<None Include="..\..\..\..\ports\win32-qv\README.md">
<Filter>QP_port</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Filter Include="Res">
<UniqueIdentifier>{c8d4d732-dcf8-4466-ad8e-3f15ab6fe204}</UniqueIdentifier>
</Filter>
<Filter Include="QP_port">
<UniqueIdentifier>{4edf856c-7db0-4957-a143-44a72f59a0af}</UniqueIdentifier>
</Filter>
<Filter Include="QS">
<UniqueIdentifier>{65d40db6-59fb-41d1-8a98-2187dc3217a1}</UniqueIdentifier>
</Filter>
<Filter Include="QP">
<UniqueIdentifier>{c4527ddf-c49e-4957-bd70-77babf9183e2}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Resource.rc" />

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : GUIConf.c
@ -31,11 +31,7 @@ Purpose : Display controller initialization
//
// Define the available number of bytes available for the GUI
//
#define GUI_NUMBYTES 0x400000
//
// Define the average block size
//
#define GUI_BLOCKSIZE 0x80
#define GUI_NUMBYTES 0x280000
/*********************************************************************
*
@ -60,7 +56,6 @@ void GUI_X_Config(void) {
// Assign memory to emWin
//
GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
}
/*************************** End of file ****************************/

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : GUIConf.h
@ -54,7 +54,7 @@ Purpose : Configuration of available features and default values
*
* Default font
*/
#define GUI_DEFAULT_FONT &GUI_Font6x8
#define GUI_DEFAULT_FONT &GUI_Font6x8
#endif /* Avoid multiple inclusion */

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : LCDConf.c
@ -31,14 +31,17 @@ Purpose : Display controller configuration (single layer)
//
// Physical display size
//
#define XSIZE_PHYS 320
#define YSIZE_PHYS 240
#define VYSIZE_PHYS (YSIZE_PHYS << 1)
#define XSIZE_PHYS 320
#define YSIZE_PHYS 240
//
// Color conversion
//
#define COLOR_CONVERSION GUICC_8888
#if GUI_USE_ARGB
#define COLOR_CONVERSION GUICC_M8888I
#else
#define COLOR_CONVERSION GUICC_8888
#endif
//
// Display driver
@ -95,7 +98,7 @@ void LCD_X_Config(void) {
//
GUI_DEVICE_CreateAndLink(DISPLAY_DRIVER, COLOR_CONVERSION, 0, 0);
//
// Display driver configuration, required for Lin-driver
// Display driver configuration
//
LCD_SetSizeEx (0, XSIZE_PHYS, YSIZE_PHYS);
LCD_SetVSizeEx (0, VXSIZE_PHYS, VYSIZE_PHYS);

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : LCDConf.h

View File

@ -3,13 +3,13 @@
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2019 SEGGER Microcontroller GmbH *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V6.10 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
@ -22,11 +22,7 @@ Purpose : Windows Simulator configuration
#ifdef WIN32
#include <windows.h>
#include <stdio.h>
#include "LCD_SIM.h"
#include "GUI_SIM_Win32.h"
/*********************************************************************
*

View File

@ -37,7 +37,7 @@
extern "C" {
#include "GUI.h"
#include "GUI_SIM.h"
#include "LCD_SIM.h"
#include "DIALOG.h"
}
@ -123,7 +123,7 @@ void BSP_init(void) {
SIM_HARDKEY_SetCallback(n, &simHardKey);
}
QF_setTickRate(BSP_TICKS_PER_SEC, 30); // set the desired tick rate
QF::setTickRate(BSP_TICKS_PER_SEC, 30); // set the desired tick rate
}
//............................................................................
void QF::onStartup(void) {
@ -135,7 +135,7 @@ void QF::onCleanup(void) {
#endif
}
//............................................................................
void QP::QF_onClockTick(void) {
void QF::onClockTick(void) {
QTimeEvt::TICK(&l_clock_tick); // perform the QF clock tick processing
}

View File

@ -83,7 +83,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32-qv;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@ -100,10 +100,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Release/demo_no_wm.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\ports\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ProgramDatabaseFile>.\Release/demo_no_wm.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
@ -131,7 +131,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32-qv;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@ -148,10 +148,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Debug/demo_no_wm.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\ports\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Debug/demo_no_wm.pdb</ProgramDatabaseFile>
@ -180,7 +180,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32-qv;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;Q_SPY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@ -198,10 +198,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\QSpy/demo_no_wm.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\ports\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\QSpy/demo_no_wm.pdb</ProgramDatabaseFile>
@ -221,6 +221,19 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\ports\win32-qv\qf_port.cpp" />
<ClCompile Include="..\..\..\src\qf\qep_hsm.cpp" />
<ClCompile Include="..\..\..\src\qf\qep_msm.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_act.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_actq.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_defer.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_dyn.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_mem.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_ps.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qact.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qeq.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qmact.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_time.cpp" />
<ClCompile Include="bsp.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="philo.cpp" />
@ -232,6 +245,9 @@
<ClCompile Include="Config\SIMConf.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\ports\win32-qv\qep_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\qf_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\safe_std.h" />
<ClInclude Include="bsp.h" />
<ClInclude Include="dpp.h" />
<ClInclude Include="Config\GUIConf.h" />
@ -244,6 +260,9 @@
<Library Include="..\..\..\3rd_party\emWin\GUI\Library\GUI.lib" />
<Library Include="..\..\..\3rd_party\emWin\Simulation\GUISim.lib" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\ports\win32-qv\README.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@ -17,6 +17,12 @@
<UniqueIdentifier>{edb4bdd4-7822-4812-b677-b21cb00121b0}</UniqueIdentifier>
<Extensions>*.lib</Extensions>
</Filter>
<Filter Include="QP_port">
<UniqueIdentifier>{c3592ef4-5e20-44d3-97b5-90dd6b206777}</UniqueIdentifier>
</Filter>
<Filter Include="QP">
<UniqueIdentifier>{7a7fe1ad-75a5-4b4b-85cc-602c1d933e3b}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="bsp.cpp">
@ -49,20 +55,68 @@
<ClCompile Include="..\..\..\include\qstamp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qep_hsm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qep_msm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_act.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_actq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_defer.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_dyn.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_mem.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_ps.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qeq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qmact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_time.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ports\win32-qv\qf_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="bsp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dpp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Config\GUIConf.h">
<Filter>emWin</Filter>
</ClInclude>
<ClInclude Include="Config\LCDConf.h">
<Filter>emWin</Filter>
</ClInclude>
<ClInclude Include="bsp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dpp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\qep_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\qf_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\safe_std.h">
<Filter>QP_port</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Resource Include="simulation.res">
@ -77,4 +131,9 @@
<Filter>emWin</Filter>
</Library>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\ports\win32-qv\README.md">
<Filter>QP_port</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -38,37 +38,35 @@
// GUI includes
Q_DEFINE_THIS_FILE
// Local-scope objects -------------------------------------------------------
static QEvt const *l_tableQueueSto[N_PHILO];
static QEvt const *l_philoQueueSto[N_PHILO][N_PHILO];
static QSubscrList l_subscrSto[MAX_PUB_SIG];
static union SmallEvents {
void *min_size;
TableEvt te;
MouseEvt me;
// other event types to go into this pool
} l_smlPoolSto[2*N_PHILO]; // storage for the small event pool
//............................................................................
extern "C" void MainTask(void) {
BSP_init(); // initialize the BSP
QF::init(); // initialize the framework and the underlying RT kernel
QActive::psInit(l_subscrSto, Q_DIM(l_subscrSto)); // init publish-subscribe
// initialize event pools...
static union SmallEvents {
void* min_size;
TableEvt te;
MouseEvt me;
// other event types to go into this pool
} l_smlPoolSto[2 * N_PHILO]; // storage for the small event pool
QF::poolInit(l_smlPoolSto, sizeof(l_smlPoolSto), sizeof(l_smlPoolSto[0]));
// initialize publish-subscribe
static QSubscrList l_subscrSto[MAX_PUB_SIG];
QActive::psInit(l_subscrSto, Q_DIM(l_subscrSto));
// start the active objects...
uint8_t n;
for (n = 0; n < N_PHILO; ++n) {
AO_Philo[n]->start((uint8_t)(n + 1),
static QEvt const *l_philoQueueSto[N_PHILO][10];
for (uint8_t n = 0; n < N_PHILO; ++n) {
AO_Philo[n]->start(n + 1U,
l_philoQueueSto[n], Q_DIM(l_philoQueueSto[n]),
nullptr, 1024, nullptr);
}
AO_Table->start((uint8_t)(N_PHILO + 1),
static QEvt const *l_tableQueueSto[N_PHILO];
AO_Table->start(N_PHILO + 1U,
l_tableQueueSto, Q_DIM(l_tableQueueSto),
nullptr, 1024, nullptr);

View File

@ -34,7 +34,7 @@
extern "C" {
#include "GUI.h"
#include "GUI_SIM.h"
#include "LCD_SIM.h"
void SIM_X_Init() {
if (((LCD_GetDevCap(LCD_DEVCAP_XSIZE) * LCD_GetXMag()) == 320)

View File

@ -37,7 +37,7 @@
extern "C" {
#include "GUI.h"
#include "GUI_SIM.h"
#include "LCD_SIM.h"
#include "DIALOG.h"
}

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : GUIConf.c
@ -31,11 +31,7 @@ Purpose : Display controller initialization
//
// Define the available number of bytes available for the GUI
//
#define GUI_NUMBYTES 0x400000
//
// Define the average block size
//
#define GUI_BLOCKSIZE 0x80
#define GUI_NUMBYTES 0x280000
/*********************************************************************
*
@ -60,7 +56,6 @@ void GUI_X_Config(void) {
// Assign memory to emWin
//
GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
}
/*************************** End of file ****************************/

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : GUIConf.h
@ -54,7 +54,7 @@ Purpose : Configuration of available features and default values
*
* Default font
*/
#define GUI_DEFAULT_FONT &GUI_Font6x8
#define GUI_DEFAULT_FONT &GUI_Font6x8
#endif /* Avoid multiple inclusion */

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : LCDConf.c
@ -31,14 +31,17 @@ Purpose : Display controller configuration (single layer)
//
// Physical display size
//
#define XSIZE_PHYS 320
#define YSIZE_PHYS 240
#define VYSIZE_PHYS (YSIZE_PHYS << 1)
#define XSIZE_PHYS 320
#define YSIZE_PHYS 240
//
// Color conversion
//
#define COLOR_CONVERSION GUICC_8888
#if GUI_USE_ARGB
#define COLOR_CONVERSION GUICC_M8888I
#else
#define COLOR_CONVERSION GUICC_8888
#endif
//
// Display driver
@ -95,7 +98,7 @@ void LCD_X_Config(void) {
//
GUI_DEVICE_CreateAndLink(DISPLAY_DRIVER, COLOR_CONVERSION, 0, 0);
//
// Display driver configuration, required for Lin-driver
// Display driver configuration
//
LCD_SetSizeEx (0, XSIZE_PHYS, YSIZE_PHYS);
LCD_SetVSizeEx (0, VXSIZE_PHYS, VYSIZE_PHYS);

View File

@ -1,18 +1,18 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2011 SEGGER Microcontroller GmbH & Co. KG *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V5.08 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : LCDConf.h

View File

@ -3,13 +3,13 @@
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2019 SEGGER Microcontroller GmbH *
* (c) 1996 - 2022 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V6.10 - Graphical user interface for embedded applications **
** emWin V6.28 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
@ -22,11 +22,7 @@ Purpose : Windows Simulator configuration
#ifdef WIN32
#include <windows.h>
#include <stdio.h>
#include "LCD_SIM.h"
#include "GUI_SIM_Win32.h"
/*********************************************************************
*

View File

@ -37,7 +37,7 @@
extern "C" {
#include "GUI.h"
#include "GUI_SIM.h"
#include "LCD_SIM.h"
#include "DIALOG.h"
}
@ -123,7 +123,7 @@ void BSP_init(void) {
SIM_HARDKEY_SetCallback(n, &simHardKey);
}
QF_setTickRate(BSP_TICKS_PER_SEC, 30); // set the desired tick rate
QF::setTickRate(BSP_TICKS_PER_SEC, 30); // set the desired tick rate
}
//............................................................................
void QF::onStartup(void) {
@ -135,7 +135,7 @@ void QF::onCleanup(void) {
#endif
}
//............................................................................
void QP::QF_onClockTick(void) {
void QF::onClockTick(void) {
QTimeEvt::TICK(&l_clock_tick); // perform the QF clock tick processing
}

View File

@ -83,7 +83,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32-qv;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@ -100,10 +100,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Release/demo_with_wm.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\ports\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ProgramDatabaseFile>.\Release/demo_with_wm.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
@ -131,7 +131,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32-qv;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@ -148,10 +148,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Debug/demo_with_wm.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\ports\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Debug/demo_with_wm.pdb</ProgramDatabaseFile>
@ -180,7 +180,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\ports\win32-qv;.\Config;..\..\..\3rd_party\emWin\GUI\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;Q_SPY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@ -198,10 +198,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>qp.lib;legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>legacy_stdio_definitions.lib;ws2_32.lib;winmm.lib;libcmt.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\QSpy/demo_with_wm.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\ports\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\QSpy/demo_with_wm.pdb</ProgramDatabaseFile>
@ -221,6 +221,19 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\ports\win32-qv\qf_port.cpp" />
<ClCompile Include="..\..\..\src\qf\qep_hsm.cpp" />
<ClCompile Include="..\..\..\src\qf\qep_msm.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_act.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_actq.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_defer.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_dyn.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_mem.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_ps.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qact.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qeq.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qmact.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_time.cpp" />
<ClCompile Include="bsp.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="philo.cpp" />
@ -232,6 +245,9 @@
<ClCompile Include="Config\SIMConf.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\ports\win32-qv\qep_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\qf_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\safe_std.h" />
<ClInclude Include="bsp.h" />
<ClInclude Include="dpp.h" />
<ClInclude Include="Config\GUIConf.h" />
@ -244,6 +260,9 @@
<Library Include="..\..\..\3rd_party\emWin\GUI\Library\GUI.lib" />
<Library Include="..\..\..\3rd_party\emWin\Simulation\GUISim.lib" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\ports\win32-qv\README.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@ -17,6 +17,12 @@
<UniqueIdentifier>{edb4bdd4-7822-4812-b677-b21cb00121b0}</UniqueIdentifier>
<Extensions>*.lib</Extensions>
</Filter>
<Filter Include="QP_port">
<UniqueIdentifier>{2f8471b1-5e79-4b02-bb56-c37c483f0c9e}</UniqueIdentifier>
</Filter>
<Filter Include="QP">
<UniqueIdentifier>{12be5770-2052-40b6-b2df-6810909b2e27}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="bsp.cpp">
@ -49,20 +55,68 @@
<ClCompile Include="..\..\..\include\qstamp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qep_hsm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qep_msm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_act.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_actq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_defer.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_dyn.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_mem.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_ps.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qeq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qmact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_time.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ports\win32-qv\qf_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="bsp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dpp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Config\GUIConf.h">
<Filter>emWin</Filter>
</ClInclude>
<ClInclude Include="Config\LCDConf.h">
<Filter>emWin</Filter>
</ClInclude>
<ClInclude Include="bsp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dpp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\qep_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\qf_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\safe_std.h">
<Filter>QP_port</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Resource Include="simulation.res">
@ -77,4 +131,9 @@
<Filter>emWin</Filter>
</Library>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\ports\win32-qv\README.md">
<Filter>QP_port</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -34,7 +34,7 @@
extern "C" {
#include "GUI.h"
#include "GUI_SIM.h"
#include "LCD_SIM.h"
void SIM_X_Init() {
if (((LCD_GetDevCap(LCD_DEVCAP_XSIZE) * LCD_GetXMag()) == 320)

View File

@ -37,7 +37,7 @@
extern "C" {
#include "GUI.h"
#include "GUI_SIM.h"
#include "LCD_SIM.h"
#include "DIALOG.h"
#include "WM.h" // emWin Windows Manager
}

View File

@ -3,19 +3,12 @@
// Model: dpp_qmsm.qm
// File: ${.::dpp.hpp}
//
// This code has been generated by QM 5.2.2 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>Dining Philosopher Problem example with MSM state machines</documentation>
<!--${qpcpp}-->
<framework name="qpcpp" license="../../../LICENSES/QM-EVAL-QPCPP.qlc"/>
<framework name="qpcpp"/>
<!--${Events}-->
<package name="Events" stereotype="0x01" namespace="DPP::">
<!--${Events::TableEvt}-->

View File

@ -3,19 +3,12 @@
// Model: dpp_qmsm.qm
// File: ${.::philo.cpp}
//
// This code has been generated by QM 5.2.2 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//

View File

@ -3,19 +3,12 @@
// Model: dpp_qmsm.qm
// File: ${.::table.cpp}
//
// This code has been generated by QM 5.2.2 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//

View File

@ -3,7 +3,7 @@
// Model: dpp.qm
// File: ${.::dpp.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later
@ -87,4 +87,4 @@ extern QP::QActive * const AO_Table;
} // namespace DPP
//$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#endif // DPP_HPP
#endif // DPP_HPP

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>Dining Philosopher Problem example for Qt with GUI</documentation>
<!--${qpcpp}-->
<framework name="qpcpp"/>

View File

@ -3,7 +3,7 @@
// Model: dpp.qm
// File: ${.::philo.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: dpp.qm
// File: ${.::table.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: dpp.qm
// File: ${.::dpp.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later
@ -87,4 +87,4 @@ extern QP::QActive * const AO_Table;
} // namespace DPP
//$enddecl${AOs::AO_Table} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#endif // DPP_HPP
#endif // DPP_HPP

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>Dining Philosopher Problem example for Qt console application</documentation>
<!--${qpcpp}-->
<framework name="qpcpp"/>

View File

@ -3,7 +3,7 @@
// Model: dpp.qm
// File: ${.::philo.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: dpp.qm
// File: ${.::table.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: game.qm
// File: ${.::game.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later
@ -220,9 +220,9 @@ bool do_bitmaps_overlap(
uint8_t y1,
uint8_t bmp_id2,
uint8_t x2,
uint8_t y2) ;
uint8_t y2);
} // namespace GAME
//$enddecl${AOs::do_bitmaps_overlap} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#endif // GAME_HPP
#endif // GAME_HPP

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>&quot;Fly 'n' Shoot&quot; game model from Chapters 1 &amp; 9 of PSiCC2 for Qt with GUI
NOTE: Adapted for QP-Qt integartion</documentation>
<!--${qpcpp}-->
@ -65,7 +65,7 @@ int main() {
Direct event posting is the simplest asynchronous communication method available in QP.
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QMsm::dispatch() function.</documentation>
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QHsm::dispatch() function.</documentation>
<!--${Qt-port::GuiQActive::post::e}-->
<parameter name="e" type="QEvt const *"/>
<code>// Example:
@ -86,7 +86,7 @@ Direct event posting is the simplest asynchronous communication method available
NOTE: You should be very careful with the LIFO (Last In First Out) policy, because it *reverses* the order of events in the queue. Typically, the QActive_postLIFO() operation shuould be only used for self-posting of events as reminders (see the &quot;Reminder&quot; state pattern) for continuing a processing. The postLIFO() operation is also used in the QActive::recall() operation.
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QMsm::dispatch() function.</documentation>
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QHsm::dispatch() function.</documentation>
<!--${Qt-port::GuiQActive::postLIFO::e}-->
<parameter name="e" type="QEvt const *"/>
<code>// Example:
@ -156,7 +156,7 @@ int main() {
Direct event posting is the simplest asynchronous communication method available in QP.
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QMsm::dispatch() function.</documentation>
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QHsm::dispatch() function.</documentation>
<!--${Qt-port::GuiQMActive::post::e}-->
<parameter name="e" type="QEvt const *"/>
<code>// Example:
@ -177,7 +177,7 @@ Direct event posting is the simplest asynchronous communication method available
NOTE: You should be very careful with the LIFO (Last In First Out) policy, because it *reverses* the order of events in the queue. Typically, the QActive_postLIFO() operation shuould be only used for self-posting of events as reminders (see the &quot;Reminder&quot; state pattern) for continuing a processing. The postLIFO() operation is also used in the QActive::recall() operation.
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QMsm::dispatch() function.</documentation>
NOTE: Direct event posting should not be confused with direct event dispatching. In contrast to asynchronous event posting through event queues, direct event dispatching is synchronous. Direct event dispatching occurs when you call QHsm::dispatch() function.</documentation>
<!--${Qt-port::GuiQMActive::postLIFO::e}-->
<parameter name="e" type="QEvt const *"/>
<code>// Example:

View File

@ -3,7 +3,7 @@
// Model: game.qm
// File: ${.::mine1.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: game.qm
// File: ${.::mine2.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: game.qm
// File: ${.::missile.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: game.qm
// File: ${.::ship.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: game.qm
// File: ${.::tunnel.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later
@ -980,3 +980,4 @@ Q_STATE_DEF(Tunnel, final) {
} // namespace GAME
//$enddef${AOs::Tunnel} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -3,7 +3,7 @@
// Model: pelican.qm
// File: ${.::pelican.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -3,7 +3,7 @@
// Model: pelican.qm
// File: ${.::pelican.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// SPDX-License-Identifier: GPL-3.0-or-later
@ -57,4 +57,4 @@ extern QP::QActive * const AO_Pelican;
} // namespace PELICAN
//$enddecl${components::AO_Pelican} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// opaque pointer to Pelican AO
#endif // PELICAN_HPP
#endif // PELICAN_HPP

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>PEdestrian LIghto CONtrolled (PELICA) crossing for Qt with GUI</documentation>
<!--${qpcpp}-->
<framework name="qpcpp"/>

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -95,13 +95,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -121,7 +115,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -174,7 +177,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -201,7 +204,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -15,15 +15,40 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\..\ports\win32-qutest\qutest_port.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_hsm.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_msm.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_act.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_actq.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_defer.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_dyn.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_mem.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_ps.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qact.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qeq.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_qmact.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qf_time.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qstamp.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs_64bit.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs_fp.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qs_rx.cpp" />
<ClCompile Include="..\..\..\..\src\qs\qutest.cpp" />
<ClCompile Include="..\src\blinky.cpp" />
<ClCompile Include="..\src\bsp.cpp" />
<ClCompile Include="test_blinky.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\ports\win32-qutest\qep_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qutest\qf_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qutest\qs_port.hpp" />
<ClInclude Include="..\..\..\..\ports\win32-qutest\safe_std.h" />
<ClInclude Include="..\src\blinky.h" />
<ClInclude Include="..\src\bsp.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\ports\win32-qutest\README.md" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8CC465F7-872E-4D03-B93C-1B64858B4E11}</ProjectGuid>
<RootNamespace>test_vc</RootNamespace>
@ -89,8 +114,8 @@
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../../ports/win32-qutest/vc;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>

View File

@ -4,10 +4,94 @@
<ClCompile Include="test_blinky.cpp" />
<ClCompile Include="..\src\blinky.cpp" />
<ClCompile Include="..\src\bsp.cpp" />
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\..\src\qf\qep_hsm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qep_msm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_act.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_actq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_defer.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_dyn.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_mem.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_ps.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qeq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_qmact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qf\qf_time.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\ports\win32-qutest\qutest_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_64bit.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_fp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qs_rx.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qstamp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\src\qs\qutest.cpp">
<Filter>QS</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\blinky.h" />
<ClInclude Include="..\src\bsp.h" />
<ClInclude Include="..\..\..\..\ports\win32-qutest\qep_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qutest\qf_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qutest\qs_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\ports\win32-qutest\safe_std.h">
<Filter>QP_port</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="QP_port">
<UniqueIdentifier>{6f4a93f8-9c12-4382-bcaf-7990fc017806}</UniqueIdentifier>
</Filter>
<Filter Include="QP">
<UniqueIdentifier>{ac007963-eaca-4059-a0e8-c1540f39b04c}</UniqueIdentifier>
</Filter>
<Filter Include="QS">
<UniqueIdentifier>{00254ee7-7214-4063-b202-f6cedf2784eb}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\ports\win32-qutest\README.md">
<Filter>QP_port</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -97,13 +97,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -123,7 +117,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -176,7 +179,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -203,7 +206,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -95,13 +95,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -121,7 +115,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -174,7 +177,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -201,7 +204,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -95,13 +95,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -121,7 +115,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -174,7 +177,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -201,7 +204,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
## Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -97,13 +97,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -123,7 +117,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -176,7 +179,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -203,7 +206,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -95,13 +95,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -121,7 +115,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -174,7 +177,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -201,7 +204,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,18 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_vc", "test_vc.vcxproj", "{8CC465F7-872E-4D03-B93C-1B64858B4E11}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Debug|Win32.ActiveCfg = Debug|Win32
{8CC465F7-872E-4D03-B93C-1B64858B4E11}.Debug|Win32.Build.0 = Debug|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,161 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="QSpy|Win32">
<Configuration>QSpy</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\src\bsp.cpp" />
<ClCompile Include="..\src\philo.cpp" />
<ClCompile Include="test_philo.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\bsp.hpp" />
<ClInclude Include="..\src\dpp.hpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8CC465F7-872E-4D03-B93C-1B64858B4E11}</ProjectGuid>
<RootNamespace>test_vc</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>NotSet</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../src;../../../../include;../../../../ports/win32-qutest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>Q_SPY;Q_UTEST;Q_HOST;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
</ExceptionHandling>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4127</DisableSpecificWarnings>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../../ports/win32-qutest/vc;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PreBuildEvent>
<Command>cmd /c "del $(OutDir)qstamp.obj"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>.;../../../include;../../../ports/win32-qv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;snprintf=_snprintf;WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
</ExceptionHandling>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4127</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PreBuildEvent>
<Command>cmd /c "del $(OutDir)qstamp.obj"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.;../../../include;../../../ports/win32-qv;$(QTOOLS)/qspy/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>Q_SPY;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>
</ExceptionHandling>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4127</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<PreBuildEvent>
<Command>cmd /c "del $(OutDir)qstamp.obj"</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\src\bsp.cpp" />
<ClCompile Include="..\src\philo.cpp" />
<ClCompile Include="..\..\..\..\include\qstamp.cpp" />
<ClCompile Include="test_philo.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\bsp.hpp" />
<ClInclude Include="..\src\dpp.hpp" />
</ItemGroup>
</Project>

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -95,13 +95,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -121,7 +115,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -174,7 +177,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -201,7 +204,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -94,13 +94,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -120,7 +114,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -173,7 +176,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +203,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -94,13 +94,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -120,7 +114,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -173,7 +176,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +203,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>QMsmTst is a test for the QMsm state machine implementation strategy of the state machine design from Chapter 2 of the PSiCC2 book.</documentation>
<!--${qpcpp}-->
<framework name="qpcpp" license="../../../LICENSES/QM-EVAL-QPCPP.qlc"/>
<framework name="qpcpp"/>
<!--${SMs}-->
<package name="SMs" stereotype="0x02">
<!--${SMs::QMsmTst}-->

View File

@ -3,19 +3,12 @@
// Model: qmsmtst.qm
// File: ${src::qmsmtst.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//
@ -740,4 +733,4 @@ QM_STATE_DEF(QMsmTst, s211) {
}
//$enddef${SMs::QMsmTst} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
} // namespace QMSMTST
} // namespace QMSMTST

View File

@ -3,19 +3,12 @@
// Model: qmsmtst.qm
// File: ${src::qmsmtst.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//
@ -63,4 +56,4 @@ void BSP_terminate(int16_t const result);
} // namespace QMSMTST
#endif // QMSMTST_HPP
#endif // QMSMTST_HPP

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -94,13 +94,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -120,7 +114,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -173,7 +176,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +203,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QUTEST-QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -93,13 +93,7 @@ DEFINES :=
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIB_DIRS += -L$(QP_PORT_DIR)/mingw
LIBS += -lqp -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
CPP_SRCS += \
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
@ -119,7 +113,16 @@ else
qutest.cpp \
qutest_port.cpp
LIBS += -lpthread
ifeq ($(OS),Windows_NT)
QP_PORT_DIR := $(QPCPP)/ports/win32-qutest
LIBS += -lws2_32
else
QP_PORT_DIR := $(QPCPP)/ports/posix-qutest
LIBS += -lpthread
endif
#============================================================================
@ -172,7 +175,7 @@ endif
BIN_DIR := build
CFLAGS := -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS := -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY -DQ_UTEST -DQ_HOST
CPPFLAGS := -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -199,7 +202,6 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
#-----------------------------------------------------------------------------
# rules
#

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -89,30 +89,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -135,6 +113,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -150,7 +149,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -182,7 +181,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -197,7 +196,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -209,7 +208,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -232,15 +231,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -259,17 +255,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -91,30 +91,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -137,6 +115,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -152,7 +151,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -184,7 +183,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -199,7 +198,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -211,7 +210,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -234,15 +233,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -261,17 +257,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -91,30 +91,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -137,6 +115,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -152,7 +151,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -184,7 +183,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -199,7 +198,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -211,7 +210,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -234,15 +233,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -261,17 +257,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -91,30 +91,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -137,6 +115,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -152,7 +151,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -184,7 +183,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -199,7 +198,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -211,7 +210,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -234,15 +233,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -261,17 +257,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -3,19 +3,12 @@
// Model: calc1_sub.qm
// File: ${.::calc1_sub.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//

View File

@ -3,19 +3,12 @@
// Model: calc1_sub.qm
// File: ${.::calc1_sub.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//
@ -65,3 +58,4 @@ extern QP::QHsm * const the_calc;
//$enddecl${SMs::the_calc} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#endif // CALC1_SUB_HPP

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>The improved Calculator model with QMsm state machine implementation strategy and Sub-Machines.</documentation>
<!--${qpcpp}-->
<framework name="qpcpp" license="../../../LICENSES/QM-EVAL-QPCPP.qlc"/>
<framework name="qpcpp"/>
<!--${Events}-->
<package name="Events" stereotype="0x01">
<!--${Events::CalcEvt}-->

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -91,30 +91,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -137,6 +115,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -152,7 +151,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -184,7 +183,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -199,7 +198,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -211,7 +210,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -234,15 +233,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -261,17 +257,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -92,30 +92,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -138,6 +116,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -153,7 +152,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -185,7 +184,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +199,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -212,7 +211,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -235,15 +234,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -262,17 +258,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -90,30 +90,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -136,6 +114,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -151,7 +150,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -183,7 +182,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -198,7 +197,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -210,7 +209,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -233,15 +232,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -260,17 +256,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -56,10 +56,10 @@ PROJECT := dpp
#
# list of all source directories used by this project
VPATH = .
VPATH := . \
# list of all include directories needed by this project
INCLUDES := -I.
INCLUDES := -I. \
# location of the QP/C framework (if not provided in an env. variable)
ifeq ($(QPCPP),)
@ -92,30 +92,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -138,6 +116,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -153,7 +152,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -185,7 +184,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +199,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -212,7 +211,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -235,15 +234,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -262,17 +258,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,295 +0,0 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2021 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Alternatively, this program may be distributed and modified under the
# terms of Quantum Leaps commercial licenses, which expressly supersede
# the GNU General Public License and are specifically designed for
# licensees interested in retaining the proprietary status of their code.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <www.gnu.org/licenses/>.
#
# Contact information:
# <www.state-machine.com/licensing>
# <info@state-machine.com>
##############################################################################
#
# examples of invoking this Makefile:
# building configurations: Debug (default), Release, and Spy
# make
# make CONF=rel
# make CONF=spy
# make clean # cleanup the build
# make CONF=spy clean # cleanup the build
#
# NOTE:
# To use this Makefile on Windows, you will need the GNU make utility, which
# is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
#
#-----------------------------------------------------------------------------
# project name:
#
PROJECT := dpp
#-----------------------------------------------------------------------------
# project directories:
#
# list of all source directories used by this project
VPATH = .
# list of all include directories needed by this project
INCLUDES := -I.
# location of the QP/C framework (if not provided in an env. variable)
ifeq ($(QPCPP),)
QPCPP := ../../..
endif
#-----------------------------------------------------------------------------
# project files:
#
# C source files...
C_SRCS :=
# C++ source files...
CPP_SRCS := \
bsp.cpp \
main.cpp \
philo.cpp \
table.cpp
LIB_DIRS :=
LIBS :=
# defines...
# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API
DEFINES := -DQP_API_VERSION=9999
ifeq (,$(CONF))
CONF := dbg
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
#QP_PORT_DIR := $(QPCPP)/ports/win32-qv
QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
qf_act.cpp \
qf_actq.cpp \
qf_defer.cpp \
qf_dyn.cpp \
qf_mem.cpp \
qf_ps.cpp \
qf_qact.cpp \
qf_qeq.cpp \
qf_qmact.cpp \
qf_time.cpp \
qf_port.cpp
QS_SRCS := \
qs.cpp \
qs_64bit.cpp \
qs_rx.cpp \
qs_fp.cpp \
qs_port.cpp
LIBS += -lpthread
endif
#============================================================================
# Typically you should not need to change anything below this line
VPATH += $(QPCPP)/src/qf $(QP_PORT_DIR)
INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#-----------------------------------------------------------------------------
# GNU toolset:
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
CPP := g++
#LINK := gcc # for C programs
LINK := g++ # for C++ programs
#-----------------------------------------------------------------------------
# basic utilities (depends on the OS this Makefile runs on):
#
ifeq ($(OS),Windows_NT)
MKDIR := mkdir
RM := rm
TARGET_EXT := .exe
else ifeq ($(OSTYPE),cygwin)
MKDIR := mkdir -p
RM := rm -f
TARGET_EXT := .exe
else
MKDIR := mkdir -p
RM := rm -f
TARGET_EXT :=
endif
#-----------------------------------------------------------------------------
# build configurations...
ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
-fno-rtti -fno-exceptions \
$(INCLUDES) $(DEFINES) -DNDEBUG
else ifeq (spy, $(CONF)) # Spy configuration ................................
BIN_DIR := build_spy
CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
-fno-rtti -fno-exceptions \
$(INCLUDES) $(DEFINES) -DQ_SPY
else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
-fno-rtti -fno-exceptions \
$(INCLUDES) $(DEFINES)
endif # .....................................................................
ifndef GCC_OLD
LINKFLAGS := -no-pie
endif
#-----------------------------------------------------------------------------
C_OBJS := $(patsubst %.c,%.o, $(C_SRCS))
CPP_OBJS := $(patsubst %.cpp,%.o, $(CPP_SRCS))
TARGET_EXE := $(BIN_DIR)/$(PROJECT)$(TARGET_EXT)
C_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(C_OBJS))
C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
$(CPP) $(CPPFLAGS) $(QPCPP)/include/qstamp.cpp -o $(BIN_DIR)/qstamp.o
$(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS)
$(BIN_DIR)/%.d : %.c
$(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@
$(BIN_DIR)/%.d : %.cpp
$(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@
$(BIN_DIR)/%.o : %.c
$(CC) $(CFLAGS) $< -o $@
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \
$(TARGET_EXE)
show :
@echo PROJECT = $(PROJECT)
@echo TARGET_EXE = $(TARGET_EXE)
@echo VPATH = $(VPATH)
@echo C_SRCS = $(C_SRCS)
@echo CPP_SRCS = $(CPP_SRCS)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo C_OBJS_EXT = $(C_OBJS_EXT)
@echo C_DEPS_EXT = $(C_DEPS_EXT)
@echo CPP_DEPS_EXT = $(CPP_DEPS_EXT)
@echo CPP_OBJS_EXT = $(CPP_OBJS_EXT)
@echo LIB_DIRS = $(LIB_DIRS)
@echo LIBS = $(LIBS)
@echo DEFINES = $(DEFINES)

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -92,30 +92,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -138,6 +116,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -153,7 +152,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -185,7 +184,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +199,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -212,7 +211,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -235,15 +234,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -262,17 +258,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS* (threaded ports)
# Last updated for version 6.8.2
# Last updated on 2020-06-23
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -92,30 +92,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
#QP_PORT_DIR := $(QPCPP)/ports/win32-qv
QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
#QP_PORT_DIR := $(QPCPP)/ports/posix-qv
QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -138,6 +116,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
#QP_PORT_DIR := $(QPCPP)/ports/win32-qv
QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
#QP_PORT_DIR := $(QPCPP)/ports/posix-qv
QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -146,14 +145,14 @@ endif
# Typically you should not need to change anything below this line
VPATH += $(QPCPP)/src/qf $(QP_PORT_DIR)
INCLUDES += -I$(QPCPP)/include -I$(QPCPP)/src -I$(QP_PORT_DIR)
INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#-----------------------------------------------------------------------------
# GNU toolset:
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -185,7 +184,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -200,7 +199,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -212,7 +211,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -235,15 +234,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -262,17 +258,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -151,8 +151,8 @@
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
@ -205,8 +205,8 @@
<DisableSpecificWarnings>4127</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@ -262,8 +262,8 @@
<DisableSpecificWarnings>4127</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
@ -313,8 +313,8 @@
<DisableSpecificWarnings>4127</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>qp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../ports/win32-qv/$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
@ -349,16 +349,83 @@
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\ports\win32-qv\qf_port.cpp" />
<ClCompile Include="..\..\..\ports\win32-qv\qs_port.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy64|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qep_hsm.cpp" />
<ClCompile Include="..\..\..\src\qf\qep_msm.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_act.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_actq.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_defer.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_dyn.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_mem.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_ps.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qact.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qeq.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_qmact.cpp" />
<ClCompile Include="..\..\..\src\qf\qf_time.cpp" />
<ClCompile Include="..\..\..\src\qs\qs.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy64|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qstamp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy64|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs_64bit.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy64|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs_fp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy64|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs_rx.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy64|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='QSpy|Win32'">
</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="bsp.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="philo.cpp" />
<ClCompile Include="table.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\ports\win32-qv\qep_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\qf_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\qs_port.hpp" />
<ClInclude Include="..\..\..\ports\win32-qv\safe_std.h" />
<ClInclude Include="bsp.h" />
<ClInclude Include="dpp.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\ports\win32-qv\README.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@ -5,10 +5,94 @@
<ClCompile Include="main.cpp" />
<ClCompile Include="philo.cpp" />
<ClCompile Include="table.cpp" />
<ClCompile Include="..\..\..\include\qstamp.cpp" />
<ClCompile Include="..\..\..\src\qf\qep_hsm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qep_msm.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_act.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_actq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_defer.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_dyn.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_mem.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_ps.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qeq.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_qmact.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qf\qf_time.cpp">
<Filter>QP</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs_64bit.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs_fp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qs_rx.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\qs\qstamp.cpp">
<Filter>QS</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ports\win32-qv\qf_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ports\win32-qv\qs_port.cpp">
<Filter>QP_port</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="bsp.h" />
<ClInclude Include="dpp.h" />
<ClInclude Include="..\..\..\ports\win32-qv\qep_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\qf_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\qs_port.hpp">
<Filter>QP_port</Filter>
</ClInclude>
<ClInclude Include="..\..\..\ports\win32-qv\safe_std.h">
<Filter>QP_port</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="QP_port">
<UniqueIdentifier>{132373cd-4fbf-4759-b90b-33d062646870}</UniqueIdentifier>
</Filter>
<Filter Include="QS">
<UniqueIdentifier>{3782d84c-89fd-4955-b3bb-1a48d8ed5e1e}</UniqueIdentifier>
</Filter>
<Filter Include="QP">
<UniqueIdentifier>{63c2ea15-0007-4619-903e-97d5e7a963d6}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\ports\win32-qv\README.md">
<Filter>QP_port</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -90,30 +90,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -136,6 +114,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -151,7 +150,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -183,7 +182,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -198,7 +197,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -210,7 +209,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -233,15 +232,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -260,17 +256,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -90,30 +90,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -136,6 +114,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -151,7 +150,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -183,7 +182,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -198,7 +197,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -210,7 +209,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -233,15 +232,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -260,17 +256,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -3,19 +3,12 @@
// Model: history.qm
// File: ${.::history.cpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//

View File

@ -3,19 +3,12 @@
// Model: history.qm
// File: ${.::history.hpp}
//
// This code has been generated by QM 5.2.0 <www.state-machine.com/qm>.
// This code has been generated by QM 5.2.3 <www.state-machine.com/qm>.
// DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost.
//
// This code is covered by the following QP license:
// License # : QM-EVAL-QPCPP
// Issued to : Users of QP/C++ Real-Time Embedded Framework (RTEF)
// Framework(s) : qpcpp
// Support ends : 2023-12-31
// License scope:
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// This generated code is free software: you can redistribute it under
// This generated code is open source software: you can redistribute it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation.
//
@ -49,4 +42,4 @@ enum ToastOvenSignals {
extern QP::QMsm * const the_oven; // opaque pointer to the oven MSM
#endif // HISTORY_HPP
#endif // HISTORY_HPP

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<model version="5.2.0" links="1">
<model version="5.2.3" links="1">
<documentation>Transition to history in a subclass of QP::QMsm</documentation>
<!--${qpcpp}-->
<framework name="qpcpp" license="../../../LICENSES/QM-EVAL-QPCPP.qlc"/>
<framework name="qpcpp"/>
<!--${SMs}-->
<package name="SMs" stereotype="0x02">
<!--${SMs::ToastOven}-->

View File

@ -1,13 +1,13 @@
##############################################################################
# Product: Makefile for QP/C++ for Windows and POSIX *HOSTS*
# Last Updated for Version: 7.0.1
# Date of the Last Update: 2022-05-23
# Last updated for version 7.1.3
# Last updated on 2022-11-13
#
# Q u a n t u m L e a P s
# ------------------------
# Modern Embedded Software
#
# Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved.
# Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
#
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
@ -90,30 +90,8 @@ ifeq (,$(CONF))
endif
#-----------------------------------------------------------------------------
# add QP/C++ framework (depends on the OS this Makefile runs on):
# add QP/C++ framework:
#
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIB_DIRS += -L$(QP_PORT_DIR)/$(CONF)
LIBS += -lqp -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
CPP_SRCS += \
qep_hsm.cpp \
qep_msm.cpp \
@ -136,6 +114,27 @@ QS_SRCS := \
qs_fp.cpp \
qs_port.cpp
ifeq ($(OS),Windows_NT)
# NOTE:
# For Windows hosts, you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/win32-qv
#QP_PORT_DIR := $(QPCPP)/ports/win32
LIBS += -lws2_32
else
# NOTE:
# For POSIX hosts (Linux, MacOS), you can choose:
# - the single-threaded QP/C++ port (win32-qv) or
# - the multithreaded QP/C++ port (win32).
#
QP_PORT_DIR := $(QPCPP)/ports/posix-qv
#QP_PORT_DIR := $(QPCPP)/ports/posix
LIBS += -lpthread
endif
@ -151,7 +150,7 @@ INCLUDES += -I$(QPCPP)/include -I$(QP_PORT_DIR)
#
# NOTE:
# GNU toolset (MinGW) is included in the QTools collection for Windows, see:
# http://sourceforge.net/projects/qpc/files/QTools/
# https://www.state-machine.com/qtools
# It is assumed that %QTOOLS%\bin directory is added to the PATH
#
CC := gcc
@ -183,7 +182,7 @@ ifeq (rel, $(CONF)) # Release configuration ..................................
BIN_DIR := build_rel
# gcc options:
CFLAGS = -c -O3 -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -O3 -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DNDEBUG
CPPFLAGS = -c -O3 -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -198,7 +197,7 @@ CPP_SRCS += $(QS_SRCS)
VPATH += $(QPCPP)/src/qs
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES) -DQ_SPY
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -210,7 +209,7 @@ else # default Debug configuration .........................................
BIN_DIR := build
# gcc options:
CFLAGS = -c -g -O -fno-pie -std=c99 -pedantic -Wall -Wextra -W \
CFLAGS = -c -g -O -fno-pie -std=c11 -pedantic -Wall -Wextra -W \
$(INCLUDES) $(DEFINES)
CPPFLAGS = -c -g -O -fno-pie -std=c++11 -pedantic -Wall -Wextra \
@ -233,15 +232,12 @@ C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT))
CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS))
CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT))
# create $(BIN_DIR) if it does not exist
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
#-----------------------------------------------------------------------------
# rules
#
.PHONY: clean show
all: $(TARGET_EXE)
$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT)
@ -260,17 +256,18 @@ $(BIN_DIR)/%.o : %.c
$(BIN_DIR)/%.o : %.cpp
$(CPP) $(CPPFLAGS) $< -o $@
.PHONY : clean show
# include dependency files only if our goal depends on their existence
# create BIN_DIR and include dependencies only if needed
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),show)
ifneq ($(MAKECMDGOALS),debug)
ifeq ("$(wildcard $(BIN_DIR))","")
$(shell $(MKDIR) $(BIN_DIR))
endif
-include $(C_DEPS_EXT) $(CPP_DEPS_EXT)
endif
endif
endif
.PHONY : clean show
clean :
-$(RM) $(BIN_DIR)/*.o \
$(BIN_DIR)/*.d \

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="bsp.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="philo.cpp" />
<ClCompile Include="table.cpp" />
<ClCompile Include="..\..\..\include\qstamp.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="bsp.h" />
<ClInclude Include="dpp.h" />
</ItemGroup>
</Project>

Some files were not shown because too many files have changed in this diff Show More