This commit is contained in:
MMS 2022-04-30 18:30:21 -04:00
parent b13c47254e
commit e20534ffc1
2 changed files with 24 additions and 42 deletions

View File

@ -1,18 +1,16 @@
![QP Framework](doxygen/images/qp_banner.jpg) ![QP Framework](doxygen/images/qp_banner.jpg)
> **NOTE:** If your company has a policy forbidding open source in your
products, all QP frameworks can be
[licensed commercially](https://www.state-machine.com/licensing),
in which case you don't use any open source license and you do not violate
your policy.
---------------------------------------------------------------------------
# What's New? # What's New?
View QP/C++ Revision History at: https://www.state-machine.com/qpcpp/history.html View QP/C++ Revision History at: https://www.state-machine.com/qpcpp/history.html
>**NOTE:** If you're interested in the latest QP/C++ version from Git,
it is highly recommened that you download the latest
[QP/C++ Release](https://github.com/QuantumLeaps/qpcpp/releases)
as opposed to cloning the repo directy. This is because the `3rd_party`
directory needed to build the examples is no longer provided in the
`qpcpp` repository (and is provided in the QP/C++ release).
---------------------------------------------------------------------------
# Getting Started with QP/C++ # Getting Started with QP/C++
The most recommended way of obtaining QP/C++ is by downloading the The most recommended way of obtaining QP/C++ is by downloading the
[QP-bundle](https://www.state-machine.com/#Downloads), which includes QP/C++ [QP-bundle](https://www.state-machine.com/#Downloads), which includes QP/C++
@ -20,14 +18,6 @@ as well as the QM modeling tool and the QTools collection. The main advantage of
obtaining QP/C++ bundled together like that is that you get all components, obtaining QP/C++ bundled together like that is that you get all components,
tools and examples ready to go. tools and examples ready to go.
><span style="background:yellow;"><strong>NOTE:</strong></span>
If you're interested in the latest QP/C++ version from Git,
it is highly recommened that you download the latest
[QP/C++ Release](https://github.com/QuantumLeaps/qpcpp/releases)
as opposed to cloning the repo directy. This is because the `3rd_party`
directory needed to build the examples is no longer provided in the
`qpcpp` repository (and is provided in the QP/C++ release).
### Getting Started Resources ### Getting Started Resources
- [Video: "Getting Started with QP Real-Time Embedded Frameworks"][Video] - [Video: "Getting Started with QP Real-Time Embedded Frameworks"][Video]
provides instructions on how to download, install, and get started with QP. provides instructions on how to download, install, and get started with QP.
@ -36,7 +26,6 @@ provides instructions on how to download, install, and get started with QP.
contains also a tutorial, in which you build a simple "Blinky" application. contains also a tutorial, in which you build a simple "Blinky" application.
---------------------------------------------------------------------------
# Documentation # Documentation
The online HTML documention for the **latest** version of QP/C++ is located The online HTML documention for the **latest** version of QP/C++ is located
at: https://www.state-machine.com/qpcpp at: https://www.state-machine.com/qpcpp
@ -46,7 +35,6 @@ is located in the sub-folder [html](html). To view the offline documentation,
open the file [html/index.html](html/index.html) in your web browser. open the file [html/index.html](html/index.html) in your web browser.
---------------------------------------------------------------------------
# About QP/C++ # About QP/C++
QP/C++ (Quantum Platform in C++) is a lightweight, open source QP/C++ (Quantum Platform in C++) is a lightweight, open source
[Real-Time Embedded Framework (RTEF)][RTEF] for building modern embedded [Real-Time Embedded Framework (RTEF)][RTEF] for building modern embedded
@ -104,7 +92,7 @@ and many times more open source users worldwide, the QP
most popular such offering on the market. They power countless electronic most popular such offering on the market. They power countless electronic
products ranging from implantable medical devices to complex weapon systems. products ranging from implantable medical devices to complex weapon systems.
---------------------------------------------------------------------------
# QP/C++ Licensing # QP/C++ Licensing
QP/C++ is licensed under the increasingly popular [dual licensing model][Lic], QP/C++ is licensed under the increasingly popular [dual licensing model][Lic],
in which both the open source software distribution mechanism and in which both the open source software distribution mechanism and
@ -115,11 +103,10 @@ product, all QP frameworks can be [licensed commercially][Lic], in which case
you don't use any open source license and you do not violate your policy. you don't use any open source license and you do not violate your policy.
---------------------------------------------------------------------------
# QP/C++ Documentation # QP/C++ Documentation
The **QP/C++ Manual** is located online at: https://www.state-machine.com/qpcpp The **QP/C++ Manual** is located online at: https://www.state-machine.com/qpcpp
---------------------------------------------------------------------------
# How to Get Help? # How to Get Help?
- [Free Support Forum](https://sourceforge.net/p/qpc/discussion/668726) - [Free Support Forum](https://sourceforge.net/p/qpc/discussion/668726)
- [Bug Reports](https://sourceforge.net/p/qpc/bugs/) - [Bug Reports](https://sourceforge.net/p/qpc/bugs/)

View File

@ -24,9 +24,8 @@
4 1 19 1 4 QP::QHsm::qm_exit@429-432@..\include\qep.hpp 4 1 19 1 4 QP::QHsm::qm_exit@429-432@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_sm_exit@436-439@..\include\qep.hpp 4 1 20 1 4 QP::QHsm::qm_sm_exit@436-439@..\include\qep.hpp
4 1 20 1 4 QP::QHsm::qm_super_sub@443-446@..\include\qep.hpp 4 1 20 1 4 QP::QHsm::qm_super_sub@443-446@..\include\qep.hpp
3 1 17 1 3 QP::QMsm::init@495-497@..\include\qep.hpp 3 1 13 1 3 QP::QMsm::stateObj@504-506@..\include\qep.hpp
3 1 13 1 3 QP::QMsm::stateObj@507-509@..\include\qep.hpp 3 1 10 1 3 QP::QEP::getVersion@588-590@..\include\qep.hpp
3 1 10 1 3 QP::QEP::getVersion@591-593@..\include\qep.hpp
3 1 11 1 3 QP::QEQueue::getNFree@216-218@..\include\qequeue.hpp 3 1 11 1 3 QP::QEQueue::getNFree@216-218@..\include\qequeue.hpp
3 1 11 1 3 QP::QEQueue::getNMin@231-233@..\include\qequeue.hpp 3 1 11 1 3 QP::QEQueue::getNMin@231-233@..\include\qequeue.hpp
3 1 13 1 3 QP::QEQueue::isEmpty@245-247@..\include\qequeue.hpp 3 1 13 1 3 QP::QEQueue::isEmpty@245-247@..\include\qequeue.hpp
@ -35,11 +34,10 @@
3 1 22 1 3 QP::QActive::setPrio@249-251@..\include\qf.hpp 3 1 22 1 3 QP::QActive::setPrio@249-251@..\include\qf.hpp
1 1 10 1 1 QP::QActive::getOsObject@259-259@..\include\qf.hpp 1 1 10 1 1 QP::QActive::getOsObject@259-259@..\include\qf.hpp
1 1 10 1 1 QP::QActive::getThread@265-265@..\include\qf.hpp 1 1 10 1 1 QP::QActive::getThread@265-265@..\include\qf.hpp
3 1 13 1 3 QP::QMActive::stateObj@341-343@..\include\qf.hpp 3 1 13 1 3 QP::QMActive::stateObj@340-342@..\include\qf.hpp
3 1 17 1 3 QP::QTimeEvt::toActive@456-458@..\include\qf.hpp 3 1 17 1 3 QP::QTimeEvt::toActive@455-457@..\include\qf.hpp
3 1 17 1 3 QP::QTimeEvt::toTimeEvt@461-463@..\include\qf.hpp 3 1 17 1 3 QP::QTimeEvt::toTimeEvt@460-462@..\include\qf.hpp
3 1 10 1 3 QP::QF::getVersion@492-494@..\include\qf.hpp 3 1 10 1 3 QP::QF::getVersion@491-493@..\include\qf.hpp
3 1 18 1 3 QP::QTicker::init@642-644@..\include\qf.hpp
3 1 10 1 3 QP::QK::getVersion@147-149@..\include\qk.hpp 3 1 10 1 3 QP::QK::getVersion@147-149@..\include\qk.hpp
3 1 11 1 3 QP::QMPool::getBlockSize@143-145@..\include\qmpool.hpp 3 1 11 1 3 QP::QMPool::getBlockSize@143-145@..\include\qmpool.hpp
3 1 11 1 3 QP::QPSet::setEmpty@74-76@..\include\qpset.hpp 3 1 11 1 3 QP::QPSet::setEmpty@74-76@..\include\qpset.hpp
@ -59,9 +57,7 @@
3 1 19 1 3 QP::QSpyId::getPrio@206-208@..\include\qs.hpp 3 1 19 1 3 QP::QSpyId::getPrio@206-208@..\include\qs.hpp
7 1 28 1 7 QP::QS::force_cast@498-504@..\include\qs.hpp 7 1 28 1 7 QP::QS::force_cast@498-504@..\include\qs.hpp
14 3 72 1 14 QP::QS::rxPut@539-552@..\include\qs.hpp 14 3 72 1 14 QP::QS::rxPut@539-552@..\include\qs.hpp
3 1 18 1 3 QP::QHsmDummy::init@568-570@..\include\qs.hpp 6 1 49 5 6 QP::QActiveDummy::start@587-592@..\include\qs.hpp
6 1 49 5 6 QP::QActiveDummy::start@590-595@..\include\qs.hpp
3 1 18 1 3 QP::QActiveDummy::init@599-601@..\include\qs.hpp
3 1 19 1 3 QP::QSpyId::getPrio@107-109@..\include\qs_dummy.hpp 3 1 19 1 3 QP::QSpyId::getPrio@107-109@..\include\qs_dummy.hpp
3 1 20 1 3 QP::QXThread::init@80-82@..\include\qxthread.hpp 3 1 20 1 3 QP::QXThread::init@80-82@..\include\qxthread.hpp
6 1 51 5 6 QP::QXThread::start@96-101@..\include\qxthread.hpp 6 1 51 5 6 QP::QXThread::start@96-101@..\include\qxthread.hpp
@ -121,10 +117,9 @@
36 4 188 1 46 QP::QEQueue::get@281-326@..\src\qf\qf_qeq.cpp 36 4 188 1 46 QP::QEQueue::get@281-326@..\src\qf\qf_qeq.cpp
5 1 22 1 5 QP::QMActive::QMActive@59-63@..\src\qf\qf_qmact.cpp 5 1 22 1 5 QP::QMActive::QMActive@59-63@..\src\qf\qf_qmact.cpp
4 1 41 2 4 QP::QMActive::init@66-69@..\src\qf\qf_qmact.cpp 4 1 41 2 4 QP::QMActive::init@66-69@..\src\qf\qf_qmact.cpp
3 1 24 1 3 QP::QMActive::init@71-73@..\src\qf\qf_qmact.cpp 5 1 32 2 5 QP::QMActive::dispatch@71-75@..\src\qf\qf_qmact.cpp
3 1 32 2 3 QP::QMActive::dispatch@75-77@..\src\qf\qf_qmact.cpp 3 1 27 1 3 QP::QMActive::isInState@78-80@..\src\qf\qf_qmact.cpp
3 1 27 1 3 QP::QMActive::isInState@80-82@..\src\qf\qf_qmact.cpp 6 1 27 1 6 QP::QMActive::childStateObj@82-87@..\src\qf\qf_qmact.cpp
5 1 27 1 5 QP::QMActive::childStateObj@84-88@..\src\qf\qf_qmact.cpp
3 1 20 0 3 QP::QMActive::getStateHandler@92-94@..\src\qf\qf_qmact.cpp 3 1 20 0 3 QP::QMActive::getStateHandler@92-94@..\src\qf\qf_qmact.cpp
67 7 352 1 99 QP::QF::tickX_@79-177@..\src\qf\qf_time.cpp 67 7 352 1 99 QP::QF::tickX_@79-177@..\src\qf\qf_time.cpp
14 3 70 1 17 QP::QF::noTimeEvtsActiveX@192-208@..\src\qf\qf_time.cpp 14 3 70 1 17 QP::QF::noTimeEvtsActiveX@192-208@..\src\qf\qf_time.cpp
@ -190,14 +185,14 @@
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
-------------------------------------------------------------- --------------------------------------------------------------
4 0.0 0.0 0.0 0 ..\include\qassert.h 4 0.0 0.0 0.0 0 ..\include\qassert.h
229 3.9 1.0 20.9 22 ..\include\qep.hpp 226 4.0 1.0 21.1 21 ..\include\qep.hpp
40 3.0 1.0 11.7 3 ..\include\qequeue.hpp 40 3.0 1.0 11.7 3 ..\include\qequeue.hpp
196 2.9 1.0 18.7 10 ..\include\qf.hpp 192 2.9 1.0 18.8 9 ..\include\qf.hpp
32 3.0 1.0 10.0 1 ..\include\qk.hpp 32 3.0 1.0 10.0 1 ..\include\qk.hpp
37 3.0 1.0 11.0 1 ..\include\qmpool.hpp 37 3.0 1.0 11.0 1 ..\include\qmpool.hpp
5 0.0 0.0 0.0 0 ..\include\qpcpp.hpp 5 0.0 0.0 0.0 0 ..\include\qpcpp.hpp
72 4.3 1.4 34.8 14 ..\include\qpset.hpp 72 4.3 1.4 34.8 14 ..\include\qpset.hpp
312 6.0 1.3 34.0 6 ..\include\qs.hpp 306 7.5 1.5 42.0 4 ..\include\qs.hpp
5 0.0 0.0 0.0 0 ..\include\qstamp.cpp 5 0.0 0.0 0.0 0 ..\include\qstamp.cpp
4 0.0 0.0 0.0 0 ..\include\qstamp.hpp 4 0.0 0.0 0.0 0 ..\include\qstamp.hpp
21 3.0 1.0 19.0 1 ..\include\qs_dummy.hpp 21 3.0 1.0 19.0 1 ..\include\qs_dummy.hpp
@ -215,7 +210,7 @@ NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
109 48.5 9.0 314.5 2 ..\src\qf\qf_ps.cpp 109 48.5 9.0 314.5 2 ..\src\qf\qf_ps.cpp
10 7.0 3.0 47.0 1 ..\src\qf\qf_qact.cpp 10 7.0 3.0 47.0 1 ..\src\qf\qf_qact.cpp
160 29.8 4.0 150.6 5 ..\src\qf\qf_qeq.cpp 160 29.8 4.0 150.6 5 ..\src\qf\qf_qeq.cpp
32 3.7 1.0 27.6 7 ..\src\qf\qf_qmact.cpp 32 4.3 1.0 28.2 6 ..\src\qf\qf_qmact.cpp
233 24.3 3.8 133.4 9 ..\src\qf\qf_time.cpp 233 24.3 3.8 133.4 9 ..\src\qf\qf_time.cpp
184 18.8 4.1 120.7 9 ..\src\qk\qk.cpp 184 18.8 4.1 120.7 9 ..\src\qk\qk.cpp
79 16.2 3.8 98.2 4 ..\src\qv\qv.cpp 79 16.2 3.8 98.2 4 ..\src\qv\qv.cpp
@ -236,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 Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------
4071 16.4 3.0 99.2 180 1 0.01 0.04 4058 16.8 3.1 101.5 175 1 0.01 0.04
@endcode @endcode
*/ */