Skip to content

Commit

Permalink
7.2.2
Browse files Browse the repository at this point in the history
7.2.2

7.2.1

7.2.2

7.2.2

7.2.2

7.2.2

7.2.2
  • Loading branch information
quantum-leaps committed Mar 4, 2023
1 parent 6b7d766 commit 5c7e064
Show file tree
Hide file tree
Showing 219 changed files with 9,341 additions and 2,147 deletions.
2 changes: 1 addition & 1 deletion 3rd_party
Submodule 3rd_party updated 381 files
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
![QP Framework](doxygen/images/qp_banner.jpg)

# What's New?

[![GitHub release (latest by date)](https://img.shields.io/github/v/release/QuantumLeaps/qpcpp)](https://github.com/QuantumLeaps/qpcpp/releases/latest)


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 GitHub,
Expand Down
16 changes: 9 additions & 7 deletions doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = QP/C++
PROJECT_NUMBER = 7.2.1
PROJECT_NUMBER = 7.2.2
PROJECT_BRIEF = "Real-Time Embedded Framework"
PROJECT_LOGO = ../../ql-doxygen/images/logo_ql.png
OUTPUT_DIRECTORY =
Expand Down Expand Up @@ -68,11 +68,11 @@ NUM_PROC_THREADS = 1
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_PRIV_VIRTUAL = NO
EXTRACT_PRIV_VIRTUAL = YES
EXTRACT_PACKAGE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
EXTRACT_LOCAL_METHODS = YES
EXTRACT_ANON_NSPACES = NO
RESOLVE_UNNAMED_PARAMS = YES
HIDE_UNDOC_MEMBERS = NO
Expand All @@ -81,12 +81,12 @@ HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = YES
HIDE_SCOPE_NAMES = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_HEADERFILE = YES
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
FORCE_LOCAL_INCLUDES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
Expand Down Expand Up @@ -124,6 +124,7 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
INPUT = main.dox \
gs.dox \
api.dox \
../../cert-pack/cert-pack.dox \
../../cert-pack/srs.dox \
../../cert-pack/sas.dox \
Expand All @@ -143,7 +144,6 @@ INPUT = main.dox \
ports_arm-cm.dox \
ports_rtos.dox \
ports_os.dox \
api.dox \
../../ql-doxygen/help.dox \
dir.dox \
config.hpp \
Expand All @@ -167,7 +167,9 @@ RECURSIVE = YES
EXCLUDE = ../include/qs_dummy.hpp
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS = QP_IMPL
EXCLUDE_SYMBOLS = QP_IMPL \
Q_DEFINE_THIS_FILE \
Q_DEFINE_THIS_MODULE
EXAMPLE_PATH = gen \
snippets \
../include \
Expand Down
145 changes: 75 additions & 70 deletions doxygen/api.dox
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
/*! @page api API Reference
@nav_next{deprecated}
@ifnot LATEX
@nav{tut_low,deprecated}
@endif

@section api_qep QEP (Hierarchical State Machines)
QEP is a universal, UML-compliant event processor that enables developers to code UML state machines in highly readable ANSI-C, in which every state machine element is mapped to code precisely, unambiguously, and exactly once (traceability). QEP fully supports hierarchical state nesting, which is the fundamental mechanism for reusing behavior across many states instead of repeating the same actions and transitions over and over again.


@subsection api_qep_hsm Hierarchical State Machines
- QHsm class
- QHsm::QHsm()
- QHsm::init()
- QHsm::dispatch()
- QHsm::isIn()
- QHsm::state()
- QHsm::top()
- QMsm class
- QMsm::QMsm()
- QMsm::isInState()
- QMsm::stateObj()
<b>QP::QHsm class</b>
- QP::QHsm::QHsm()
- QP::QHsm::init()
- QP::QHsm::dispatch()
- QP::QHsm::isIn()
- QP::QHsm::state()
- QP::QHsm::top()
- Q_STATE_CAST()

<b>QP::QMsm class (derived from QP::QHsm)</b>
- QP::QMsm::QMsm()
- QP::QMsm::isInState()
- QP::QMsm::stateObj()
- Q_STATE_CAST()


Expand All @@ -25,68 +29,68 @@ QF is a portable, event-driven, real-time framework for execution of active obje


@subsection api_qf_act Active Objects
- QActive class
- QActive::QActive()
- QActive::start()
<b>QP::QActive class</b>
- QP::QActive::QActive()
- QP::QActive::start()
- %QActive:: POST()
- %QActive:: POST_X()
- QActive::postLIFO()
- QActive::defer()
- QActive::recall()
- QActive::flushDeferred()
- QActive::stop()
- QMActive class
- QMActive::QMActive()
- QP::QActive::postLIFO()
- QP::QActive::defer()
- QP::QActive::recall()
- QP::QActive::flushDeferred()
- QP::QActive::stop()

<b>Publish-Subscribe</b>
- QP::QActive::psInit()
- QP::QActive::subscribe()
- QP::QActive::unsubscribe()
- QP::QActive::unsubscribeAll()
- %QActive:: PUBLISH()

@subsection api_qf_ps Publish-Subscribe
- ::QSubscrList (Subscriber List struct)
- QActive::psInit()
- %QF:: PUBLISH()
- QActive::subscribe()
- QActive::unsubscribe()
- QActive::unsubscribeAll()
<b>QP::QMActive class (derived from QP::QActive)</b>
- QP::QMActive::QMActive()


@subsection api_qf_evt Event Management
- QEvt class
<b>QP::QEvt class</b>
- Q_EVT_CAST()
- Q_NEW()
- Q_NEW_X()
- Q_NEW_REF()
- Q_DELETE_REF()
- QF::gc()
- Q_EVT_CAST()
- QP::QF::gc()


@subsection api_qf_time Time Events
- QTimeEvt class
- QTimeEvt::QTimeEvt()
- QTimeEvt::armX()
- QTimeEvt::disarm()
- QTimeEvt::rearm()
- QTimeEvt::currCtr()
- QTicker active object
<b>QP::QTimeEvt class</b>
- QP::QTimeEvt::QTimeEvt()
- QP::QTimeEvt::armX()
- QP::QTimeEvt::disarm()
- QP::QTimeEvt::rearm()
- QP::QTimeEvt::currCtr()

<b>QP::QTicker active object</b>
- %QF:: TICK()
- %QF:: TICK_X()


@subsection api_qf_queue Event Queues (raw thread-safe)
- QEQueue class
- QEQueue::init()
- QEQueue::post()
- QEQueue::postLIFO()
- QEQueue::get()
- QEQueue::getNFree()
- QEQueue::getNMin()
- QEQueue::isEmpty()
- QEQueueCtr()
<b>QP::QEQueue class</b>
- QP::QEQueue::init()
- QP::QEQueue::post()
- QP::QEQueue::postLIFO()
- QP::QEQueue::get()
- QP::QEQueue::getNFree()
- QP::QEQueue::getNMin()
- QP::QEQueue::isEmpty()
- QP::QEQueueCtr()


@subsection api_qf_mem Memory Pools
- QMPool class
- QMPool::init()
- QMPool::get()
- QMPool::put()
<b>QMPool class</b>
- QP::QMPool::init()
- QP::QMPool::get()
- QP::QMPool::put()


@section api_qs QS ("Quantum Spy" Software Tracing)
Expand All @@ -95,20 +99,13 @@ QS is a software tracing system that enables developers to monitor live event-dr

@subsection api_qs_ini QS Initialization and Control
- QS_INIT()
- QS::initBuf()
- QS::getByte()
- QS::getBlock()
- QS::onStartup()
- QS::onCleanup()
- QS::onFlush()
- QS::onGetTime()


@subsection api_qs_rx QS Receive-Channel (QS-RX)
- QS::rxInitBuf()
- QS::rxPut()
- QS::rxParse()
- QS::onCommand()
- QP::QS::initBuf()
- QP::QS::getByte()
- QP::QS::getBlock()
- QP::QS::onStartup()
- QP::QS::onCleanup()
- QP::QS::onFlush()
- QP::QS::onGetTime()


@subsection api_qs_filter QS Filters
Expand All @@ -126,7 +123,7 @@ QS is a software tracing system that enables developers to monitor live event-dr


@subsection api_qs_user QS Application-Specific Records
- ::QS_USER enumeration
- QP::QS_USER enumeration
- QS_BEGIN_ID()
- QS_END()
- QS_U8() / QS_I8()
Expand All @@ -137,6 +134,13 @@ QS is a software tracing system that enables developers to monitor live event-dr
- QS_MEM()


@subsection api_qs_rx QS Receive-Channel (QS-RX)
- QP::QS::rxInitBuf()
- QP::QS::rxPut()
- QP::QS::rxParse()
- QP::QS::onCommand()


@section api_qv QV (Cooperative Kernel)
QV is a simple **cooperative** kernel (previously called "Vanilla" kernel). This kernel executes active objects one at a time, with priority-based scheduling performed before processing of each event. Due to naturally short duration of event processing in state machines, the simple QV kernel is often adequate for many real-time systems.

Expand Down Expand Up @@ -230,13 +234,14 @@ QXK is a small, preemptive, priority-based, dual-mode **blocking** kernel that e
- QMPool::get()
- QMPool::put()

<br>
@nav_next{deprecated}
@ifnot LATEX
@nav{tut_low,deprecated}
@endif
*/
/*##########################################################################*/
/*! @page deprecated Deprecated APIs

__The following QP/C++ APIs are now deprecated:__
<b>The following QP/C++ APIs are now deprecated:</b>
*/

/*##########################################################################*/
Expand Down
8 changes: 0 additions & 8 deletions doxygen/exa_native.dox
Original file line number Diff line number Diff line change
Expand Up @@ -271,10 +271,6 @@ The DPP example is located in the directory <span class="img folder">qpcpp/examp
| | | | | +-Makefile // Makefile for building the project
| | | | +-iar/ // IAR-ARM toolchain
| | | | | +-dpp-qk.eww // IAR EW-ARM workspace
| | | | +-ti/ // TI-ARM toolchain (CCS)
| | | | | +-.ccsproject // CCS project
| | | | | +-.cproject // C Eclipse project
| | | | | +-.project // Eclipse project
| | | | +-bsp.cpp // BSP for the QK kernel
| | | | +-main.cpp // main() for the QK kernel
| | | +-qv/ // QV version
Expand All @@ -293,10 +289,6 @@ The DPP example is located in the directory <span class="img folder">qpcpp/examp
| | | | | +-Makefile // Makefile for building the project
| | | | +-iar/ // IAR-ARM toolchain
| | | | | +-dpp-qk.eww // IAR EW-ARM workspace
| | | | +-ti/ // TI-ARM toolchain (CCS)
| | | | | +-.ccsproject // CCS project
| | | | | +-.cproject // C Eclipse project
| | | | | +-.project // Eclipse project
| | | | +-bsp.cpp // BSP for the QXK kernel
| | | | +-main.cpp // main() for the QXK kernel
| | | | +-test.cpp // extended (blocking) test threads
Expand Down

0 comments on commit 5c7e064

Please sign in to comment.