QL 7 роки тому
батько
коміт
feb55738fe

+ 1 - 1
doxygen/Doxyfile

@@ -5,7 +5,7 @@
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "QP/C"
-PROJECT_NUMBER         = "6.2.0"
+PROJECT_NUMBER         = "6.3.0"
 PROJECT_BRIEF          =
 PROJECT_LOGO           = images/header_logo_ql.png
 OUTPUT_DIRECTORY       =

+ 1 - 1
doxygen/Doxyfile-CHM

@@ -5,7 +5,7 @@
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "QP/C"
-PROJECT_NUMBER         = "6.2.0"
+PROJECT_NUMBER         = "6.3.0"
 PROJECT_BRIEF          =
 PROJECT_LOGO           = images/header_logo_ql.png
 OUTPUT_DIRECTORY       =

+ 1 - 1
doxygen/Doxyfile-DOC

@@ -5,7 +5,7 @@
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "QP/C"
-PROJECT_NUMBER         = "6.2.0"
+PROJECT_NUMBER         = "6.3.0"
 PROJECT_BRIEF          =
 PROJECT_LOGO           = images/header_logo_ql.png
 OUTPUT_DIRECTORY       =

+ 14 - 2
doxygen/history.dox

@@ -1,7 +1,19 @@
 /**
 @page history Revision History
-
-@section qpc_6_2_2 Version 6.2.0, 2018-03-16
+
+@section qpc_6_3_0 Version 6.3.0, 2018-05-10
+The main purpose of this release is fixing the sub-machine support in the QP/Spy build configuration. Specifically, this release fixes the following bug:
+
+- [bug#213 "QP/C/C++ applications with submachines occasionally crash in Spy build configuration"](https://sourceforge.net/p/qpc/bugs/213/)
+
+@attention
+This release matches [QM 4.2.0](https://www.state-machine.com/qm/history.html#qm_4_2_0).
+
+Additionally, the release contains some re-factoring of the QS-RX input channel.
+
+
+------------------------------------------------------------------------------
+@section qpc_6_2_0 Version 6.2.0, 2018-03-16
 The main purpose of this release is extednding the functionality of the [QUTest unit testing](https://www.state-machine.com/qtools/qutest.html) for QP/C applications. Specifically, this release adds support for testing of **self-posting** of events in active objects, which is an essential element in the [Reminder](https://www.state-machine.com/doc/Pattern_Reminder.pdf) and [Deferred Event](https://www.state-machine.com/doc/Pattern_DeferredEvent.pdf) design patterns. To implement this new feature, the QS-RX (QS receive channel) has been extened by a small scheduler that processes all secondary events gnenerated by dispatching, posting, or publishing events (only active when the #Q_UTEST macro is defined). Also, the implementation of the target resident QUTest components (files `src/qs/qutest.c` and `src/qf/qf_actq.c`) have been modified to allow posting of events during unit testing.
 
 Additionally, the release adds standard QS trace records (the `qs.h` header file) for event deferring and recalling (::QS_QF_ACTIVE_DEFER and ::QS_QF_ACTIVE_RECALL) as well as recall-attempt (::QS_QF_ACTIVE_RECALL_ATTEMPT). Also standard QS trace records have been added for creating/deleting new event references (::QS_QF_NEW_REF and ::QS_QF_DELETE_REF, respectively). To make room for these new records, the following rarely-used records have been removed: QS_QF_ACTIVE_ADD, QS_QF_ACTIVE_REMOVE, QS_QF_EQUEUE_INIT, and QS_QF_MPOOL_INIT. The global filter settings in the QS_filterOn() and QS_filterOff() functions have been updated to the re-organized QS trace records.

+ 3 - 3
doxygen/make.bat

@@ -1,8 +1,8 @@
 @echo off
 :: ==========================================================================
 :: Product: QP/C script for generating Doxygen documentation
-:: Last Updated for Version: 6.2.0
-:: Date of the Last Update:  2018-03-10
+:: Last Updated for Version: 6.3.0
+:: Date of the Last Update:  2018-05-03
 ::
 ::                    Q u a n t u m     L e a P s
 ::                    ---------------------------
@@ -38,7 +38,7 @@ echo usage:
 echo make
 echo make -CHM
 
-set VERSION=6.2.0
+set VERSION=6.3.0
 
 :: Generate Resource Standard Metrics for QP/C ............................... 
 set DOXHOME="C:\tools\doxygen\bin"

+ 2293 - 2293
doxygen/metrics.dox

@@ -1,2293 +1,2293 @@
-/** @page metrics Code Metrics
-
-@code
-                   Standard Code Metrics for QP/C 6.2.0
-
-           Resource Standard Metrics (TM) for C, C++, C# and Java
-                   Version 7.75 - mSquaredTechnologies.com
-
-  License Type: Windows Single User License
-  Licensed To : Quantum Leaps, LLC
-  License No. : WS2975                          License Date: Dec 15, 2013
-  Build Date  : Sep  2 2009                         Run Date: Apr 09, 2018
-  (C)1996-2009 M Squared Technologies LLC
-  ________________________________________________________________________
-
-                           ~~ Function Metrics ~~
-                      ~~ Complexity Detail Analysis ~~
-
-  File: ..\include\qassert.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 49       eLOC 48       lLOC 3        Comment 240      Lines      310
-  ________________________________________________________________________
-  End of File: ..\include\qassert.h
-
-
-  File: ..\include\qep.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 156      eLOC 152      lLOC 56       Comment 405      Lines      616
-  ________________________________________________________________________
-  End of File: ..\include\qep.h
-
-
-  File: ..\include\qequeue.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 33       eLOC 33       lLOC 15       Comment 180      Lines      233
-  ________________________________________________________________________
-  End of File: ..\include\qequeue.h
-
-
-  File: ..\include\qf.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 196      eLOC 196      lLOC 78       Comment 543      Lines      844
-  ________________________________________________________________________
-  End of File: ..\include\qf.h
-
-
-  File: ..\include\qk.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 62       eLOC 62       lLOC 22       Comment 130      Lines      209
-  ________________________________________________________________________
-  End of File: ..\include\qk.h
-
-
-  File: ..\include\qmpool.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 42       eLOC 42       lLOC 18       Comment 109      Lines      169
-  ________________________________________________________________________
-  End of File: ..\include\qmpool.h
-
-
-  File: ..\include\qpc.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 66       eLOC 65       lLOC 8        Comment 125      Lines      224
-  ________________________________________________________________________
-  End of File: ..\include\qpc.h
-
-
-  File: ..\include\qpset.h
-  ________________________________________________________________________
-
-  Inline Function: QF_LOG2
-  Parameters: (uint32_t x)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 3
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 25       eLOC 20       lLOC 12       Comment 7        Lines       26
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 97       eLOC 92       lLOC 23       Comment 91       Lines      211
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          1
-  Total Function LOC.....:         25  Total Function Pts LOC :        0.0
-  Total Function eLOC....:         20  Total Function Pts eLOC:        0.0
-  Total Function lLOC....:         12  Total Function Pts lLOC:        0.0
-  Total Function Params .:          1  Total Function Return .:          1
-  Total Cyclo Complexity :          4  Total Function Complex.:          6
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         25  Average Function LOC ..:      25.00
-  Max Function eLOC .....:         20  Average Function eLOC .:      20.00
-  Max Function lLOC .....:         12  Average Function lLOC .:      12.00
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          1  Avg Function Parameters:       1.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          2  Avg Interface Complex. :       2.00
-  Max Cyclomatic Complex.:          4  Avg Cyclomatic Complex.:       4.00
-  Max Total Complexity ..:          6  Avg Total Complexity ..:       6.00
-  ________________________________________________________________________
-  End of File: ..\include\qpset.h
-
-
-  File: ..\include\qs.h
-  ________________________________________________________________________
-
-
-    NOTICE: The end of the source file has been reached where the
-            open brace count { 28 != 26 } close brace count
-            This is an indication of non-compilable code within the source
-            file.  RSM processes all source code including code wrapped
-            with preprocessor directives.  Accurate metrics requires that
-            all code present in this file must be compilable.
-                          ~~ Total File Summary ~~
-
-  LOC 500      eLOC 492      lLOC 122      Comment 718      Lines     1232
-  ________________________________________________________________________
-  End of File: ..\include\qs.h
-
-
-  File: ..\include\qs_dummy.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 72       eLOC 72       lLOC 0        Comment 43       Lines      124
-  ________________________________________________________________________
-  End of File: ..\include\qs_dummy.h
-
-
-  File: ..\include\qv.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 25       eLOC 25       lLOC 2        Comment 80       Lines      111
-  ________________________________________________________________________
-  End of File: ..\include\qv.h
-
-
-  File: ..\include\qxk.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 67       eLOC 67       lLOC 25       Comment 139      Lines      221
-  ________________________________________________________________________
-  End of File: ..\include\qxk.h
-
-
-  File: ..\include\qxthread.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 44       eLOC 44       lLOC 26       Comment 206      Lines      269
-  ________________________________________________________________________
-  End of File: ..\include\qxthread.h
-
-
-  File: ..\include\stdint_c.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 33       eLOC 33       lLOC 0        Comment 44       Lines       87
-  ________________________________________________________________________
-  End of File: ..\include\stdint_c.h
-
-
-  File: ..\src\qf_pkg.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 63       eLOC 63       lLOC 8        Comment 120      Lines      206
-  ________________________________________________________________________
-  End of File: ..\src\qf_pkg.h
-
-
-  File: ..\src\qs_pkg.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 25       eLOC 23       lLOC 6        Comment 59       Lines       93
-  ________________________________________________________________________
-  End of File: ..\src\qs_pkg.h
-
-
-  File: ..\src\qxk_pkg.h
-  ________________________________________________________________________
-
-                          ~~ Total File Summary ~~
-
-  LOC 19       eLOC 18       lLOC 8        Comment 49       Lines       77
-  ________________________________________________________________________
-  End of File: ..\src\qxk_pkg.h
-
-
-  File: ..\src\qf\qep_hsm.c
-  ________________________________________________________________________
-
-  Function: QHsm_ctor
-  Parameters: (QHsm * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 9        eLOC 7        lLOC 4        Comment 21       Lines        9
-
-  Function: QHsm_init_
-  Parameters: (QHsm * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 3
-      Conditional if / else if: 1
-      Logical and ( && )      : 2
-  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
-  LOC 50       eLOC 47       lLOC 31       Comment 35       Lines       70
-
-  Function: QHsm_top
-  Parameters: (void const * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 18       Lines        5
-
-  Function: QHsm_dispatch_
-  Parameters: (QHsm * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 4
-      Loops for / foreach     : 2
-      Conditional if / else if: 5
-      Logical and ( && )      : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 13      Total       16
-  LOC 106      eLOC 95       lLOC 62       Comment 67       Lines      147
-
-  Function: QHsm_tran_
-  Parameters: (QHsm * const me, QStateHandler path[QHSM_MAX_NEST_DEPTH_])
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 4
-      Conditional if / else if: 10
-  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
-  LOC 97       eLOC 76       lLOC 48       Comment 63       Lines      134
-
-  Function: QHsm_isIn
-  Parameters: (QHsm * const me, QStateHandler const state)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Conditional if / else if: 1
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 16       eLOC 13       lLOC 9        Comment 22       Lines       21
-
-  Function: QHsm_childState_
-  Parameters: (QHsm * const me, QStateHandler const parent)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Conditional if / else if: 1
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 19       eLOC 15       lLOC 12       Comment 33       Lines       25
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 346      eLOC 299      lLOC 177      Comment 322      Lines      634
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          7
-  Total Function LOC.....:        302  Total Function Pts LOC :        2.7
-  Total Function eLOC....:        257  Total Function Pts eLOC:        2.3
-  Total Function lLOC....:        169  Total Function Pts lLOC:        1.4
-  Total Function Params .:         14  Total Function Return .:          7
-  Total Cyclo Complexity :         43  Total Function Complex.:         64
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:        106  Average Function LOC ..:      43.14
-  Max Function eLOC .....:         95  Average Function eLOC .:      36.71
-  Max Function lLOC .....:         62  Average Function lLOC .:      24.14
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          2  Avg Function Parameters:       2.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          3  Avg Interface Complex. :       3.00
-  Max Cyclomatic Complex.:         15  Avg Cyclomatic Complex.:       6.14
-  Max Total Complexity ..:         18  Avg Total Complexity ..:       9.14
-  ________________________________________________________________________
-  End of File: ..\src\qf\qep_hsm.c
-
-
-  File: ..\src\qf\qep_msm.c
-  ________________________________________________________________________
-
-  Function: QMsm_ctor
-  Parameters: (QMsm * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 9        eLOC 7        lLOC 4        Comment 29       Lines       10
-
-  Function: QMsm_init_
-  Parameters: (QMsm * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Logical and ( && )      : 2
-  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
-  LOC 23       eLOC 22       lLOC 13       Comment 26       Lines       37
-
-  Function: QMsm_dispatch_
-  Parameters: (QMsm * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 2
-      Conditional if / else if: 12
-  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
-  LOC 112      eLOC 95       lLOC 61       Comment 75       Lines      152
-
-  Function: QMsm_execTatbl_
-  Parameters: (QMsm * const me, QMTranActTable const *tatbl)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 5
-      Inlined if-else ( ? : ) : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 8       Total       11
-  LOC 50       eLOC 42       lLOC 20       Comment 32       Lines       60
-
-  Function: QMsm_exitToTranSource_
-  Parameters: (QMsm * const me, QMState const *s, QMState const *ts)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Conditional if / else if: 2
-  Complexity   Param 3       Return 1      Cyclo Vg 4       Total        8
-  LOC 17       eLOC 12       lLOC 6        Comment 20       Lines       23
-
-  Function: QMsm_enterHistory_
-  Parameters: (QMsm * const me, QMState const *const hist)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 2
-      Conditional if / else if: 3
-  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
-  LOC 40       eLOC 33       lLOC 21       Comment 25       Lines       48
-
-  Function: QMsm_isInState
-  Parameters: (QMsm const * const me, QMState const * const state)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 1
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 11       eLOC 8        lLOC 6        Comment 17       Lines       12
-
-  Function: QMsm_childStateObj_
-  Parameters: (QMsm const * const me, QMState const * const parent)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 1
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 19       eLOC 13       lLOC 9        Comment 22       Lines       23
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 309      eLOC 258      lLOC 145      Comment 305      Lines      583
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          8
-  Total Function LOC.....:        281  Total Function Pts LOC :        2.4
-  Total Function eLOC....:        232  Total Function Pts eLOC:        2.0
-  Total Function lLOC....:        140  Total Function Pts lLOC:        1.1
-  Total Function Params .:         17  Total Function Return .:          8
-  Total Cyclo Complexity :         44  Total Function Complex.:         69
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:        112  Average Function LOC ..:      35.13
-  Max Function eLOC .....:         95  Average Function eLOC .:      29.00
-  Max Function lLOC .....:         61  Average Function lLOC .:      17.50
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          3  Avg Function Parameters:       2.13
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          4  Avg Interface Complex. :       3.13
-  Max Cyclomatic Complex.:         15  Avg Cyclomatic Complex.:       5.50
-  Max Total Complexity ..:         18  Avg Total Complexity ..:       8.63
-  ________________________________________________________________________
-  End of File: ..\src\qf\qep_msm.c
-
-
-  File: ..\src\qf\qf_act.c
-  ________________________________________________________________________
-
-  Function: QF_add_
-  Parameters: (QActive * const a)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 2
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 10       eLOC 9        lLOC 5        Comment 20       Lines       17
-
-  Function: QF_remove_
-  Parameters: (QActive * const a)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 2
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 11       eLOC 10       lLOC 6        Comment 21       Lines       18
-
-  Function: QF_bzero
-  Parameters: (void * const start, uint_fast16_t len)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 8        eLOC 6        lLOC 4        Comment 14       Lines        8
-
-  Function: QF_LOG2
-  Parameters: (uint32_t x)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 3
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 25       eLOC 20       lLOC 12       Comment 1        Lines       26
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 71       eLOC 62       lLOC 28       Comment 119      Lines      195
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          4
-  Total Function LOC.....:         54  Total Function Pts LOC :        0.6
-  Total Function eLOC....:         45  Total Function Pts eLOC:        0.5
-  Total Function lLOC....:         27  Total Function Pts lLOC:        0.2
-  Total Function Params .:          5  Total Function Return .:          4
-  Total Cyclo Complexity :         12  Total Function Complex.:         21
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         25  Average Function LOC ..:      13.50
-  Max Function eLOC .....:         20  Average Function eLOC .:      11.25
-  Max Function lLOC .....:         12  Average Function lLOC .:       6.75
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          2  Avg Function Parameters:       1.25
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          3  Avg Interface Complex. :       2.25
-  Max Cyclomatic Complex.:          4  Avg Cyclomatic Complex.:       3.00
-  Max Total Complexity ..:          6  Avg Total Complexity ..:       5.25
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_act.c
-
-
-  File: ..\src\qf\qf_actq.c
-  ________________________________________________________________________
-
-  Function: QActive_post_
-  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 9
-      Logical or ( || )       : 3
-      Logical and ( && )      : 1
-  Complexity   Param 3       Return 1      Cyclo Vg 14      Total       18
-  LOC 85       eLOC 68       lLOC 38       Comment 75       Lines      110
-
-  Function: QActive_postLIFO_
-  Parameters: (QActive * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 4
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 41       eLOC 34       lLOC 23       Comment 41       Lines       56
-
-  Function: QActive_get_
-  Parameters: (QActive * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 37       eLOC 33       lLOC 23       Comment 41       Lines       47
-
-  Function: QF_getQueueMin
-  Parameters: (uint_fast8_t const prio)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 10       eLOC 9        lLOC 6        Comment 19       Lines       13
-
-  Function: QTicker_ctor
-  Parameters: (QTicker * const me, uint8_t tickRate)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 12       eLOC 10       lLOC 4        Comment 6        Lines       14
-
-  Function: QTicker_init_
-  Parameters: (QHsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
-
-  Function: QTicker_dispatch_
-  Parameters: (QHsm * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 12       eLOC 10       lLOC 8        Comment 4        Lines       15
-
-  Function: QTicker_post_
-  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
-  LOC 24       eLOC 21       lLOC 17       Comment 15       Lines       32
-
-  Function: QTicker_postLIFO_
-  Parameters: (QActive * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 267      eLOC 229      lLOC 130      Comment 265      Lines      495
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          9
-  Total Function LOC.....:        231  Total Function Pts LOC :        2.1
-  Total Function eLOC....:        193  Total Function Pts eLOC:        1.8
-  Total Function lLOC....:        125  Total Function Pts lLOC:        1.0
-  Total Function Params .:         18  Total Function Return .:          9
-  Total Cyclo Complexity :         31  Total Function Complex.:         58
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         85  Average Function LOC ..:      25.67
-  Max Function eLOC .....:         68  Average Function eLOC .:      21.44
-  Max Function lLOC .....:         38  Average Function lLOC .:      13.89
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          3  Avg Function Parameters:       2.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          4  Avg Interface Complex. :       3.00
-  Max Cyclomatic Complex.:         14  Avg Cyclomatic Complex.:       3.44
-  Max Total Complexity ..:         18  Avg Total Complexity ..:       6.44
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_actq.c
-
-
-  File: ..\src\qf\qf_defer.c
-  ________________________________________________________________________
-
-  Function: QActive_defer
-  Parameters: (QActive const * const me, QEQueue * const eq, QEvt const *
-              const e)
-  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
-  LOC 13       eLOC 11       lLOC 8        Comment 31       Lines       16
-
-  Function: QActive_recall
-  Parameters: (QActive * const me, QEQueue * const eq)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 32       eLOC 28       lLOC 18       Comment 43       Lines       52
-
-  Function: QActive_flushDeferred
-  Parameters: (QActive const * const me, QEQueue * const eq)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 10       eLOC 7        lLOC 7        Comment 19       Lines       12
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 69       eLOC 60       lLOC 33       Comment 140      Lines      201
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          3
-  Total Function LOC.....:         55  Total Function Pts LOC :        0.5
-  Total Function eLOC....:         46  Total Function Pts eLOC:        0.5
-  Total Function lLOC....:         33  Total Function Pts lLOC:        0.3
-  Total Function Params .:          7  Total Function Return .:          3
-  Total Cyclo Complexity :          6  Total Function Complex.:         16
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         32  Average Function LOC ..:      18.33
-  Max Function eLOC .....:         28  Average Function eLOC .:      15.33
-  Max Function lLOC .....:         18  Average Function lLOC .:      11.00
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          3  Avg Function Parameters:       2.33
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          4  Avg Interface Complex. :       3.33
-  Max Cyclomatic Complex.:          3  Avg Cyclomatic Complex.:       2.00
-  Max Total Complexity ..:          6  Avg Total Complexity ..:       5.33
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_defer.c
-
-
-  File: ..\src\qf\qf_dyn.c
-  ________________________________________________________________________
-
-  Function: QEvt_ctor
-  Parameters: (QEvt * const me, enum_t const sig)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        6
-
-  Function: QF_poolInit
-  Parameters: (void * const poolSto, uint_fast32_t const poolSize, uint_fa
-              st16_t const evtSize)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical or ( || )       : 1
-  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
-  LOC 8        eLOC 6        lLOC 4        Comment 38       Lines       12
-
-  Function: QF_newX_
-  Parameters: (uint_fast16_t const evtSize, uint_fast16_t const margin, en
-              um_t const sig)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 2
-      Inlined if-else ( ? : ) : 1
-  Complexity   Param 3       Return 1      Cyclo Vg 5       Total        9
-  LOC 29       eLOC 23       lLOC 14       Comment 40       Lines       39
-
-  Function: QF_gc
-  Parameters: (QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 26       eLOC 22       lLOC 13       Comment 36       Lines       40
-
-  Function: QF_newRef_
-  Parameters: (QEvt const * const e, void const * const evtRef)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 15       eLOC 14       lLOC 8        Comment 21       Lines       23
-
-  Function: QF_deleteRef_
-  Parameters: (void const * const evtRef)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 10       eLOC 9        lLOC 5        Comment 14       Lines       12
-
-  Function: QF_poolGetMaxBlockSize
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 5        Lines        3
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 114      eLOC 98       lLOC 50       Comment 216      Lines      331
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          7
-  Total Function LOC.....:         96  Total Function Pts LOC :        0.9
-  Total Function eLOC....:         80  Total Function Pts eLOC:        0.8
-  Total Function lLOC....:         48  Total Function Pts lLOC:        0.4
-  Total Function Params .:         12  Total Function Return .:          7
-  Total Cyclo Complexity :         15  Total Function Complex.:         34
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         29  Average Function LOC ..:      13.71
-  Max Function eLOC .....:         23  Average Function eLOC .:      11.43
-  Max Function lLOC .....:         14  Average Function lLOC .:       6.86
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          3  Avg Function Parameters:       1.71
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          4  Avg Interface Complex. :       2.71
-  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       2.14
-  Max Total Complexity ..:          9  Avg Total Complexity ..:       4.86
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_dyn.c
-
-
-  File: ..\src\qf\qf_mem.c
-  ________________________________________________________________________
-
-  Function: QMPool_init
-  Parameters: (QMPool * const me, void * const poolSto, uint_fast32_t pool
-              Size, uint_fast16_t blockSize)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 2
-      Logical and ( && )      : 2
-  Complexity   Param 4       Return 1      Cyclo Vg 5       Total       10
-  LOC 31       eLOC 27       lLOC 22       Comment 59       Lines       46
-
-  Function: QMPool_put
-  Parameters: (QMPool * const me, void *b)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 15       eLOC 14       lLOC 9        Comment 31       Lines       22
-
-  Function: QMPool_get
-  Parameters: (QMPool * const me, uint_fast16_t const margin)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 3
-  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
-  LOC 42       eLOC 36       lLOC 23       Comment 56       Lines       65
-
-  Function: QF_getPoolMin
-  Parameters: (uint_fast8_t const poolId)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 10       eLOC 9        lLOC 6        Comment 14       Lines       14
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 110      eLOC 98       lLOC 60       Comment 207      Lines      304
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          4
-  Total Function LOC.....:         98  Total Function Pts LOC :        0.9
-  Total Function eLOC....:         86  Total Function Pts eLOC:        0.8
-  Total Function lLOC....:         60  Total Function Pts lLOC:        0.5
-  Total Function Params .:          9  Total Function Return .:          4
-  Total Cyclo Complexity :         13  Total Function Complex.:         26
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         42  Average Function LOC ..:      24.50
-  Max Function eLOC .....:         36  Average Function eLOC .:      21.50
-  Max Function lLOC .....:         23  Average Function lLOC .:      15.00
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          4  Avg Function Parameters:       2.25
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          5  Avg Interface Complex. :       3.25
-  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       3.25
-  Max Total Complexity ..:         10  Avg Total Complexity ..:       6.50
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_mem.c
-
-
-  File: ..\src\qf\qf_ps.c
-  ________________________________________________________________________
-
-  Function: QF_psInit
-  Parameters: (QSubscrList * const subscrSto, enum_t const maxSignal)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 7        eLOC 6        lLOC 3        Comment 33       Lines       12
-
-  Function: QF_publish_
-  Parameters: (QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Conditional if / else if: 3
-  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
-  LOC 36       eLOC 30       lLOC 21       Comment 50       Lines       63
-
-  Function: QActive_subscribe
-  Parameters: (QActive const * const me, enum_t const sig)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 4
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 16       eLOC 15       lLOC 8        Comment 23       Lines       22
-
-  Function: QActive_unsubscribe
-  Parameters: (QActive const * const me, enum_t const sig)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 4
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 16       eLOC 15       lLOC 8        Comment 32       Lines       25
-
-  Function: QActive_unsubscribeAll
-  Parameters: (QActive const * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 2
-  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
-  LOC 23       eLOC 19       lLOC 10       Comment 26       Lines       26
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 115      eLOC 102      lLOC 52       Comment 212      Lines      330
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          5
-  Total Function LOC.....:         98  Total Function Pts LOC :        0.9
-  Total Function eLOC....:         85  Total Function Pts eLOC:        0.8
-  Total Function lLOC....:         50  Total Function Pts lLOC:        0.4
-  Total Function Params .:          8  Total Function Return .:          5
-  Total Cyclo Complexity :         21  Total Function Complex.:         34
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         36  Average Function LOC ..:      19.60
-  Max Function eLOC .....:         30  Average Function eLOC .:      17.00
-  Max Function lLOC .....:         21  Average Function lLOC .:      10.00
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          2  Avg Function Parameters:       1.60
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          3  Avg Interface Complex. :       2.60
-  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       4.20
-  Max Total Complexity ..:          8  Avg Total Complexity ..:       6.80
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_ps.c
-
-
-  File: ..\src\qf\qf_qact.c
-  ________________________________________________________________________
-
-  Function: QActive_ctor
-  Parameters: (QActive * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 12       eLOC 10       lLOC 4        Comment 19       Lines       17
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 14       eLOC 12       lLOC 4        Comment 69       Lines       82
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          1
-  Total Function LOC.....:         12  Total Function Pts LOC :        0.1
-  Total Function eLOC....:         10  Total Function Pts eLOC:        0.1
-  Total Function lLOC....:          4  Total Function Pts lLOC:        0.0
-  Total Function Params .:          2  Total Function Return .:          1
-  Total Cyclo Complexity :          1  Total Function Complex.:          4
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         12  Average Function LOC ..:      12.00
-  Max Function eLOC .....:         10  Average Function eLOC .:      10.00
-  Max Function lLOC .....:          4  Average Function lLOC .:       4.00
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          2  Avg Function Parameters:       2.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          3  Avg Interface Complex. :       3.00
-  Max Cyclomatic Complex.:          1  Avg Cyclomatic Complex.:       1.00
-  Max Total Complexity ..:          4  Avg Total Complexity ..:       4.00
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_qact.c
-
-
-  File: ..\src\qf\qf_qeq.c
-  ________________________________________________________________________
-
-  Function: QEQueue_init
-  Parameters: (QEQueue * const me, QEvt const *qSto[], uint_fast16_t const
-               qLen)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
-  LOC 11       eLOC 8        lLOC 7        Comment 21       Lines       11
-
-  Function: QEQueue_post
-  Parameters: (QEQueue * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 5
-      Logical or ( || )       : 1
-      Logical and ( && )      : 1
-  Complexity   Param 3       Return 1      Cyclo Vg 8       Total       12
-  LOC 55       eLOC 45       lLOC 30       Comment 56       Lines       74
-
-  Function: QEQueue_postLIFO
-  Parameters: (QEQueue * const me, QEvt const * const e)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 4
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 34       eLOC 29       lLOC 21       Comment 44       Lines       44
-
-  Function: QEQueue_get
-  Parameters: (QEQueue * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 3
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 37       eLOC 32       lLOC 21       Comment 38       Lines       47
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 151      eLOC 128      lLOC 79       Comment 210      Lines      325
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          4
-  Total Function LOC.....:        137  Total Function Pts LOC :        1.2
-  Total Function eLOC....:        114  Total Function Pts eLOC:        1.0
-  Total Function lLOC....:         79  Total Function Pts lLOC:        0.6
-  Total Function Params .:          9  Total Function Return .:          4
-  Total Cyclo Complexity :         19  Total Function Complex.:         32
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         55  Average Function LOC ..:      34.25
-  Max Function eLOC .....:         45  Average Function eLOC .:      28.50
-  Max Function lLOC .....:         30  Average Function lLOC .:      19.75
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          3  Avg Function Parameters:       2.25
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          4  Avg Interface Complex. :       3.25
-  Max Cyclomatic Complex.:          8  Avg Cyclomatic Complex.:       4.75
-  Max Total Complexity ..:         12  Avg Total Complexity ..:       8.00
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_qeq.c
-
-
-  File: ..\src\qf\qf_qmact.c
-  ________________________________________________________________________
-
-  Function: QMActive_ctor
-  Parameters: (QMActive * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 12       eLOC 10       lLOC 4        Comment 28       Lines       28
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 15       eLOC 13       lLOC 4        Comment 79       Lines       95
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          1
-  Total Function LOC.....:         12  Total Function Pts LOC :        0.1
-  Total Function eLOC....:         10  Total Function Pts eLOC:        0.1
-  Total Function lLOC....:          4  Total Function Pts lLOC:        0.0
-  Total Function Params .:          2  Total Function Return .:          1
-  Total Cyclo Complexity :          1  Total Function Complex.:          4
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         12  Average Function LOC ..:      12.00
-  Max Function eLOC .....:         10  Average Function eLOC .:      10.00
-  Max Function lLOC .....:          4  Average Function lLOC .:       4.00
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          2  Avg Function Parameters:       2.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          3  Avg Interface Complex. :       3.00
-  Max Cyclomatic Complex.:          1  Avg Cyclomatic Complex.:       1.00
-  Max Total Complexity ..:          4  Avg Total Complexity ..:       4.00
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_qmact.c
-
-
-  File: ..\src\qf\qf_time.c
-  ________________________________________________________________________
-
-  Function: QF_tickX_
-  Parameters: (uint_fast8_t const tickRate)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 5
-  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
-  LOC 66       eLOC 54       lLOC 36       Comment 56       Lines       94
-
-  Function: QF_noTimeEvtsActiveX
-  Parameters: (uint_fast8_t const tickRate)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 14       eLOC 10       lLOC 6        Comment 15       Lines       17
-
-  Function: QTimeEvt_ctorX
-  Parameters: (QTimeEvt * const me, QActive * const act, enum_t const sig,
-               uint_fast8_t tickRate)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 1
-  Complexity   Param 4       Return 1      Cyclo Vg 2       Total        7
-  LOC 11       eLOC 9        lLOC 8        Comment 32       Lines       31
-
-  Function: QTimeEvt_armX
-  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks, QTimeEvtCtr
-              const interval)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 4
-  Complexity   Param 3       Return 1      Cyclo Vg 6       Total       10
-  LOC 28       eLOC 25       lLOC 16       Comment 51       Lines       50
-
-  Function: QTimeEvt_disarm
-  Parameters: (QTimeEvt * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 29       eLOC 26       lLOC 17       Comment 32       Lines       37
-
-  Function: QTimeEvt_rearm
-  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-      Inlined if-else ( ? : ) : 1
-      Logical and ( && )      : 3
-  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
-  LOC 34       eLOC 30       lLOC 18       Comment 47       Lines       60
-
-  Function: QTimeEvt_ctr
-  Parameters: (QTimeEvt const * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 8        eLOC 7        lLOC 5        Comment 16       Lines       10
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 210      eLOC 181      lLOC 107      Comment 309      Lines      517
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          7
-  Total Function LOC.....:        190  Total Function Pts LOC :        1.6
-  Total Function eLOC....:        161  Total Function Pts eLOC:        1.4
-  Total Function lLOC....:        106  Total Function Pts lLOC:        0.8
-  Total Function Params .:         13  Total Function Return .:          7
-  Total Cyclo Complexity :         28  Total Function Complex.:         48
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         66  Average Function LOC ..:      27.14
-  Max Function eLOC .....:         54  Average Function eLOC .:      23.00
-  Max Function lLOC .....:         36  Average Function lLOC .:      15.14
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          4  Avg Function Parameters:       1.86
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          5  Avg Interface Complex. :       2.86
-  Max Cyclomatic Complex.:          7  Avg Cyclomatic Complex.:       4.00
-  Max Total Complexity ..:         10  Avg Total Complexity ..:       6.86
-  ________________________________________________________________________
-  End of File: ..\src\qf\qf_time.c
-
-
-  File: ..\src\qv\qv.c
-  ________________________________________________________________________
-
-  Function: QF_init
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 11       eLOC 10       lLOC 7        Comment 12       Lines       13
-
-  Function: QF_stop
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
-
-  Function: QF_run
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-      Conditional if / else if: 3
-  Complexity   Param 0       Return 1      Cyclo Vg 5       Total        6
-  LOC 48       eLOC 42       lLOC 24       Comment 37       Lines       75
-
-  Function: QActive_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 2
-  Complexity   Param 7       Return 1      Cyclo Vg 3       Total       11
-  LOC 11       eLOC 9        lLOC 7        Comment 31       Lines       17
-
-  Function: QActive_stop
-  Parameters: (QActive * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 7        eLOC 6        lLOC 4        Comment 13       Lines       10
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 98       eLOC 87       lLOC 44       Comment 159      Lines      252
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          5
-  Total Function LOC.....:         80  Total Function Pts LOC :        0.8
-  Total Function eLOC....:         69  Total Function Pts eLOC:        0.7
-  Total Function lLOC....:         43  Total Function Pts lLOC:        0.3
-  Total Function Params .:          8  Total Function Return .:          5
-  Total Cyclo Complexity :         11  Total Function Complex.:         24
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         48  Average Function LOC ..:      16.00
-  Max Function eLOC .....:         42  Average Function eLOC .:      13.80
-  Max Function lLOC .....:         24  Average Function lLOC .:       8.60
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          7  Avg Function Parameters:       1.60
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          8  Avg Interface Complex. :       2.60
-  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       2.20
-  Max Total Complexity ..:         11  Avg Total Complexity ..:       4.80
-  ________________________________________________________________________
-  End of File: ..\src\qv\qv.c
-
-
-  File: ..\src\qk\qk.c
-  ________________________________________________________________________
-
-  Function: QF_init
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 13       eLOC 12       lLOC 9        Comment 14       Lines       16
-
-  Function: QF_stop
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
-
-  Function: initial_events
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
-
-  Function: QF_run
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 12       eLOC 10       lLOC 7        Comment 13       Lines       14
-
-  Function: QActive_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 3
-  Complexity   Param 7       Return 1      Cyclo Vg 5       Total       13
-  LOC 18       eLOC 15       lLOC 10       Comment 34       Lines       29
-
-  Function: QActive_stop
-  Parameters: (QActive * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
-
-  Function: QK_schedLock
-  Parameters: (uint_fast8_t ceiling)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 22       eLOC 19       lLOC 12       Comment 32       Lines       33
-
-  Function: QK_schedUnlock
-  Parameters: (QSchedStatus stat)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-      Logical and ( && )      : 1
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 21       eLOC 18       lLOC 10       Comment 28       Lines       33
-
-  Function: QK_sched_
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-  Complexity   Param 0       Return 1      Cyclo Vg 3       Total        4
-  LOC 15       eLOC 11       lLOC 7        Comment 21       Lines       19
-
-  Function: QK_activate_
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Conditional if / else if: 5
-      Inlined if-else ( ? : ) : 1
-      Logical or ( || )       : 3
-  Complexity   Param 0       Return 1      Cyclo Vg 11      Total       12
-  LOC 69       eLOC 61       lLOC 32       Comment 53       Lines      101
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 209      eLOC 180      lLOC 98       Comment 279      Lines      475
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:         10
-  Total Function LOC.....:        190  Total Function Pts LOC :        1.6
-  Total Function eLOC....:        161  Total Function Pts eLOC:        1.4
-  Total Function lLOC....:         96  Total Function Pts lLOC:        0.8
-  Total Function Params .:         10  Total Function Return .:         10
-  Total Cyclo Complexity :         33  Total Function Complex.:         53
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         69  Average Function LOC ..:      19.00
-  Max Function eLOC .....:         61  Average Function eLOC .:      16.10
-  Max Function lLOC .....:         32  Average Function lLOC .:       9.60
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          7  Avg Function Parameters:       1.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          8  Avg Interface Complex. :       2.00
-  Max Cyclomatic Complex.:         11  Avg Cyclomatic Complex.:       3.30
-  Max Total Complexity ..:         13  Avg Total Complexity ..:       5.30
-  ________________________________________________________________________
-  End of File: ..\src\qk\qk.c
-
-
-  File: ..\src\qxk\qxk.c
-  ________________________________________________________________________
-
-  Function: QF_init
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 17       eLOC 16       lLOC 13       Comment 17       Lines       23
-
-  Function: QF_stop
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
-
-  Function: initial_events
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
-
-  Function: QF_run
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops for / foreach     : 1
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 12       eLOC 10       lLOC 7        Comment 12       Lines       15
-
-  Function: QActive_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 4
-  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
-  LOC 20       eLOC 17       lLOC 11       Comment 38       Lines       31
-
-  Function: QActive_stop
-  Parameters: (QActive * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
-
-  Function: QXK_schedLock
-  Parameters: (uint_fast8_t ceiling)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Inlined if-else ( ? : ) : 1
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 25       eLOC 22       lLOC 12       Comment 40       Lines       35
-
-  Function: QXK_schedUnlock
-  Parameters: (QSchedStatus stat)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-      Logical and ( && )      : 1
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 21       eLOC 18       lLOC 10       Comment 33       Lines       33
-
-  Function: QXK_sched_
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 5
-      Logical or ( || )       : 1
-  Complexity   Param 0       Return 1      Cyclo Vg 7       Total        8
-  LOC 52       eLOC 42       lLOC 23       Comment 36       Lines       68
-
-  Function: QXK_activate_
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Loops while / do        : 1
-      Conditional if / else if: 6
-      Inlined if-else ( ? : ) : 1
-      Logical or ( || )       : 4
-  Complexity   Param 0       Return 1      Cyclo Vg 13      Total       14
-  LOC 88       eLOC 78       lLOC 42       Comment 64       Lines      130
-
-  Function: QXK_current
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 13       eLOC 11       lLOC 8        Comment 4        Lines       20
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 288      eLOC 249      lLOC 138      Comment 329      Lines      602
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:         11
-  Total Function LOC.....:        268  Total Function Pts LOC :        2.3
-  Total Function eLOC....:        229  Total Function Pts eLOC:        1.9
-  Total Function lLOC....:        135  Total Function Pts lLOC:        1.1
-  Total Function Params .:         10  Total Function Return .:         11
-  Total Cyclo Complexity :         43  Total Function Complex.:         64
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         88  Average Function LOC ..:      24.36
-  Max Function eLOC .....:         78  Average Function eLOC .:      20.82
-  Max Function lLOC .....:         42  Average Function lLOC .:      12.27
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          7  Avg Function Parameters:       0.91
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          8  Avg Interface Complex. :       1.91
-  Max Cyclomatic Complex.:         13  Avg Cyclomatic Complex.:       3.91
-  Max Total Complexity ..:         14  Avg Total Complexity ..:       5.82
-  ________________________________________________________________________
-  End of File: ..\src\qxk\qxk.c
-
-
-  File: ..\src\qxk\qxk_mutex.c
-  ________________________________________________________________________
-
-  Function: QXMutex_init
-  Parameters: (QXMutex * const me, uint_fast8_t ceiling)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical or ( || )       : 1
-      Logical and ( && )      : 1
-  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
-  LOC 16       eLOC 14       lLOC 8        Comment 33       Lines       25
-
-  Function: QXMutex_lock
-  Parameters: (QXMutex * const me, uint_fast16_t const nTicks)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 4
-      Logical or ( || )       : 1
-      Logical and ( && )      : 4
-  Complexity   Param 2       Return 1      Cyclo Vg 10      Total       13
-  LOC 52       eLOC 45       lLOC 29       Comment 53       Lines       89
-
-  Function: QXMutex_tryLock
-  Parameters: (QXMutex * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 5
-      Logical or ( || )       : 1
-      Logical and ( && )      : 5
-  Complexity   Param 1       Return 1      Cyclo Vg 12      Total       14
-  LOC 44       eLOC 37       lLOC 20       Comment 46       Lines       69
-
-  Function: QXMutex_unlock
-  Parameters: (QXMutex * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 7
-      Logical or ( || )       : 2
-      Logical and ( && )      : 8
-  Complexity   Param 1       Return 1      Cyclo Vg 18      Total       20
-  LOC 67       eLOC 57       lLOC 29       Comment 66       Lines      114
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 194      eLOC 168      lLOC 86       Comment 248      Lines      449
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          4
-  Total Function LOC.....:        179  Total Function Pts LOC :        1.5
-  Total Function eLOC....:        153  Total Function Pts eLOC:        1.3
-  Total Function lLOC....:         86  Total Function Pts lLOC:        0.7
-  Total Function Params .:          6  Total Function Return .:          4
-  Total Cyclo Complexity :         44  Total Function Complex.:         54
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         67  Average Function LOC ..:      44.75
-  Max Function eLOC .....:         57  Average Function eLOC .:      38.25
-  Max Function lLOC .....:         29  Average Function lLOC .:      21.50
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          2  Avg Function Parameters:       1.50
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          3  Avg Interface Complex. :       2.50
-  Max Cyclomatic Complex.:         18  Avg Cyclomatic Complex.:      11.00
-  Max Total Complexity ..:         20  Avg Total Complexity ..:      13.50
-  ________________________________________________________________________
-  End of File: ..\src\qxk\qxk_mutex.c
-
-
-  File: ..\src\qxk\qxk_sema.c
-  ________________________________________________________________________
-
-  Function: QXSemaphore_init
-  Parameters: (QXSemaphore * const me, uint_fast16_t count, uint_fast16_t
-              max_count)
-  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
-  LOC 6        eLOC 4        lLOC 4        Comment 22       Lines        7
-
-  Function: QXSemaphore_wait
-  Parameters: (QXSemaphore * const me, uint_fast16_t const nTicks)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 4
-  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
-  LOC 29       eLOC 26       lLOC 18       Comment 44       Lines       44
-
-  Function: QXSemaphore_tryWait
-  Parameters: (QXSemaphore * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 15       eLOC 12       lLOC 8        Comment 18       Lines       20
-
-  Function: QXSemaphore_signal
-  Parameters: (QXSemaphore * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 3
-      Logical and ( && )      : 3
-  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
-  LOC 32       eLOC 26       lLOC 16       Comment 35       Lines       48
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 97       eLOC 83       lLOC 46       Comment 168      Lines      262
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:          4
-  Total Function LOC.....:         82  Total Function Pts LOC :        0.8
-  Total Function eLOC....:         68  Total Function Pts eLOC:        0.6
-  Total Function lLOC....:         46  Total Function Pts lLOC:        0.4
-  Total Function Params .:          7  Total Function Return .:          4
-  Total Cyclo Complexity :         16  Total Function Complex.:         27
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         32  Average Function LOC ..:      20.50
-  Max Function eLOC .....:         26  Average Function eLOC .:      17.00
-  Max Function lLOC .....:         18  Average Function lLOC .:      11.50
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          3  Avg Function Parameters:       1.75
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          4  Avg Interface Complex. :       2.75
-  Max Cyclomatic Complex.:          7  Avg Cyclomatic Complex.:       4.00
-  Max Total Complexity ..:          9  Avg Total Complexity ..:       6.75
-  ________________________________________________________________________
-  End of File: ..\src\qxk\qxk_sema.c
-
-
-  File: ..\src\qxk\qxk_xthr.c
-  ________________________________________________________________________
-
-  Function: QXThread_ctor
-  Parameters: (QXThread * const me, QXThreadHandler handler, uint_fast8_t
-              tickRate)
-  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
-  LOC 13       eLOC 10       lLOC 5        Comment 27       Lines       16
-
-  Function: QXThread_init_
-  Parameters: (QMsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 2        Lines        5
-
-  Function: QXThread_dispatch_
-  Parameters: (QMsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
-
-  Function: QXThread_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 4
-  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
-  LOC 21       eLOC 18       lLOC 12       Comment 42       Lines       43
-
-  Function: QXThread_post_
-  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 9
-      Logical or ( || )       : 1
-      Logical and ( && )      : 1
-  Complexity   Param 3       Return 1      Cyclo Vg 12      Total       16
-  LOC 80       eLOC 65       lLOC 45       Comment 83       Lines      115
-
-  Function: QXThread_postLIFO_
-  Parameters: (QActive * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 11       Lines        5
-
-  Function: QXThread_queueGet
-  Parameters: (uint_fast16_t const nTicks)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 4
-      Logical and ( && )      : 3
-  Complexity   Param 1       Return 1      Cyclo Vg 8       Total       10
-  LOC 61       eLOC 54       lLOC 35       Comment 55       Lines       87
-
-  Function: QXThread_block_
-  Parameters: (QXThread const * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        7
-
-  Function: QXThread_unblock_
-  Parameters: (QXThread const * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-      Logical and ( && )      : 1
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 8        eLOC 5        lLOC 2        Comment 10       Lines        8
-
-  Function: QXThread_teArm_
-  Parameters: (QXThread * const me, QSignal sig, uint_fast16_t const nTick
-              s)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 2
-  Complexity   Param 3       Return 1      Cyclo Vg 3       Total        7
-  LOC 14       eLOC 10       lLOC 8        Comment 23       Lines       31
-
-  Function: QXThread_teDisarm_
-  Parameters: (QXThread * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 11       eLOC 8        lLOC 5        Comment 11       Lines       13
-
-  Function: QXThread_delay
-  Parameters: (uint_fast16_t const nTicks)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 3
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 21       eLOC 20       lLOC 14       Comment 19       Lines       37
-
-  Function: QXThread_delayCancel
-  Parameters: (QXThread * const me)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Conditional if / else if: 1
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 14       eLOC 11       lLOC 7        Comment 2        Lines       16
-
-  Function: QXK_threadRet_
-  Parameters: (void)
-    Cyclomatic Complexity Vg Detail
-      Function Base           : 1
-      Logical and ( && )      : 3
-  Complexity   Param 0       Return 1      Cyclo Vg 4       Total        5
-  LOC 16       eLOC 15       lLOC 10       Comment 22       Lines       27
-
-  ------------------------------------------------------------------------
-
-                          ~~ Total File Summary ~~
-
-  LOC 322      eLOC 275      lLOC 161      Comment 367      Lines      682
-  ------------------------------------------------------------------------
-
-                        ~~ File Functional Summary ~~
-
-  File Function Count....:         14
-  Total Function LOC.....:        279  Total Function Pts LOC :        2.5
-  Total Function eLOC....:        232  Total Function Pts eLOC:        2.1
-  Total Function lLOC....:        155  Total Function Pts lLOC:        1.3
-  Total Function Params .:         28  Total Function Return .:         14
-  Total Cyclo Complexity :         49  Total Function Complex.:         91
-         ------     -----     -----     ------     ------     -----
-  Max Function LOC ......:         80  Average Function LOC ..:      19.93
-  Max Function eLOC .....:         65  Average Function eLOC .:      16.57
-  Max Function lLOC .....:         45  Average Function lLOC .:      11.07
-         ------     -----     -----     ------     ------     -----
-  Max Function Parameters:          7  Avg Function Parameters:       2.00
-  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
-  Max Interface Complex. :          8  Avg Interface Complex. :       3.00
-  Max Cyclomatic Complex.:         12  Avg Cyclomatic Complex.:       3.50
-  Max Total Complexity ..:         16  Avg Total Complexity ..:       6.50
-  ________________________________________________________________________
-  End of File: ..\src\qxk\qxk_xthr.c
-
-
-  ------------------------------------------------------------------------
-
-                     ~~ Project Analysis For 35 Files ~~
-
-  ------------------------------------------------------------------------
-
-                         ~~ Total Project Summary ~~
-
-  LOC 4548     eLOC 4109     lLOC 1862     Comment 7284     Lines    12050
-  Average per File, metric/35 files
-  LOC 129      eLOC 117      lLOC 53       Comment 208      Lines      344
-
-  ------------------------------------------------------------------------
-
-                      ~~ Project Functional Metrics ~~
-
-  Function: QF_LOG2
-  Parameters: (uint32_t x)
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 25       eLOC 20       lLOC 12       Comment 7        Lines       26
-
-  Function: QHsm_ctor
-  Parameters: (QHsm * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 9        eLOC 7        lLOC 4        Comment 21       Lines        9
-
-  Function: QHsm_init_
-  Parameters: (QHsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
-  LOC 50       eLOC 47       lLOC 31       Comment 35       Lines       70
-
-  Function: QHsm_top
-  Parameters: (void const * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 18       Lines        5
-
-  Function: QHsm_dispatch_
-  Parameters: (QHsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 13      Total       16
-  LOC 106      eLOC 95       lLOC 62       Comment 67       Lines      147
-
-  Function: QHsm_tran_
-  Parameters: (QHsm * const me, QStateHandler path[QHSM_MAX_NEST_DEPTH_])
-  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
-  LOC 97       eLOC 76       lLOC 48       Comment 63       Lines      134
-
-  Function: QHsm_isIn
-  Parameters: (QHsm * const me, QStateHandler const state)
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 16       eLOC 13       lLOC 9        Comment 22       Lines       21
-
-  Function: QHsm_childState_
-  Parameters: (QHsm * const me, QStateHandler const parent)
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 19       eLOC 15       lLOC 12       Comment 33       Lines       25
-
-  Function: QMsm_ctor
-  Parameters: (QMsm * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 9        eLOC 7        lLOC 4        Comment 29       Lines       10
-
-  Function: QMsm_init_
-  Parameters: (QMsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
-  LOC 23       eLOC 22       lLOC 13       Comment 26       Lines       37
-
-  Function: QMsm_dispatch_
-  Parameters: (QMsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
-  LOC 112      eLOC 95       lLOC 61       Comment 75       Lines      152
-
-  Function: QMsm_execTatbl_
-  Parameters: (QMsm * const me, QMTranActTable const *tatbl)
-  Complexity   Param 2       Return 1      Cyclo Vg 8       Total       11
-  LOC 50       eLOC 42       lLOC 20       Comment 32       Lines       60
-
-  Function: QMsm_exitToTranSource_
-  Parameters: (QMsm * const me, QMState const *s, QMState const *ts)
-  Complexity   Param 3       Return 1      Cyclo Vg 4       Total        8
-  LOC 17       eLOC 12       lLOC 6        Comment 20       Lines       23
-
-  Function: QMsm_enterHistory_
-  Parameters: (QMsm * const me, QMState const *const hist)
-  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
-  LOC 40       eLOC 33       lLOC 21       Comment 25       Lines       48
-
-  Function: QMsm_isInState
-  Parameters: (QMsm const * const me, QMState const * const state)
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 11       eLOC 8        lLOC 6        Comment 17       Lines       12
-
-  Function: QMsm_childStateObj_
-  Parameters: (QMsm const * const me, QMState const * const parent)
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 19       eLOC 13       lLOC 9        Comment 22       Lines       23
-
-  Function: QF_add_
-  Parameters: (QActive * const a)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 10       eLOC 9        lLOC 5        Comment 20       Lines       17
-
-  Function: QF_remove_
-  Parameters: (QActive * const a)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 11       eLOC 10       lLOC 6        Comment 21       Lines       18
-
-  Function: QF_bzero
-  Parameters: (void * const start, uint_fast16_t len)
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 8        eLOC 6        lLOC 4        Comment 14       Lines        8
-
-  Function: QF_LOG2
-  Parameters: (uint32_t x)
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 25       eLOC 20       lLOC 12       Comment 1        Lines       26
-
-  Function: QActive_post_
-  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-  Complexity   Param 3       Return 1      Cyclo Vg 14      Total       18
-  LOC 85       eLOC 68       lLOC 38       Comment 75       Lines      110
-
-  Function: QActive_postLIFO_
-  Parameters: (QActive * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 41       eLOC 34       lLOC 23       Comment 41       Lines       56
-
-  Function: QActive_get_
-  Parameters: (QActive * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 37       eLOC 33       lLOC 23       Comment 41       Lines       47
-
-  Function: QF_getQueueMin
-  Parameters: (uint_fast8_t const prio)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 10       eLOC 9        lLOC 6        Comment 19       Lines       13
-
-  Function: QTicker_ctor
-  Parameters: (QTicker * const me, uint8_t tickRate)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 12       eLOC 10       lLOC 4        Comment 6        Lines       14
-
-  Function: QTicker_init_
-  Parameters: (QHsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
-
-  Function: QTicker_dispatch_
-  Parameters: (QHsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 12       eLOC 10       lLOC 8        Comment 4        Lines       15
-
-  Function: QTicker_post_
-  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
-  LOC 24       eLOC 21       lLOC 17       Comment 15       Lines       32
-
-  Function: QTicker_postLIFO_
-  Parameters: (QActive * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
-
-  Function: QActive_defer
-  Parameters: (QActive const * const me, QEQueue * const eq, QEvt const *
-              const e)
-  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
-  LOC 13       eLOC 11       lLOC 8        Comment 31       Lines       16
-
-  Function: QActive_recall
-  Parameters: (QActive * const me, QEQueue * const eq)
-  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
-  LOC 32       eLOC 28       lLOC 18       Comment 43       Lines       52
-
-  Function: QActive_flushDeferred
-  Parameters: (QActive const * const me, QEQueue * const eq)
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 10       eLOC 7        lLOC 7        Comment 19       Lines       12
-
-  Function: QEvt_ctor
-  Parameters: (QEvt * const me, enum_t const sig)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        6
-
-  Function: QF_poolInit
-  Parameters: (void * const poolSto, uint_fast32_t const poolSize, uint_fa
-              st16_t const evtSize)
-  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
-  LOC 8        eLOC 6        lLOC 4        Comment 38       Lines       12
-
-  Function: QF_newX_
-  Parameters: (uint_fast16_t const evtSize, uint_fast16_t const margin, en
-              um_t const sig)
-  Complexity   Param 3       Return 1      Cyclo Vg 5       Total        9
-  LOC 29       eLOC 23       lLOC 14       Comment 40       Lines       39
-
-  Function: QF_gc
-  Parameters: (QEvt const * const e)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 26       eLOC 22       lLOC 13       Comment 36       Lines       40
-
-  Function: QF_newRef_
-  Parameters: (QEvt const * const e, void const * const evtRef)
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 15       eLOC 14       lLOC 8        Comment 21       Lines       23
-
-  Function: QF_deleteRef_
-  Parameters: (void const * const evtRef)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 10       eLOC 9        lLOC 5        Comment 14       Lines       12
-
-  Function: QF_poolGetMaxBlockSize
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 5        Lines        3
-
-  Function: QMPool_init
-  Parameters: (QMPool * const me, void * const poolSto, uint_fast32_t pool
-              Size, uint_fast16_t blockSize)
-  Complexity   Param 4       Return 1      Cyclo Vg 5       Total       10
-  LOC 31       eLOC 27       lLOC 22       Comment 59       Lines       46
-
-  Function: QMPool_put
-  Parameters: (QMPool * const me, void *b)
-  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
-  LOC 15       eLOC 14       lLOC 9        Comment 31       Lines       22
-
-  Function: QMPool_get
-  Parameters: (QMPool * const me, uint_fast16_t const margin)
-  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
-  LOC 42       eLOC 36       lLOC 23       Comment 56       Lines       65
-
-  Function: QF_getPoolMin
-  Parameters: (uint_fast8_t const poolId)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 10       eLOC 9        lLOC 6        Comment 14       Lines       14
-
-  Function: QF_psInit
-  Parameters: (QSubscrList * const subscrSto, enum_t const maxSignal)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 7        eLOC 6        lLOC 3        Comment 33       Lines       12
-
-  Function: QF_publish_
-  Parameters: (QEvt const * const e)
-  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
-  LOC 36       eLOC 30       lLOC 21       Comment 50       Lines       63
-
-  Function: QActive_subscribe
-  Parameters: (QActive const * const me, enum_t const sig)
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 16       eLOC 15       lLOC 8        Comment 23       Lines       22
-
-  Function: QActive_unsubscribe
-  Parameters: (QActive const * const me, enum_t const sig)
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 16       eLOC 15       lLOC 8        Comment 32       Lines       25
-
-  Function: QActive_unsubscribeAll
-  Parameters: (QActive const * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
-  LOC 23       eLOC 19       lLOC 10       Comment 26       Lines       26
-
-  Function: QActive_ctor
-  Parameters: (QActive * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 12       eLOC 10       lLOC 4        Comment 19       Lines       17
-
-  Function: QEQueue_init
-  Parameters: (QEQueue * const me, QEvt const *qSto[], uint_fast16_t const
-               qLen)
-  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
-  LOC 11       eLOC 8        lLOC 7        Comment 21       Lines       11
-
-  Function: QEQueue_post
-  Parameters: (QEQueue * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-  Complexity   Param 3       Return 1      Cyclo Vg 8       Total       12
-  LOC 55       eLOC 45       lLOC 30       Comment 56       Lines       74
-
-  Function: QEQueue_postLIFO
-  Parameters: (QEQueue * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
-  LOC 34       eLOC 29       lLOC 21       Comment 44       Lines       44
-
-  Function: QEQueue_get
-  Parameters: (QEQueue * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 37       eLOC 32       lLOC 21       Comment 38       Lines       47
-
-  Function: QMActive_ctor
-  Parameters: (QMActive * const me, QStateHandler initial)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 12       eLOC 10       lLOC 4        Comment 28       Lines       28
-
-  Function: QF_tickX_
-  Parameters: (uint_fast8_t const tickRate)
-  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
-  LOC 66       eLOC 54       lLOC 36       Comment 56       Lines       94
-
-  Function: QF_noTimeEvtsActiveX
-  Parameters: (uint_fast8_t const tickRate)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 14       eLOC 10       lLOC 6        Comment 15       Lines       17
-
-  Function: QTimeEvt_ctorX
-  Parameters: (QTimeEvt * const me, QActive * const act, enum_t const sig,
-               uint_fast8_t tickRate)
-  Complexity   Param 4       Return 1      Cyclo Vg 2       Total        7
-  LOC 11       eLOC 9        lLOC 8        Comment 32       Lines       31
-
-  Function: QTimeEvt_armX
-  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks, QTimeEvtCtr
-              const interval)
-  Complexity   Param 3       Return 1      Cyclo Vg 6       Total       10
-  LOC 28       eLOC 25       lLOC 16       Comment 51       Lines       50
-
-  Function: QTimeEvt_disarm
-  Parameters: (QTimeEvt * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 29       eLOC 26       lLOC 17       Comment 32       Lines       37
-
-  Function: QTimeEvt_rearm
-  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks)
-  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
-  LOC 34       eLOC 30       lLOC 18       Comment 47       Lines       60
-
-  Function: QTimeEvt_ctr
-  Parameters: (QTimeEvt const * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 8        eLOC 7        lLOC 5        Comment 16       Lines       10
-
-  Function: QF_init
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 11       eLOC 10       lLOC 7        Comment 12       Lines       13
-
-  Function: QF_stop
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
-
-  Function: QF_run
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 5       Total        6
-  LOC 48       eLOC 42       lLOC 24       Comment 37       Lines       75
-
-  Function: QActive_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-  Complexity   Param 7       Return 1      Cyclo Vg 3       Total       11
-  LOC 11       eLOC 9        lLOC 7        Comment 31       Lines       17
-
-  Function: QActive_stop
-  Parameters: (QActive * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 7        eLOC 6        lLOC 4        Comment 13       Lines       10
-
-  Function: QF_init
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 13       eLOC 12       lLOC 9        Comment 14       Lines       16
-
-  Function: QF_stop
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
-
-  Function: initial_events
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
-
-  Function: QF_run
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 12       eLOC 10       lLOC 7        Comment 13       Lines       14
-
-  Function: QActive_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-  Complexity   Param 7       Return 1      Cyclo Vg 5       Total       13
-  LOC 18       eLOC 15       lLOC 10       Comment 34       Lines       29
-
-  Function: QActive_stop
-  Parameters: (QActive * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
-
-  Function: QK_schedLock
-  Parameters: (uint_fast8_t ceiling)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 22       eLOC 19       lLOC 12       Comment 32       Lines       33
-
-  Function: QK_schedUnlock
-  Parameters: (QSchedStatus stat)
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 21       eLOC 18       lLOC 10       Comment 28       Lines       33
-
-  Function: QK_sched_
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 3       Total        4
-  LOC 15       eLOC 11       lLOC 7        Comment 21       Lines       19
-
-  Function: QK_activate_
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 11      Total       12
-  LOC 69       eLOC 61       lLOC 32       Comment 53       Lines      101
-
-  Function: QF_init
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 17       eLOC 16       lLOC 13       Comment 17       Lines       23
-
-  Function: QF_stop
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
-  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
-
-  Function: initial_events
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
-
-  Function: QF_run
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 12       eLOC 10       lLOC 7        Comment 12       Lines       15
-
-  Function: QActive_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
-  LOC 20       eLOC 17       lLOC 11       Comment 38       Lines       31
-
-  Function: QActive_stop
-  Parameters: (QActive * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
-
-  Function: QXK_schedLock
-  Parameters: (uint_fast8_t ceiling)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 25       eLOC 22       lLOC 12       Comment 40       Lines       35
-
-  Function: QXK_schedUnlock
-  Parameters: (QSchedStatus stat)
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 21       eLOC 18       lLOC 10       Comment 33       Lines       33
-
-  Function: QXK_sched_
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 7       Total        8
-  LOC 52       eLOC 42       lLOC 23       Comment 36       Lines       68
-
-  Function: QXK_activate_
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 13      Total       14
-  LOC 88       eLOC 78       lLOC 42       Comment 64       Lines      130
-
-  Function: QXK_current
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
-  LOC 13       eLOC 11       lLOC 8        Comment 4        Lines       20
-
-  Function: QXMutex_init
-  Parameters: (QXMutex * const me, uint_fast8_t ceiling)
-  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
-  LOC 16       eLOC 14       lLOC 8        Comment 33       Lines       25
-
-  Function: QXMutex_lock
-  Parameters: (QXMutex * const me, uint_fast16_t const nTicks)
-  Complexity   Param 2       Return 1      Cyclo Vg 10      Total       13
-  LOC 52       eLOC 45       lLOC 29       Comment 53       Lines       89
-
-  Function: QXMutex_tryLock
-  Parameters: (QXMutex * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 12      Total       14
-  LOC 44       eLOC 37       lLOC 20       Comment 46       Lines       69
-
-  Function: QXMutex_unlock
-  Parameters: (QXMutex * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 18      Total       20
-  LOC 67       eLOC 57       lLOC 29       Comment 66       Lines      114
-
-  Function: QXSemaphore_init
-  Parameters: (QXSemaphore * const me, uint_fast16_t count, uint_fast16_t
-              max_count)
-  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
-  LOC 6        eLOC 4        lLOC 4        Comment 22       Lines        7
-
-  Function: QXSemaphore_wait
-  Parameters: (QXSemaphore * const me, uint_fast16_t const nTicks)
-  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
-  LOC 29       eLOC 26       lLOC 18       Comment 44       Lines       44
-
-  Function: QXSemaphore_tryWait
-  Parameters: (QXSemaphore * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 15       eLOC 12       lLOC 8        Comment 18       Lines       20
-
-  Function: QXSemaphore_signal
-  Parameters: (QXSemaphore * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
-  LOC 32       eLOC 26       lLOC 16       Comment 35       Lines       48
-
-  Function: QXThread_ctor
-  Parameters: (QXThread * const me, QXThreadHandler handler, uint_fast8_t
-              tickRate)
-  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
-  LOC 13       eLOC 10       lLOC 5        Comment 27       Lines       16
-
-  Function: QXThread_init_
-  Parameters: (QMsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 2        Lines        5
-
-  Function: QXThread_dispatch_
-  Parameters: (QMsm * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
-
-  Function: QXThread_start_
-  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[],
-              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
-              t const *ie)
-  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
-  LOC 21       eLOC 18       lLOC 12       Comment 42       Lines       43
-
-  Function: QXThread_post_
-  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
-              st margin)
-  Complexity   Param 3       Return 1      Cyclo Vg 12      Total       16
-  LOC 80       eLOC 65       lLOC 45       Comment 83       Lines      115
-
-  Function: QXThread_postLIFO_
-  Parameters: (QActive * const me, QEvt const * const e)
-  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
-  LOC 5        eLOC 4        lLOC 3        Comment 11       Lines        5
-
-  Function: QXThread_queueGet
-  Parameters: (uint_fast16_t const nTicks)
-  Complexity   Param 1       Return 1      Cyclo Vg 8       Total       10
-  LOC 61       eLOC 54       lLOC 35       Comment 55       Lines       87
-
-  Function: QXThread_block_
-  Parameters: (QXThread const * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
-  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        7
-
-  Function: QXThread_unblock_
-  Parameters: (QXThread const * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
-  LOC 8        eLOC 5        lLOC 2        Comment 10       Lines        8
-
-  Function: QXThread_teArm_
-  Parameters: (QXThread * const me, QSignal sig, uint_fast16_t const nTick
-              s)
-  Complexity   Param 3       Return 1      Cyclo Vg 3       Total        7
-  LOC 14       eLOC 10       lLOC 8        Comment 23       Lines       31
-
-  Function: QXThread_teDisarm_
-  Parameters: (QXThread * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 11       eLOC 8        lLOC 5        Comment 11       Lines       13
-
-  Function: QXThread_delay
-  Parameters: (uint_fast16_t const nTicks)
-  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
-  LOC 21       eLOC 20       lLOC 14       Comment 19       Lines       37
-
-  Function: QXThread_delayCancel
-  Parameters: (QXThread * const me)
-  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
-  LOC 14       eLOC 11       lLOC 7        Comment 2        Lines       16
-
-  Function: QXK_threadRet_
-  Parameters: (void)
-  Complexity   Param 0       Return 1      Cyclo Vg 4       Total        5
-  LOC 16       eLOC 15       lLOC 10       Comment 22       Lines       27
-
-  Total: Functions
-  LOC 2669     eLOC 2251     lLOC 1418     InCmp 295      CycloCmp     434
-  Function Points         FP(LOC) 20.7    FP(eLOC) 17.4   FP(lLOC)    11.0
-
-  ------------------------------------------------------------------------
-
-                      ~~ Project Functional Analysis ~~
-
-  Total Functions .......:        109  Total Physical Lines ..:       3802
-  Total LOC .............:       2669  Total Function Pts LOC :       20.7
-  Total eLOC ............:       2251  Total Function Pts eLOC:       17.4
-  Total lLOC.............:       1418  Total Function Pts lLOC:       11.0
-  Total Cyclomatic Comp. :        434  Total Interface Comp. .:        295
-  Total Parameters ......:        186  Total Return Points ...:        109
-  Total Comment Lines ...:       3052  Total Blank Lines .....:        568
-         ------     -----     -----     ------     ------     -----
-  Avg Physical Lines ....:      34.88
-  Avg LOC ...............:      24.49  Avg eLOC ..............:      20.65
-  Avg lLOC ..............:      13.01  Avg Cyclomatic Comp. ..:       3.98
-  Avg Interface Comp. ...:       2.71  Avg Parameters ........:       1.71
-  Avg Return Points .....:       1.00  Avg Comment Lines .....:      28.00
-         ------     -----     -----     ------     ------     -----
-  Max LOC ...............:        112
-  Max eLOC ..............:         95  Max lLOC ..............:         62
-  Max Cyclomatic Comp. ..:         18  Max Interface Comp. ...:          8
-  Max Parameters ........:          7  Max Return Points .....:          1
-  Max Comment Lines .....:         83  Max Total Lines .......:        152
-         ------     -----     -----     ------     ------     -----
-  Min LOC ...............:          3
-  Min eLOC ..............:          2  Min lLOC ..............:          1
-  Min Cyclomatic Comp. ..:          1  Min Interface Comp. ...:          1
-  Min Parameters ........:          0  Min Return Points .....:          1
-  Min Comment Lines .....:          1  Min Total Lines .......:          3
-
-  ------------------------------------------------------------------------
-
-                             ~~ File Summary ~~
-
-  C Source Files *.c ....:         18  C/C++ Include Files *.h:         17
-  C++ Source Files *.c* .:          0  C++ Include Files *.h* :          0
-  C# Source Files *.cs ..:          0  Java Source File *.jav*:          0
-  Other File Count ......:          0  Total File Count ......:         35
-  ________________________________________________________________________
-
-@endcode
-*/
+/** @page metrics Code Metrics 
+
+@code 
+                   Standard Code Metrics for QP/C 6.3.0 
+
+           Resource Standard Metrics (TM) for C, C++, C# and Java
+                   Version 7.75 - mSquaredTechnologies.com
+
+  License Type: Windows Single User License
+  Licensed To : Quantum Leaps, LLC
+  License No. : WS2975                          License Date: Dec 15, 2013
+  Build Date  : Sep  2 2009                         Run Date: May 07, 2018
+  (C)1996-2009 M Squared Technologies LLC
+  ________________________________________________________________________
+
+                           ~~ Function Metrics ~~
+                      ~~ Complexity Detail Analysis ~~
+
+  File: ..\include\qassert.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 53       eLOC 52       lLOC 5        Comment 257      Lines      335
+  ________________________________________________________________________
+  End of File: ..\include\qassert.h
+
+
+  File: ..\include\qep.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 156      eLOC 152      lLOC 56       Comment 405      Lines      616
+  ________________________________________________________________________
+  End of File: ..\include\qep.h
+
+
+  File: ..\include\qequeue.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 33       eLOC 33       lLOC 15       Comment 180      Lines      233
+  ________________________________________________________________________
+  End of File: ..\include\qequeue.h
+
+
+  File: ..\include\qf.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 196      eLOC 196      lLOC 78       Comment 543      Lines      844
+  ________________________________________________________________________
+  End of File: ..\include\qf.h
+
+
+  File: ..\include\qk.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 62       eLOC 62       lLOC 22       Comment 130      Lines      209
+  ________________________________________________________________________
+  End of File: ..\include\qk.h
+
+
+  File: ..\include\qmpool.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 42       eLOC 42       lLOC 18       Comment 109      Lines      169
+  ________________________________________________________________________
+  End of File: ..\include\qmpool.h
+
+
+  File: ..\include\qpc.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 66       eLOC 65       lLOC 8        Comment 125      Lines      224
+  ________________________________________________________________________
+  End of File: ..\include\qpc.h
+
+
+  File: ..\include\qpset.h
+  ________________________________________________________________________
+
+  Inline Function: QF_LOG2
+  Parameters: (uint32_t x)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 25       eLOC 20       lLOC 12       Comment 7        Lines       26
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 97       eLOC 92       lLOC 23       Comment 91       Lines      211
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          1
+  Total Function LOC.....:         25  Total Function Pts LOC :        0.0
+  Total Function eLOC....:         20  Total Function Pts eLOC:        0.0
+  Total Function lLOC....:         12  Total Function Pts lLOC:        0.0
+  Total Function Params .:          1  Total Function Return .:          1
+  Total Cyclo Complexity :          4  Total Function Complex.:          6
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         25  Average Function LOC ..:      25.00
+  Max Function eLOC .....:         20  Average Function eLOC .:      20.00
+  Max Function lLOC .....:         12  Average Function lLOC .:      12.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          1  Avg Function Parameters:       1.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          2  Avg Interface Complex. :       2.00
+  Max Cyclomatic Complex.:          4  Avg Cyclomatic Complex.:       4.00
+  Max Total Complexity ..:          6  Avg Total Complexity ..:       6.00
+  ________________________________________________________________________
+  End of File: ..\include\qpset.h
+
+
+  File: ..\include\qs.h
+  ________________________________________________________________________
+
+
+    NOTICE: The end of the source file has been reached where the
+            open brace count { 28 != 26 } close brace count 
+            This is an indication of non-compilable code within the source
+            file.  RSM processes all source code including code wrapped
+            with preprocessor directives.  Accurate metrics requires that
+            all code present in this file must be compilable.
+                          ~~ Total File Summary ~~
+
+  LOC 501      eLOC 493      lLOC 122      Comment 719      Lines     1233
+  ________________________________________________________________________
+  End of File: ..\include\qs.h
+
+
+  File: ..\include\qs_dummy.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 72       eLOC 72       lLOC 0        Comment 43       Lines      124
+  ________________________________________________________________________
+  End of File: ..\include\qs_dummy.h
+
+
+  File: ..\include\qv.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 25       eLOC 25       lLOC 2        Comment 80       Lines      111
+  ________________________________________________________________________
+  End of File: ..\include\qv.h
+
+
+  File: ..\include\qxk.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 67       eLOC 67       lLOC 25       Comment 139      Lines      221
+  ________________________________________________________________________
+  End of File: ..\include\qxk.h
+
+
+  File: ..\include\qxthread.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 44       eLOC 44       lLOC 26       Comment 206      Lines      269
+  ________________________________________________________________________
+  End of File: ..\include\qxthread.h
+
+
+  File: ..\include\stdint_c.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 33       eLOC 33       lLOC 0        Comment 44       Lines       87
+  ________________________________________________________________________
+  End of File: ..\include\stdint_c.h
+
+
+  File: ..\src\qf_pkg.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 63       eLOC 63       lLOC 8        Comment 120      Lines      206
+  ________________________________________________________________________
+  End of File: ..\src\qf_pkg.h
+
+
+  File: ..\src\qs_pkg.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 25       eLOC 23       lLOC 6        Comment 59       Lines       93
+  ________________________________________________________________________
+  End of File: ..\src\qs_pkg.h
+
+
+  File: ..\src\qxk_pkg.h
+  ________________________________________________________________________
+
+                          ~~ Total File Summary ~~
+
+  LOC 19       eLOC 18       lLOC 8        Comment 49       Lines       77
+  ________________________________________________________________________
+  End of File: ..\src\qxk_pkg.h
+
+
+  File: ..\src\qf\qep_hsm.c
+  ________________________________________________________________________
+
+  Function: QHsm_ctor
+  Parameters: (QHsm * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 9        eLOC 7        lLOC 4        Comment 21       Lines        9
+
+  Function: QHsm_init_
+  Parameters: (QHsm * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 3     
+      Conditional if / else if: 1     
+      Logical and ( && )      : 2     
+  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
+  LOC 50       eLOC 47       lLOC 31       Comment 35       Lines       70
+
+  Function: QHsm_top
+  Parameters: (void const * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 18       Lines        5
+
+  Function: QHsm_dispatch_
+  Parameters: (QHsm * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 4     
+      Loops for / foreach     : 2     
+      Conditional if / else if: 5     
+      Logical and ( && )      : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 13      Total       16
+  LOC 106      eLOC 95       lLOC 62       Comment 67       Lines      147
+
+  Function: QHsm_tran_
+  Parameters: (QHsm * const me, QStateHandler path[QHSM_MAX_NEST_DEPTH_])
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 4     
+      Conditional if / else if: 10    
+  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
+  LOC 97       eLOC 76       lLOC 48       Comment 63       Lines      134
+
+  Function: QHsm_isIn
+  Parameters: (QHsm * const me, QStateHandler const state)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Conditional if / else if: 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 16       eLOC 13       lLOC 9        Comment 22       Lines       21
+
+  Function: QHsm_childState_
+  Parameters: (QHsm * const me, QStateHandler const parent)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Conditional if / else if: 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 19       eLOC 15       lLOC 12       Comment 33       Lines       25
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 346      eLOC 299      lLOC 177      Comment 322      Lines      634
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          7
+  Total Function LOC.....:        302  Total Function Pts LOC :        2.7
+  Total Function eLOC....:        257  Total Function Pts eLOC:        2.3
+  Total Function lLOC....:        169  Total Function Pts lLOC:        1.4
+  Total Function Params .:         14  Total Function Return .:          7
+  Total Cyclo Complexity :         43  Total Function Complex.:         64
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:        106  Average Function LOC ..:      43.14
+  Max Function eLOC .....:         95  Average Function eLOC .:      36.71
+  Max Function lLOC .....:         62  Average Function lLOC .:      24.14
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          2  Avg Function Parameters:       2.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          3  Avg Interface Complex. :       3.00
+  Max Cyclomatic Complex.:         15  Avg Cyclomatic Complex.:       6.14
+  Max Total Complexity ..:         18  Avg Total Complexity ..:       9.14
+  ________________________________________________________________________
+  End of File: ..\src\qf\qep_hsm.c
+
+
+  File: ..\src\qf\qep_msm.c
+  ________________________________________________________________________
+
+  Function: QMsm_ctor
+  Parameters: (QMsm * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 9        eLOC 7        lLOC 4        Comment 29       Lines       10
+
+  Function: QMsm_init_
+  Parameters: (QMsm * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Logical and ( && )      : 2     
+  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
+  LOC 23       eLOC 22       lLOC 13       Comment 26       Lines       37
+
+  Function: QMsm_dispatch_
+  Parameters: (QMsm * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 2     
+      Conditional if / else if: 12    
+  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
+  LOC 124      eLOC 107      lLOC 65       Comment 83       Lines      164
+
+  Function: QMsm_execTatbl_
+  Parameters: (QMsm * const me, QMTranActTable const *tatbl)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 5     
+      Inlined if-else ( ? : ) : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 8       Total       11
+  LOC 50       eLOC 42       lLOC 20       Comment 32       Lines       60
+
+  Function: QMsm_exitToTranSource_
+  Parameters: (QMsm * const me, QMState const *s, QMState const *ts)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Conditional if / else if: 2     
+  Complexity   Param 3       Return 1      Cyclo Vg 4       Total        8
+  LOC 17       eLOC 12       lLOC 6        Comment 20       Lines       23
+
+  Function: QMsm_enterHistory_
+  Parameters: (QMsm * const me, QMState const *const hist)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 2     
+      Conditional if / else if: 3     
+  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
+  LOC 40       eLOC 33       lLOC 21       Comment 25       Lines       48
+
+  Function: QMsm_isInState
+  Parameters: (QMsm const * const me, QMState const * const state)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 11       eLOC 8        lLOC 6        Comment 17       Lines       12
+
+  Function: QMsm_childStateObj_
+  Parameters: (QMsm const * const me, QMState const * const parent)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 19       eLOC 13       lLOC 9        Comment 22       Lines       23
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 321      eLOC 270      lLOC 149      Comment 313      Lines      595
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          8
+  Total Function LOC.....:        293  Total Function Pts LOC :        2.5
+  Total Function eLOC....:        244  Total Function Pts eLOC:        2.1
+  Total Function lLOC....:        144  Total Function Pts lLOC:        1.2
+  Total Function Params .:         17  Total Function Return .:          8
+  Total Cyclo Complexity :         44  Total Function Complex.:         69
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:        124  Average Function LOC ..:      36.63
+  Max Function eLOC .....:        107  Average Function eLOC .:      30.50
+  Max Function lLOC .....:         65  Average Function lLOC .:      18.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          3  Avg Function Parameters:       2.13
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          4  Avg Interface Complex. :       3.13
+  Max Cyclomatic Complex.:         15  Avg Cyclomatic Complex.:       5.50
+  Max Total Complexity ..:         18  Avg Total Complexity ..:       8.63
+  ________________________________________________________________________
+  End of File: ..\src\qf\qep_msm.c
+
+
+  File: ..\src\qf\qf_act.c
+  ________________________________________________________________________
+
+  Function: QF_add_
+  Parameters: (QActive * const a)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 2     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 10       eLOC 9        lLOC 5        Comment 20       Lines       17
+
+  Function: QF_remove_
+  Parameters: (QActive * const a)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 2     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 11       eLOC 10       lLOC 6        Comment 21       Lines       18
+
+  Function: QF_bzero
+  Parameters: (void * const start, uint_fast16_t len)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 8        eLOC 6        lLOC 4        Comment 14       Lines        8
+
+  Function: QF_LOG2
+  Parameters: (uint32_t x)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 25       eLOC 20       lLOC 12       Comment 1        Lines       26
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 71       eLOC 62       lLOC 28       Comment 119      Lines      195
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          4
+  Total Function LOC.....:         54  Total Function Pts LOC :        0.6
+  Total Function eLOC....:         45  Total Function Pts eLOC:        0.5
+  Total Function lLOC....:         27  Total Function Pts lLOC:        0.2
+  Total Function Params .:          5  Total Function Return .:          4
+  Total Cyclo Complexity :         12  Total Function Complex.:         21
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         25  Average Function LOC ..:      13.50
+  Max Function eLOC .....:         20  Average Function eLOC .:      11.25
+  Max Function lLOC .....:         12  Average Function lLOC .:       6.75
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          2  Avg Function Parameters:       1.25
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          3  Avg Interface Complex. :       2.25
+  Max Cyclomatic Complex.:          4  Avg Cyclomatic Complex.:       3.00
+  Max Total Complexity ..:          6  Avg Total Complexity ..:       5.25
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_act.c
+
+
+  File: ..\src\qf\qf_actq.c
+  ________________________________________________________________________
+
+  Function: QActive_post_
+  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 9     
+      Logical or ( || )       : 3     
+      Logical and ( && )      : 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 14      Total       18
+  LOC 85       eLOC 68       lLOC 38       Comment 75       Lines      110
+
+  Function: QActive_postLIFO_
+  Parameters: (QActive * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 4     
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 41       eLOC 34       lLOC 23       Comment 41       Lines       56
+
+  Function: QActive_get_
+  Parameters: (QActive * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 37       eLOC 33       lLOC 23       Comment 41       Lines       47
+
+  Function: QF_getQueueMin
+  Parameters: (uint_fast8_t const prio)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 10       eLOC 9        lLOC 6        Comment 19       Lines       13
+
+  Function: QTicker_ctor
+  Parameters: (QTicker * const me, uint8_t tickRate)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 12       eLOC 10       lLOC 4        Comment 6        Lines       14
+
+  Function: QTicker_init_
+  Parameters: (QHsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
+
+  Function: QTicker_dispatch_
+  Parameters: (QHsm * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 12       eLOC 10       lLOC 8        Comment 4        Lines       15
+
+  Function: QTicker_post_
+  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
+  LOC 24       eLOC 21       lLOC 17       Comment 15       Lines       32
+
+  Function: QTicker_postLIFO_
+  Parameters: (QActive * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 267      eLOC 229      lLOC 130      Comment 265      Lines      495
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          9
+  Total Function LOC.....:        231  Total Function Pts LOC :        2.1
+  Total Function eLOC....:        193  Total Function Pts eLOC:        1.8
+  Total Function lLOC....:        125  Total Function Pts lLOC:        1.0
+  Total Function Params .:         18  Total Function Return .:          9
+  Total Cyclo Complexity :         31  Total Function Complex.:         58
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         85  Average Function LOC ..:      25.67
+  Max Function eLOC .....:         68  Average Function eLOC .:      21.44
+  Max Function lLOC .....:         38  Average Function lLOC .:      13.89
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          3  Avg Function Parameters:       2.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          4  Avg Interface Complex. :       3.00
+  Max Cyclomatic Complex.:         14  Avg Cyclomatic Complex.:       3.44
+  Max Total Complexity ..:         18  Avg Total Complexity ..:       6.44
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_actq.c
+
+
+  File: ..\src\qf\qf_defer.c
+  ________________________________________________________________________
+
+  Function: QActive_defer
+  Parameters: (QActive const * const me, QEQueue * const eq, QEvt const * 
+              const e)
+  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
+  LOC 13       eLOC 11       lLOC 8        Comment 31       Lines       16
+
+  Function: QActive_recall
+  Parameters: (QActive * const me, QEQueue * const eq)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 32       eLOC 28       lLOC 18       Comment 43       Lines       52
+
+  Function: QActive_flushDeferred
+  Parameters: (QActive const * const me, QEQueue * const eq)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 10       eLOC 7        lLOC 7        Comment 19       Lines       12
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 69       eLOC 60       lLOC 33       Comment 140      Lines      201
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          3
+  Total Function LOC.....:         55  Total Function Pts LOC :        0.5
+  Total Function eLOC....:         46  Total Function Pts eLOC:        0.5
+  Total Function lLOC....:         33  Total Function Pts lLOC:        0.3
+  Total Function Params .:          7  Total Function Return .:          3
+  Total Cyclo Complexity :          6  Total Function Complex.:         16
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         32  Average Function LOC ..:      18.33
+  Max Function eLOC .....:         28  Average Function eLOC .:      15.33
+  Max Function lLOC .....:         18  Average Function lLOC .:      11.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          3  Avg Function Parameters:       2.33
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          4  Avg Interface Complex. :       3.33
+  Max Cyclomatic Complex.:          3  Avg Cyclomatic Complex.:       2.00
+  Max Total Complexity ..:          6  Avg Total Complexity ..:       5.33
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_defer.c
+
+
+  File: ..\src\qf\qf_dyn.c
+  ________________________________________________________________________
+
+  Function: QEvt_ctor
+  Parameters: (QEvt * const me, enum_t const sig)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        6
+
+  Function: QF_poolInit
+  Parameters: (void * const poolSto, uint_fast32_t const poolSize, uint_fa
+              st16_t const evtSize)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical or ( || )       : 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
+  LOC 8        eLOC 6        lLOC 4        Comment 38       Lines       12
+
+  Function: QF_newX_
+  Parameters: (uint_fast16_t const evtSize, uint_fast16_t const margin, en
+              um_t const sig)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 2     
+      Inlined if-else ( ? : ) : 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 5       Total        9
+  LOC 29       eLOC 23       lLOC 14       Comment 40       Lines       39
+
+  Function: QF_gc
+  Parameters: (QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 26       eLOC 22       lLOC 13       Comment 36       Lines       40
+
+  Function: QF_newRef_
+  Parameters: (QEvt const * const e, void const * const evtRef)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 15       eLOC 14       lLOC 8        Comment 21       Lines       23
+
+  Function: QF_deleteRef_
+  Parameters: (void const * const evtRef)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 10       eLOC 9        lLOC 5        Comment 14       Lines       12
+
+  Function: QF_poolGetMaxBlockSize
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 5        Lines        3
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 114      eLOC 98       lLOC 50       Comment 216      Lines      331
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          7
+  Total Function LOC.....:         96  Total Function Pts LOC :        0.9
+  Total Function eLOC....:         80  Total Function Pts eLOC:        0.8
+  Total Function lLOC....:         48  Total Function Pts lLOC:        0.4
+  Total Function Params .:         12  Total Function Return .:          7
+  Total Cyclo Complexity :         15  Total Function Complex.:         34
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         29  Average Function LOC ..:      13.71
+  Max Function eLOC .....:         23  Average Function eLOC .:      11.43
+  Max Function lLOC .....:         14  Average Function lLOC .:       6.86
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          3  Avg Function Parameters:       1.71
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          4  Avg Interface Complex. :       2.71
+  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       2.14
+  Max Total Complexity ..:          9  Avg Total Complexity ..:       4.86
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_dyn.c
+
+
+  File: ..\src\qf\qf_mem.c
+  ________________________________________________________________________
+
+  Function: QMPool_init
+  Parameters: (QMPool * const me, void * const poolSto, uint_fast32_t pool
+              Size, uint_fast16_t blockSize)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 2     
+      Logical and ( && )      : 2     
+  Complexity   Param 4       Return 1      Cyclo Vg 5       Total       10
+  LOC 31       eLOC 27       lLOC 22       Comment 59       Lines       46
+
+  Function: QMPool_put
+  Parameters: (QMPool * const me, void *b)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 15       eLOC 14       lLOC 9        Comment 31       Lines       22
+
+  Function: QMPool_get
+  Parameters: (QMPool * const me, uint_fast16_t const margin)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 3     
+  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
+  LOC 42       eLOC 36       lLOC 23       Comment 56       Lines       65
+
+  Function: QF_getPoolMin
+  Parameters: (uint_fast8_t const poolId)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 10       eLOC 9        lLOC 6        Comment 14       Lines       14
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 110      eLOC 98       lLOC 60       Comment 207      Lines      304
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          4
+  Total Function LOC.....:         98  Total Function Pts LOC :        0.9
+  Total Function eLOC....:         86  Total Function Pts eLOC:        0.8
+  Total Function lLOC....:         60  Total Function Pts lLOC:        0.5
+  Total Function Params .:          9  Total Function Return .:          4
+  Total Cyclo Complexity :         13  Total Function Complex.:         26
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         42  Average Function LOC ..:      24.50
+  Max Function eLOC .....:         36  Average Function eLOC .:      21.50
+  Max Function lLOC .....:         23  Average Function lLOC .:      15.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          4  Avg Function Parameters:       2.25
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          5  Avg Interface Complex. :       3.25
+  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       3.25
+  Max Total Complexity ..:         10  Avg Total Complexity ..:       6.50
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_mem.c
+
+
+  File: ..\src\qf\qf_ps.c
+  ________________________________________________________________________
+
+  Function: QF_psInit
+  Parameters: (QSubscrList * const subscrSto, enum_t const maxSignal)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 7        eLOC 6        lLOC 3        Comment 33       Lines       12
+
+  Function: QF_publish_
+  Parameters: (QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Conditional if / else if: 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
+  LOC 36       eLOC 30       lLOC 21       Comment 50       Lines       63
+
+  Function: QActive_subscribe
+  Parameters: (QActive const * const me, enum_t const sig)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 4     
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 16       eLOC 15       lLOC 8        Comment 23       Lines       22
+
+  Function: QActive_unsubscribe
+  Parameters: (QActive const * const me, enum_t const sig)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 4     
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 16       eLOC 15       lLOC 8        Comment 32       Lines       25
+
+  Function: QActive_unsubscribeAll
+  Parameters: (QActive const * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 1     
+      Logical and ( && )      : 2     
+  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
+  LOC 23       eLOC 19       lLOC 10       Comment 26       Lines       26
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 115      eLOC 102      lLOC 52       Comment 212      Lines      330
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          5
+  Total Function LOC.....:         98  Total Function Pts LOC :        0.9
+  Total Function eLOC....:         85  Total Function Pts eLOC:        0.8
+  Total Function lLOC....:         50  Total Function Pts lLOC:        0.4
+  Total Function Params .:          8  Total Function Return .:          5
+  Total Cyclo Complexity :         21  Total Function Complex.:         34
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         36  Average Function LOC ..:      19.60
+  Max Function eLOC .....:         30  Average Function eLOC .:      17.00
+  Max Function lLOC .....:         21  Average Function lLOC .:      10.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          2  Avg Function Parameters:       1.60
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          3  Avg Interface Complex. :       2.60
+  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       4.20
+  Max Total Complexity ..:          8  Avg Total Complexity ..:       6.80
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_ps.c
+
+
+  File: ..\src\qf\qf_qact.c
+  ________________________________________________________________________
+
+  Function: QActive_ctor
+  Parameters: (QActive * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 12       eLOC 10       lLOC 4        Comment 19       Lines       17
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 14       eLOC 12       lLOC 4        Comment 69       Lines       82
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          1
+  Total Function LOC.....:         12  Total Function Pts LOC :        0.1
+  Total Function eLOC....:         10  Total Function Pts eLOC:        0.1
+  Total Function lLOC....:          4  Total Function Pts lLOC:        0.0
+  Total Function Params .:          2  Total Function Return .:          1
+  Total Cyclo Complexity :          1  Total Function Complex.:          4
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         12  Average Function LOC ..:      12.00
+  Max Function eLOC .....:         10  Average Function eLOC .:      10.00
+  Max Function lLOC .....:          4  Average Function lLOC .:       4.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          2  Avg Function Parameters:       2.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          3  Avg Interface Complex. :       3.00
+  Max Cyclomatic Complex.:          1  Avg Cyclomatic Complex.:       1.00
+  Max Total Complexity ..:          4  Avg Total Complexity ..:       4.00
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_qact.c
+
+
+  File: ..\src\qf\qf_qeq.c
+  ________________________________________________________________________
+
+  Function: QEQueue_init
+  Parameters: (QEQueue * const me, QEvt const *qSto[], uint_fast16_t const
+               qLen)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
+  LOC 11       eLOC 8        lLOC 7        Comment 21       Lines       11
+
+  Function: QEQueue_post
+  Parameters: (QEQueue * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 5     
+      Logical or ( || )       : 1     
+      Logical and ( && )      : 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 8       Total       12
+  LOC 55       eLOC 45       lLOC 30       Comment 56       Lines       74
+
+  Function: QEQueue_postLIFO
+  Parameters: (QEQueue * const me, QEvt const * const e)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 4     
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 34       eLOC 29       lLOC 21       Comment 44       Lines       44
+
+  Function: QEQueue_get
+  Parameters: (QEQueue * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 37       eLOC 32       lLOC 21       Comment 38       Lines       47
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 151      eLOC 128      lLOC 79       Comment 210      Lines      325
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          4
+  Total Function LOC.....:        137  Total Function Pts LOC :        1.2
+  Total Function eLOC....:        114  Total Function Pts eLOC:        1.0
+  Total Function lLOC....:         79  Total Function Pts lLOC:        0.6
+  Total Function Params .:          9  Total Function Return .:          4
+  Total Cyclo Complexity :         19  Total Function Complex.:         32
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         55  Average Function LOC ..:      34.25
+  Max Function eLOC .....:         45  Average Function eLOC .:      28.50
+  Max Function lLOC .....:         30  Average Function lLOC .:      19.75
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          3  Avg Function Parameters:       2.25
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          4  Avg Interface Complex. :       3.25
+  Max Cyclomatic Complex.:          8  Avg Cyclomatic Complex.:       4.75
+  Max Total Complexity ..:         12  Avg Total Complexity ..:       8.00
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_qeq.c
+
+
+  File: ..\src\qf\qf_qmact.c
+  ________________________________________________________________________
+
+  Function: QMActive_ctor
+  Parameters: (QMActive * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 12       eLOC 10       lLOC 4        Comment 28       Lines       28
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 15       eLOC 13       lLOC 4        Comment 79       Lines       95
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          1
+  Total Function LOC.....:         12  Total Function Pts LOC :        0.1
+  Total Function eLOC....:         10  Total Function Pts eLOC:        0.1
+  Total Function lLOC....:          4  Total Function Pts lLOC:        0.0
+  Total Function Params .:          2  Total Function Return .:          1
+  Total Cyclo Complexity :          1  Total Function Complex.:          4
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         12  Average Function LOC ..:      12.00
+  Max Function eLOC .....:         10  Average Function eLOC .:      10.00
+  Max Function lLOC .....:          4  Average Function lLOC .:       4.00
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          2  Avg Function Parameters:       2.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          3  Avg Interface Complex. :       3.00
+  Max Cyclomatic Complex.:          1  Avg Cyclomatic Complex.:       1.00
+  Max Total Complexity ..:          4  Avg Total Complexity ..:       4.00
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_qmact.c
+
+
+  File: ..\src\qf\qf_time.c
+  ________________________________________________________________________
+
+  Function: QF_tickX_
+  Parameters: (uint_fast8_t const tickRate)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 5     
+  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
+  LOC 66       eLOC 54       lLOC 36       Comment 56       Lines       94
+
+  Function: QF_noTimeEvtsActiveX
+  Parameters: (uint_fast8_t const tickRate)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 14       eLOC 10       lLOC 6        Comment 15       Lines       17
+
+  Function: QTimeEvt_ctorX
+  Parameters: (QTimeEvt * const me, QActive * const act, enum_t const sig,
+               uint_fast8_t tickRate)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 1     
+  Complexity   Param 4       Return 1      Cyclo Vg 2       Total        7
+  LOC 11       eLOC 9        lLOC 8        Comment 32       Lines       31
+
+  Function: QTimeEvt_armX
+  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks, QTimeEvtCtr 
+              const interval)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical and ( && )      : 4     
+  Complexity   Param 3       Return 1      Cyclo Vg 6       Total       10
+  LOC 28       eLOC 25       lLOC 16       Comment 51       Lines       50
+
+  Function: QTimeEvt_disarm
+  Parameters: (QTimeEvt * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 29       eLOC 26       lLOC 17       Comment 32       Lines       37
+
+  Function: QTimeEvt_rearm
+  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+      Inlined if-else ( ? : ) : 1     
+      Logical and ( && )      : 3     
+  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
+  LOC 34       eLOC 30       lLOC 18       Comment 47       Lines       60
+
+  Function: QTimeEvt_ctr
+  Parameters: (QTimeEvt const * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 8        eLOC 7        lLOC 5        Comment 16       Lines       10
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 210      eLOC 181      lLOC 107      Comment 309      Lines      517
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          7
+  Total Function LOC.....:        190  Total Function Pts LOC :        1.6
+  Total Function eLOC....:        161  Total Function Pts eLOC:        1.4
+  Total Function lLOC....:        106  Total Function Pts lLOC:        0.8
+  Total Function Params .:         13  Total Function Return .:          7
+  Total Cyclo Complexity :         28  Total Function Complex.:         48
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         66  Average Function LOC ..:      27.14
+  Max Function eLOC .....:         54  Average Function eLOC .:      23.00
+  Max Function lLOC .....:         36  Average Function lLOC .:      15.14
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          4  Avg Function Parameters:       1.86
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          5  Avg Interface Complex. :       2.86
+  Max Cyclomatic Complex.:          7  Avg Cyclomatic Complex.:       4.00
+  Max Total Complexity ..:         10  Avg Total Complexity ..:       6.86
+  ________________________________________________________________________
+  End of File: ..\src\qf\qf_time.c
+
+
+  File: ..\src\qv\qv.c
+  ________________________________________________________________________
+
+  Function: QF_init
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 11       eLOC 10       lLOC 7        Comment 12       Lines       13
+
+  Function: QF_stop
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
+
+  Function: QF_run
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+      Conditional if / else if: 3     
+  Complexity   Param 0       Return 1      Cyclo Vg 5       Total        6
+  LOC 48       eLOC 42       lLOC 24       Comment 37       Lines       75
+
+  Function: QActive_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 2     
+  Complexity   Param 7       Return 1      Cyclo Vg 3       Total       11
+  LOC 11       eLOC 9        lLOC 7        Comment 31       Lines       17
+
+  Function: QActive_stop
+  Parameters: (QActive * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 7        eLOC 6        lLOC 4        Comment 13       Lines       10
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 98       eLOC 87       lLOC 44       Comment 159      Lines      252
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          5
+  Total Function LOC.....:         80  Total Function Pts LOC :        0.8
+  Total Function eLOC....:         69  Total Function Pts eLOC:        0.7
+  Total Function lLOC....:         43  Total Function Pts lLOC:        0.3
+  Total Function Params .:          8  Total Function Return .:          5
+  Total Cyclo Complexity :         11  Total Function Complex.:         24
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         48  Average Function LOC ..:      16.00
+  Max Function eLOC .....:         42  Average Function eLOC .:      13.80
+  Max Function lLOC .....:         24  Average Function lLOC .:       8.60
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          7  Avg Function Parameters:       1.60
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          8  Avg Interface Complex. :       2.60
+  Max Cyclomatic Complex.:          5  Avg Cyclomatic Complex.:       2.20
+  Max Total Complexity ..:         11  Avg Total Complexity ..:       4.80
+  ________________________________________________________________________
+  End of File: ..\src\qv\qv.c
+
+
+  File: ..\src\qk\qk.c
+  ________________________________________________________________________
+
+  Function: QF_init
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 13       eLOC 12       lLOC 9        Comment 14       Lines       16
+
+  Function: QF_stop
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
+
+  Function: initial_events
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
+
+  Function: QF_run
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 12       eLOC 10       lLOC 7        Comment 13       Lines       14
+
+  Function: QActive_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical and ( && )      : 3     
+  Complexity   Param 7       Return 1      Cyclo Vg 5       Total       13
+  LOC 18       eLOC 15       lLOC 10       Comment 34       Lines       29
+
+  Function: QActive_stop
+  Parameters: (QActive * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
+
+  Function: QK_schedLock
+  Parameters: (uint_fast8_t ceiling)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 22       eLOC 19       lLOC 12       Comment 32       Lines       33
+
+  Function: QK_schedUnlock
+  Parameters: (QSchedStatus stat)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+      Logical and ( && )      : 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 21       eLOC 18       lLOC 10       Comment 28       Lines       33
+
+  Function: QK_sched_
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+  Complexity   Param 0       Return 1      Cyclo Vg 3       Total        4
+  LOC 15       eLOC 11       lLOC 7        Comment 21       Lines       19
+
+  Function: QK_activate_
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Conditional if / else if: 5     
+      Inlined if-else ( ? : ) : 1     
+      Logical or ( || )       : 3     
+  Complexity   Param 0       Return 1      Cyclo Vg 11      Total       12
+  LOC 69       eLOC 61       lLOC 32       Comment 53       Lines      101
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 209      eLOC 180      lLOC 98       Comment 279      Lines      475
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:         10
+  Total Function LOC.....:        190  Total Function Pts LOC :        1.6
+  Total Function eLOC....:        161  Total Function Pts eLOC:        1.4
+  Total Function lLOC....:         96  Total Function Pts lLOC:        0.8
+  Total Function Params .:         10  Total Function Return .:         10
+  Total Cyclo Complexity :         33  Total Function Complex.:         53
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         69  Average Function LOC ..:      19.00
+  Max Function eLOC .....:         61  Average Function eLOC .:      16.10
+  Max Function lLOC .....:         32  Average Function lLOC .:       9.60
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          7  Avg Function Parameters:       1.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          8  Avg Interface Complex. :       2.00
+  Max Cyclomatic Complex.:         11  Avg Cyclomatic Complex.:       3.30
+  Max Total Complexity ..:         13  Avg Total Complexity ..:       5.30
+  ________________________________________________________________________
+  End of File: ..\src\qk\qk.c
+
+
+  File: ..\src\qxk\qxk.c
+  ________________________________________________________________________
+
+  Function: QF_init
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 17       eLOC 16       lLOC 13       Comment 17       Lines       23
+
+  Function: QF_stop
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
+
+  Function: initial_events
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
+
+  Function: QF_run
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops for / foreach     : 1     
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 12       eLOC 10       lLOC 7        Comment 12       Lines       15
+
+  Function: QActive_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical and ( && )      : 4     
+  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
+  LOC 20       eLOC 17       lLOC 11       Comment 38       Lines       31
+
+  Function: QActive_stop
+  Parameters: (QActive * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
+
+  Function: QXK_schedLock
+  Parameters: (uint_fast8_t ceiling)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Inlined if-else ( ? : ) : 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 25       eLOC 22       lLOC 12       Comment 40       Lines       35
+
+  Function: QXK_schedUnlock
+  Parameters: (QSchedStatus stat)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+      Logical and ( && )      : 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 21       eLOC 18       lLOC 10       Comment 33       Lines       33
+
+  Function: QXK_sched_
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 5     
+      Logical or ( || )       : 1     
+  Complexity   Param 0       Return 1      Cyclo Vg 7       Total        8
+  LOC 52       eLOC 42       lLOC 23       Comment 36       Lines       68
+
+  Function: QXK_activate_
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Loops while / do        : 1     
+      Conditional if / else if: 6     
+      Inlined if-else ( ? : ) : 1     
+      Logical or ( || )       : 4     
+  Complexity   Param 0       Return 1      Cyclo Vg 13      Total       14
+  LOC 88       eLOC 78       lLOC 42       Comment 64       Lines      130
+
+  Function: QXK_current
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 13       eLOC 11       lLOC 8        Comment 4        Lines       20
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 288      eLOC 249      lLOC 138      Comment 329      Lines      602
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:         11
+  Total Function LOC.....:        268  Total Function Pts LOC :        2.3
+  Total Function eLOC....:        229  Total Function Pts eLOC:        1.9
+  Total Function lLOC....:        135  Total Function Pts lLOC:        1.1
+  Total Function Params .:         10  Total Function Return .:         11
+  Total Cyclo Complexity :         43  Total Function Complex.:         64
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         88  Average Function LOC ..:      24.36
+  Max Function eLOC .....:         78  Average Function eLOC .:      20.82
+  Max Function lLOC .....:         42  Average Function lLOC .:      12.27
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          7  Avg Function Parameters:       0.91
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          8  Avg Interface Complex. :       1.91
+  Max Cyclomatic Complex.:         13  Avg Cyclomatic Complex.:       3.91
+  Max Total Complexity ..:         14  Avg Total Complexity ..:       5.82
+  ________________________________________________________________________
+  End of File: ..\src\qxk\qxk.c
+
+
+  File: ..\src\qxk\qxk_mutex.c
+  ________________________________________________________________________
+
+  Function: QXMutex_init
+  Parameters: (QXMutex * const me, uint_fast8_t ceiling)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical or ( || )       : 1     
+      Logical and ( && )      : 1     
+  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
+  LOC 16       eLOC 14       lLOC 8        Comment 33       Lines       25
+
+  Function: QXMutex_lock
+  Parameters: (QXMutex * const me, uint_fast16_t const nTicks)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 4     
+      Logical or ( || )       : 1     
+      Logical and ( && )      : 4     
+  Complexity   Param 2       Return 1      Cyclo Vg 10      Total       13
+  LOC 52       eLOC 45       lLOC 29       Comment 53       Lines       89
+
+  Function: QXMutex_tryLock
+  Parameters: (QXMutex * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 5     
+      Logical or ( || )       : 1     
+      Logical and ( && )      : 5     
+  Complexity   Param 1       Return 1      Cyclo Vg 12      Total       14
+  LOC 44       eLOC 37       lLOC 20       Comment 46       Lines       69
+
+  Function: QXMutex_unlock
+  Parameters: (QXMutex * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 7     
+      Logical or ( || )       : 2     
+      Logical and ( && )      : 8     
+  Complexity   Param 1       Return 1      Cyclo Vg 18      Total       20
+  LOC 67       eLOC 57       lLOC 29       Comment 66       Lines      114
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 194      eLOC 168      lLOC 86       Comment 248      Lines      449
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          4
+  Total Function LOC.....:        179  Total Function Pts LOC :        1.5
+  Total Function eLOC....:        153  Total Function Pts eLOC:        1.3
+  Total Function lLOC....:         86  Total Function Pts lLOC:        0.7
+  Total Function Params .:          6  Total Function Return .:          4
+  Total Cyclo Complexity :         44  Total Function Complex.:         54
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         67  Average Function LOC ..:      44.75
+  Max Function eLOC .....:         57  Average Function eLOC .:      38.25
+  Max Function lLOC .....:         29  Average Function lLOC .:      21.50
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          2  Avg Function Parameters:       1.50
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          3  Avg Interface Complex. :       2.50
+  Max Cyclomatic Complex.:         18  Avg Cyclomatic Complex.:      11.00
+  Max Total Complexity ..:         20  Avg Total Complexity ..:      13.50
+  ________________________________________________________________________
+  End of File: ..\src\qxk\qxk_mutex.c
+
+
+  File: ..\src\qxk\qxk_sema.c
+  ________________________________________________________________________
+
+  Function: QXSemaphore_init
+  Parameters: (QXSemaphore * const me, uint_fast16_t count, uint_fast16_t 
+              max_count)
+  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
+  LOC 6        eLOC 4        lLOC 4        Comment 22       Lines        7
+
+  Function: QXSemaphore_wait
+  Parameters: (QXSemaphore * const me, uint_fast16_t const nTicks)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical and ( && )      : 4     
+  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
+  LOC 29       eLOC 26       lLOC 18       Comment 44       Lines       44
+
+  Function: QXSemaphore_tryWait
+  Parameters: (QXSemaphore * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 15       eLOC 12       lLOC 8        Comment 18       Lines       20
+
+  Function: QXSemaphore_signal
+  Parameters: (QXSemaphore * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 3     
+      Logical and ( && )      : 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
+  LOC 32       eLOC 26       lLOC 16       Comment 35       Lines       48
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 97       eLOC 83       lLOC 46       Comment 168      Lines      262
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:          4
+  Total Function LOC.....:         82  Total Function Pts LOC :        0.8
+  Total Function eLOC....:         68  Total Function Pts eLOC:        0.6
+  Total Function lLOC....:         46  Total Function Pts lLOC:        0.4
+  Total Function Params .:          7  Total Function Return .:          4
+  Total Cyclo Complexity :         16  Total Function Complex.:         27
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         32  Average Function LOC ..:      20.50
+  Max Function eLOC .....:         26  Average Function eLOC .:      17.00
+  Max Function lLOC .....:         18  Average Function lLOC .:      11.50
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          3  Avg Function Parameters:       1.75
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          4  Avg Interface Complex. :       2.75
+  Max Cyclomatic Complex.:          7  Avg Cyclomatic Complex.:       4.00
+  Max Total Complexity ..:          9  Avg Total Complexity ..:       6.75
+  ________________________________________________________________________
+  End of File: ..\src\qxk\qxk_sema.c
+
+
+  File: ..\src\qxk\qxk_xthr.c
+  ________________________________________________________________________
+
+  Function: QXThread_ctor
+  Parameters: (QXThread * const me, QXThreadHandler handler, uint_fast8_t 
+              tickRate)
+  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
+  LOC 13       eLOC 10       lLOC 5        Comment 27       Lines       16
+
+  Function: QXThread_init_
+  Parameters: (QMsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 2        Lines        5
+
+  Function: QXThread_dispatch_
+  Parameters: (QMsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
+
+  Function: QXThread_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical and ( && )      : 4     
+  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
+  LOC 21       eLOC 18       lLOC 12       Comment 42       Lines       43
+
+  Function: QXThread_post_
+  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 9     
+      Logical or ( || )       : 1     
+      Logical and ( && )      : 1     
+  Complexity   Param 3       Return 1      Cyclo Vg 12      Total       16
+  LOC 80       eLOC 65       lLOC 45       Comment 83       Lines      115
+
+  Function: QXThread_postLIFO_
+  Parameters: (QActive * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 11       Lines        5
+
+  Function: QXThread_queueGet
+  Parameters: (uint_fast16_t const nTicks)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 4     
+      Logical and ( && )      : 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 8       Total       10
+  LOC 61       eLOC 54       lLOC 35       Comment 55       Lines       87
+
+  Function: QXThread_block_
+  Parameters: (QXThread const * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        7
+
+  Function: QXThread_unblock_
+  Parameters: (QXThread const * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+      Logical and ( && )      : 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 8        eLOC 5        lLOC 2        Comment 10       Lines        8
+
+  Function: QXThread_teArm_
+  Parameters: (QXThread * const me, QSignal sig, uint_fast16_t const nTick
+              s)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 2     
+  Complexity   Param 3       Return 1      Cyclo Vg 3       Total        7
+  LOC 14       eLOC 10       lLOC 8        Comment 23       Lines       31
+
+  Function: QXThread_teDisarm_
+  Parameters: (QXThread * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 11       eLOC 8        lLOC 5        Comment 11       Lines       13
+
+  Function: QXThread_delay
+  Parameters: (uint_fast16_t const nTicks)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 3     
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 21       eLOC 20       lLOC 14       Comment 19       Lines       37
+
+  Function: QXThread_delayCancel
+  Parameters: (QXThread * const me)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Conditional if / else if: 1     
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 14       eLOC 11       lLOC 7        Comment 2        Lines       16
+
+  Function: QXK_threadRet_
+  Parameters: (void)
+    Cyclomatic Complexity Vg Detail
+      Function Base           : 1
+      Logical and ( && )      : 3     
+  Complexity   Param 0       Return 1      Cyclo Vg 4       Total        5
+  LOC 16       eLOC 15       lLOC 10       Comment 22       Lines       27
+
+  ------------------------------------------------------------------------
+
+                          ~~ Total File Summary ~~
+
+  LOC 322      eLOC 275      lLOC 161      Comment 367      Lines      682
+  ------------------------------------------------------------------------
+
+                        ~~ File Functional Summary ~~
+
+  File Function Count....:         14
+  Total Function LOC.....:        279  Total Function Pts LOC :        2.5
+  Total Function eLOC....:        232  Total Function Pts eLOC:        2.1
+  Total Function lLOC....:        155  Total Function Pts lLOC:        1.3
+  Total Function Params .:         28  Total Function Return .:         14
+  Total Cyclo Complexity :         49  Total Function Complex.:         91
+         ------     -----     -----     ------     ------     -----       
+  Max Function LOC ......:         80  Average Function LOC ..:      19.93
+  Max Function eLOC .....:         65  Average Function eLOC .:      16.57
+  Max Function lLOC .....:         45  Average Function lLOC .:      11.07
+         ------     -----     -----     ------     ------     -----       
+  Max Function Parameters:          7  Avg Function Parameters:       2.00
+  Max Function Returns ..:          1  Avg Function Returns ..:       1.00
+  Max Interface Complex. :          8  Avg Interface Complex. :       3.00
+  Max Cyclomatic Complex.:         12  Avg Cyclomatic Complex.:       3.50
+  Max Total Complexity ..:         16  Avg Total Complexity ..:       6.50
+  ________________________________________________________________________
+  End of File: ..\src\qxk\qxk_xthr.c
+
+
+  ------------------------------------------------------------------------
+
+                     ~~ Project Analysis For 35 Files ~~
+
+  ------------------------------------------------------------------------
+
+                         ~~ Total Project Summary ~~
+
+  LOC 4565     eLOC 4126     lLOC 1868     Comment 7310     Lines    12088
+  Average per File, metric/35 files
+  LOC 130      eLOC 117      lLOC 53       Comment 208      Lines      345
+
+  ------------------------------------------------------------------------
+
+                      ~~ Project Functional Metrics ~~
+
+  Function: QF_LOG2
+  Parameters: (uint32_t x)
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 25       eLOC 20       lLOC 12       Comment 7        Lines       26
+
+  Function: QHsm_ctor
+  Parameters: (QHsm * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 9        eLOC 7        lLOC 4        Comment 21       Lines        9
+
+  Function: QHsm_init_
+  Parameters: (QHsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
+  LOC 50       eLOC 47       lLOC 31       Comment 35       Lines       70
+
+  Function: QHsm_top
+  Parameters: (void const * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 18       Lines        5
+
+  Function: QHsm_dispatch_
+  Parameters: (QHsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 13      Total       16
+  LOC 106      eLOC 95       lLOC 62       Comment 67       Lines      147
+
+  Function: QHsm_tran_
+  Parameters: (QHsm * const me, QStateHandler path[QHSM_MAX_NEST_DEPTH_])
+  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
+  LOC 97       eLOC 76       lLOC 48       Comment 63       Lines      134
+
+  Function: QHsm_isIn
+  Parameters: (QHsm * const me, QStateHandler const state)
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 16       eLOC 13       lLOC 9        Comment 22       Lines       21
+
+  Function: QHsm_childState_
+  Parameters: (QHsm * const me, QStateHandler const parent)
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 19       eLOC 15       lLOC 12       Comment 33       Lines       25
+
+  Function: QMsm_ctor
+  Parameters: (QMsm * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 9        eLOC 7        lLOC 4        Comment 29       Lines       10
+
+  Function: QMsm_init_
+  Parameters: (QMsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
+  LOC 23       eLOC 22       lLOC 13       Comment 26       Lines       37
+
+  Function: QMsm_dispatch_
+  Parameters: (QMsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 15      Total       18
+  LOC 124      eLOC 107      lLOC 65       Comment 83       Lines      164
+
+  Function: QMsm_execTatbl_
+  Parameters: (QMsm * const me, QMTranActTable const *tatbl)
+  Complexity   Param 2       Return 1      Cyclo Vg 8       Total       11
+  LOC 50       eLOC 42       lLOC 20       Comment 32       Lines       60
+
+  Function: QMsm_exitToTranSource_
+  Parameters: (QMsm * const me, QMState const *s, QMState const *ts)
+  Complexity   Param 3       Return 1      Cyclo Vg 4       Total        8
+  LOC 17       eLOC 12       lLOC 6        Comment 20       Lines       23
+
+  Function: QMsm_enterHistory_
+  Parameters: (QMsm * const me, QMState const *const hist)
+  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
+  LOC 40       eLOC 33       lLOC 21       Comment 25       Lines       48
+
+  Function: QMsm_isInState
+  Parameters: (QMsm const * const me, QMState const * const state)
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 11       eLOC 8        lLOC 6        Comment 17       Lines       12
+
+  Function: QMsm_childStateObj_
+  Parameters: (QMsm const * const me, QMState const * const parent)
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 19       eLOC 13       lLOC 9        Comment 22       Lines       23
+
+  Function: QF_add_
+  Parameters: (QActive * const a)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 10       eLOC 9        lLOC 5        Comment 20       Lines       17
+
+  Function: QF_remove_
+  Parameters: (QActive * const a)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 11       eLOC 10       lLOC 6        Comment 21       Lines       18
+
+  Function: QF_bzero
+  Parameters: (void * const start, uint_fast16_t len)
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 8        eLOC 6        lLOC 4        Comment 14       Lines        8
+
+  Function: QF_LOG2
+  Parameters: (uint32_t x)
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 25       eLOC 20       lLOC 12       Comment 1        Lines       26
+
+  Function: QActive_post_
+  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+  Complexity   Param 3       Return 1      Cyclo Vg 14      Total       18
+  LOC 85       eLOC 68       lLOC 38       Comment 75       Lines      110
+
+  Function: QActive_postLIFO_
+  Parameters: (QActive * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 41       eLOC 34       lLOC 23       Comment 41       Lines       56
+
+  Function: QActive_get_
+  Parameters: (QActive * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 37       eLOC 33       lLOC 23       Comment 41       Lines       47
+
+  Function: QF_getQueueMin
+  Parameters: (uint_fast8_t const prio)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 10       eLOC 9        lLOC 6        Comment 19       Lines       13
+
+  Function: QTicker_ctor
+  Parameters: (QTicker * const me, uint8_t tickRate)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 12       eLOC 10       lLOC 4        Comment 6        Lines       14
+
+  Function: QTicker_init_
+  Parameters: (QHsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
+
+  Function: QTicker_dispatch_
+  Parameters: (QHsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 12       eLOC 10       lLOC 8        Comment 4        Lines       15
+
+  Function: QTicker_post_
+  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
+  LOC 24       eLOC 21       lLOC 17       Comment 15       Lines       32
+
+  Function: QTicker_postLIFO_
+  Parameters: (QActive * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
+
+  Function: QActive_defer
+  Parameters: (QActive const * const me, QEQueue * const eq, QEvt const * 
+              const e)
+  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
+  LOC 13       eLOC 11       lLOC 8        Comment 31       Lines       16
+
+  Function: QActive_recall
+  Parameters: (QActive * const me, QEQueue * const eq)
+  Complexity   Param 2       Return 1      Cyclo Vg 3       Total        6
+  LOC 32       eLOC 28       lLOC 18       Comment 43       Lines       52
+
+  Function: QActive_flushDeferred
+  Parameters: (QActive const * const me, QEQueue * const eq)
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 10       eLOC 7        lLOC 7        Comment 19       Lines       12
+
+  Function: QEvt_ctor
+  Parameters: (QEvt * const me, enum_t const sig)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        6
+
+  Function: QF_poolInit
+  Parameters: (void * const poolSto, uint_fast32_t const poolSize, uint_fa
+              st16_t const evtSize)
+  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
+  LOC 8        eLOC 6        lLOC 4        Comment 38       Lines       12
+
+  Function: QF_newX_
+  Parameters: (uint_fast16_t const evtSize, uint_fast16_t const margin, en
+              um_t const sig)
+  Complexity   Param 3       Return 1      Cyclo Vg 5       Total        9
+  LOC 29       eLOC 23       lLOC 14       Comment 40       Lines       39
+
+  Function: QF_gc
+  Parameters: (QEvt const * const e)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 26       eLOC 22       lLOC 13       Comment 36       Lines       40
+
+  Function: QF_newRef_
+  Parameters: (QEvt const * const e, void const * const evtRef)
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 15       eLOC 14       lLOC 8        Comment 21       Lines       23
+
+  Function: QF_deleteRef_
+  Parameters: (void const * const evtRef)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 10       eLOC 9        lLOC 5        Comment 14       Lines       12
+
+  Function: QF_poolGetMaxBlockSize
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 5        Lines        3
+
+  Function: QMPool_init
+  Parameters: (QMPool * const me, void * const poolSto, uint_fast32_t pool
+              Size, uint_fast16_t blockSize)
+  Complexity   Param 4       Return 1      Cyclo Vg 5       Total       10
+  LOC 31       eLOC 27       lLOC 22       Comment 59       Lines       46
+
+  Function: QMPool_put
+  Parameters: (QMPool * const me, void *b)
+  Complexity   Param 2       Return 1      Cyclo Vg 2       Total        5
+  LOC 15       eLOC 14       lLOC 9        Comment 31       Lines       22
+
+  Function: QMPool_get
+  Parameters: (QMPool * const me, uint_fast16_t const margin)
+  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
+  LOC 42       eLOC 36       lLOC 23       Comment 56       Lines       65
+
+  Function: QF_getPoolMin
+  Parameters: (uint_fast8_t const poolId)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 10       eLOC 9        lLOC 6        Comment 14       Lines       14
+
+  Function: QF_psInit
+  Parameters: (QSubscrList * const subscrSto, enum_t const maxSignal)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 7        eLOC 6        lLOC 3        Comment 33       Lines       12
+
+  Function: QF_publish_
+  Parameters: (QEvt const * const e)
+  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
+  LOC 36       eLOC 30       lLOC 21       Comment 50       Lines       63
+
+  Function: QActive_subscribe
+  Parameters: (QActive const * const me, enum_t const sig)
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 16       eLOC 15       lLOC 8        Comment 23       Lines       22
+
+  Function: QActive_unsubscribe
+  Parameters: (QActive const * const me, enum_t const sig)
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 16       eLOC 15       lLOC 8        Comment 32       Lines       25
+
+  Function: QActive_unsubscribeAll
+  Parameters: (QActive const * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 5       Total        7
+  LOC 23       eLOC 19       lLOC 10       Comment 26       Lines       26
+
+  Function: QActive_ctor
+  Parameters: (QActive * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 12       eLOC 10       lLOC 4        Comment 19       Lines       17
+
+  Function: QEQueue_init
+  Parameters: (QEQueue * const me, QEvt const *qSto[], uint_fast16_t const
+               qLen)
+  Complexity   Param 3       Return 1      Cyclo Vg 2       Total        6
+  LOC 11       eLOC 8        lLOC 7        Comment 21       Lines       11
+
+  Function: QEQueue_post
+  Parameters: (QEQueue * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+  Complexity   Param 3       Return 1      Cyclo Vg 8       Total       12
+  LOC 55       eLOC 45       lLOC 30       Comment 56       Lines       74
+
+  Function: QEQueue_postLIFO
+  Parameters: (QEQueue * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 5       Total        8
+  LOC 34       eLOC 29       lLOC 21       Comment 44       Lines       44
+
+  Function: QEQueue_get
+  Parameters: (QEQueue * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 37       eLOC 32       lLOC 21       Comment 38       Lines       47
+
+  Function: QMActive_ctor
+  Parameters: (QMActive * const me, QStateHandler initial)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 12       eLOC 10       lLOC 4        Comment 28       Lines       28
+
+  Function: QF_tickX_
+  Parameters: (uint_fast8_t const tickRate)
+  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
+  LOC 66       eLOC 54       lLOC 36       Comment 56       Lines       94
+
+  Function: QF_noTimeEvtsActiveX
+  Parameters: (uint_fast8_t const tickRate)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 14       eLOC 10       lLOC 6        Comment 15       Lines       17
+
+  Function: QTimeEvt_ctorX
+  Parameters: (QTimeEvt * const me, QActive * const act, enum_t const sig,
+               uint_fast8_t tickRate)
+  Complexity   Param 4       Return 1      Cyclo Vg 2       Total        7
+  LOC 11       eLOC 9        lLOC 8        Comment 32       Lines       31
+
+  Function: QTimeEvt_armX
+  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks, QTimeEvtCtr 
+              const interval)
+  Complexity   Param 3       Return 1      Cyclo Vg 6       Total       10
+  LOC 28       eLOC 25       lLOC 16       Comment 51       Lines       50
+
+  Function: QTimeEvt_disarm
+  Parameters: (QTimeEvt * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 29       eLOC 26       lLOC 17       Comment 32       Lines       37
+
+  Function: QTimeEvt_rearm
+  Parameters: (QTimeEvt * const me, QTimeEvtCtr const nTicks)
+  Complexity   Param 2       Return 1      Cyclo Vg 7       Total       10
+  LOC 34       eLOC 30       lLOC 18       Comment 47       Lines       60
+
+  Function: QTimeEvt_ctr
+  Parameters: (QTimeEvt const * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 8        eLOC 7        lLOC 5        Comment 16       Lines       10
+
+  Function: QF_init
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 11       eLOC 10       lLOC 7        Comment 12       Lines       13
+
+  Function: QF_stop
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
+
+  Function: QF_run
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 5       Total        6
+  LOC 48       eLOC 42       lLOC 24       Comment 37       Lines       75
+
+  Function: QActive_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+  Complexity   Param 7       Return 1      Cyclo Vg 3       Total       11
+  LOC 11       eLOC 9        lLOC 7        Comment 31       Lines       17
+
+  Function: QActive_stop
+  Parameters: (QActive * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 7        eLOC 6        lLOC 4        Comment 13       Lines       10
+
+  Function: QF_init
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 13       eLOC 12       lLOC 9        Comment 14       Lines       16
+
+  Function: QF_stop
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
+
+  Function: initial_events
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
+
+  Function: QF_run
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 12       eLOC 10       lLOC 7        Comment 13       Lines       14
+
+  Function: QActive_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+  Complexity   Param 7       Return 1      Cyclo Vg 5       Total       13
+  LOC 18       eLOC 15       lLOC 10       Comment 34       Lines       29
+
+  Function: QActive_stop
+  Parameters: (QActive * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
+
+  Function: QK_schedLock
+  Parameters: (uint_fast8_t ceiling)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 22       eLOC 19       lLOC 12       Comment 32       Lines       33
+
+  Function: QK_schedUnlock
+  Parameters: (QSchedStatus stat)
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 21       eLOC 18       lLOC 10       Comment 28       Lines       33
+
+  Function: QK_sched_
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 3       Total        4
+  LOC 15       eLOC 11       lLOC 7        Comment 21       Lines       19
+
+  Function: QK_activate_
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 11      Total       12
+  LOC 69       eLOC 61       lLOC 32       Comment 53       Lines      101
+
+  Function: QF_init
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 17       eLOC 16       lLOC 13       Comment 17       Lines       23
+
+  Function: QF_stop
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 1       Total        2
+  LOC 3        eLOC 2        lLOC 1        Comment 14       Lines        4
+
+  Function: initial_events
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 6        eLOC 4        lLOC 2        Comment 6        Lines        8
+
+  Function: QF_run
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 12       eLOC 10       lLOC 7        Comment 12       Lines       15
+
+  Function: QActive_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
+  LOC 20       eLOC 17       lLOC 11       Comment 38       Lines       31
+
+  Function: QActive_stop
+  Parameters: (QActive * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 11       eLOC 9        lLOC 6        Comment 13       Lines       15
+
+  Function: QXK_schedLock
+  Parameters: (uint_fast8_t ceiling)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 25       eLOC 22       lLOC 12       Comment 40       Lines       35
+
+  Function: QXK_schedUnlock
+  Parameters: (QSchedStatus stat)
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 21       eLOC 18       lLOC 10       Comment 33       Lines       33
+
+  Function: QXK_sched_
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 7       Total        8
+  LOC 52       eLOC 42       lLOC 23       Comment 36       Lines       68
+
+  Function: QXK_activate_
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 13      Total       14
+  LOC 88       eLOC 78       lLOC 42       Comment 64       Lines      130
+
+  Function: QXK_current
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 2       Total        3
+  LOC 13       eLOC 11       lLOC 8        Comment 4        Lines       20
+
+  Function: QXMutex_init
+  Parameters: (QXMutex * const me, uint_fast8_t ceiling)
+  Complexity   Param 2       Return 1      Cyclo Vg 4       Total        7
+  LOC 16       eLOC 14       lLOC 8        Comment 33       Lines       25
+
+  Function: QXMutex_lock
+  Parameters: (QXMutex * const me, uint_fast16_t const nTicks)
+  Complexity   Param 2       Return 1      Cyclo Vg 10      Total       13
+  LOC 52       eLOC 45       lLOC 29       Comment 53       Lines       89
+
+  Function: QXMutex_tryLock
+  Parameters: (QXMutex * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 12      Total       14
+  LOC 44       eLOC 37       lLOC 20       Comment 46       Lines       69
+
+  Function: QXMutex_unlock
+  Parameters: (QXMutex * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 18      Total       20
+  LOC 67       eLOC 57       lLOC 29       Comment 66       Lines      114
+
+  Function: QXSemaphore_init
+  Parameters: (QXSemaphore * const me, uint_fast16_t count, uint_fast16_t 
+              max_count)
+  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
+  LOC 6        eLOC 4        lLOC 4        Comment 22       Lines        7
+
+  Function: QXSemaphore_wait
+  Parameters: (QXSemaphore * const me, uint_fast16_t const nTicks)
+  Complexity   Param 2       Return 1      Cyclo Vg 6       Total        9
+  LOC 29       eLOC 26       lLOC 18       Comment 44       Lines       44
+
+  Function: QXSemaphore_tryWait
+  Parameters: (QXSemaphore * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 15       eLOC 12       lLOC 8        Comment 18       Lines       20
+
+  Function: QXSemaphore_signal
+  Parameters: (QXSemaphore * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 7       Total        9
+  LOC 32       eLOC 26       lLOC 16       Comment 35       Lines       48
+
+  Function: QXThread_ctor
+  Parameters: (QXThread * const me, QXThreadHandler handler, uint_fast8_t 
+              tickRate)
+  Complexity   Param 3       Return 1      Cyclo Vg 1       Total        5
+  LOC 13       eLOC 10       lLOC 5        Comment 27       Lines       16
+
+  Function: QXThread_init_
+  Parameters: (QMsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 2        Lines        5
+
+  Function: QXThread_dispatch_
+  Parameters: (QMsm * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 1        Lines        5
+
+  Function: QXThread_start_
+  Parameters: (QActive * const me, uint_fast8_t prio, QEvt const *qSto[], 
+              uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, QEv
+              t const *ie)
+  Complexity   Param 7       Return 1      Cyclo Vg 6       Total       14
+  LOC 21       eLOC 18       lLOC 12       Comment 42       Lines       43
+
+  Function: QXThread_post_
+  Parameters: (QActive * const me, QEvt const * const e, uint_fast16_t con
+              st margin)
+  Complexity   Param 3       Return 1      Cyclo Vg 12      Total       16
+  LOC 80       eLOC 65       lLOC 45       Comment 83       Lines      115
+
+  Function: QXThread_postLIFO_
+  Parameters: (QActive * const me, QEvt const * const e)
+  Complexity   Param 2       Return 1      Cyclo Vg 1       Total        4
+  LOC 5        eLOC 4        lLOC 3        Comment 11       Lines        5
+
+  Function: QXThread_queueGet
+  Parameters: (uint_fast16_t const nTicks)
+  Complexity   Param 1       Return 1      Cyclo Vg 8       Total       10
+  LOC 61       eLOC 54       lLOC 35       Comment 55       Lines       87
+
+  Function: QXThread_block_
+  Parameters: (QXThread const * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 1       Total        3
+  LOC 5        eLOC 4        lLOC 3        Comment 9        Lines        7
+
+  Function: QXThread_unblock_
+  Parameters: (QXThread const * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 3       Total        5
+  LOC 8        eLOC 5        lLOC 2        Comment 10       Lines        8
+
+  Function: QXThread_teArm_
+  Parameters: (QXThread * const me, QSignal sig, uint_fast16_t const nTick
+              s)
+  Complexity   Param 3       Return 1      Cyclo Vg 3       Total        7
+  LOC 14       eLOC 10       lLOC 8        Comment 23       Lines       31
+
+  Function: QXThread_teDisarm_
+  Parameters: (QXThread * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 11       eLOC 8        lLOC 5        Comment 11       Lines       13
+
+  Function: QXThread_delay
+  Parameters: (uint_fast16_t const nTicks)
+  Complexity   Param 1       Return 1      Cyclo Vg 4       Total        6
+  LOC 21       eLOC 20       lLOC 14       Comment 19       Lines       37
+
+  Function: QXThread_delayCancel
+  Parameters: (QXThread * const me)
+  Complexity   Param 1       Return 1      Cyclo Vg 2       Total        4
+  LOC 14       eLOC 11       lLOC 7        Comment 2        Lines       16
+
+  Function: QXK_threadRet_
+  Parameters: (void)
+  Complexity   Param 0       Return 1      Cyclo Vg 4       Total        5
+  LOC 16       eLOC 15       lLOC 10       Comment 22       Lines       27
+
+  Total: Functions  
+  LOC 2681     eLOC 2263     lLOC 1422     InCmp 295      CycloCmp     434
+  Function Points         FP(LOC) 20.8    FP(eLOC) 17.5   FP(lLOC)    11.0
+
+  ------------------------------------------------------------------------
+
+                      ~~ Project Functional Analysis ~~
+
+  Total Functions .......:        109  Total Physical Lines ..:       3814
+  Total LOC .............:       2681  Total Function Pts LOC :       20.8
+  Total eLOC ............:       2263  Total Function Pts eLOC:       17.5
+  Total lLOC.............:       1422  Total Function Pts lLOC:       11.0
+  Total Cyclomatic Comp. :        434  Total Interface Comp. .:        295
+  Total Parameters ......:        186  Total Return Points ...:        109
+  Total Comment Lines ...:       3060  Total Blank Lines .....:        568
+         ------     -----     -----     ------     ------     -----       
+  Avg Physical Lines ....:      34.99
+  Avg LOC ...............:      24.60  Avg eLOC ..............:      20.76
+  Avg lLOC ..............:      13.05  Avg Cyclomatic Comp. ..:       3.98
+  Avg Interface Comp. ...:       2.71  Avg Parameters ........:       1.71
+  Avg Return Points .....:       1.00  Avg Comment Lines .....:      28.07
+         ------     -----     -----     ------     ------     -----       
+  Max LOC ...............:        124
+  Max eLOC ..............:        107  Max lLOC ..............:         65
+  Max Cyclomatic Comp. ..:         18  Max Interface Comp. ...:          8
+  Max Parameters ........:          7  Max Return Points .....:          1
+  Max Comment Lines .....:         83  Max Total Lines .......:        164
+         ------     -----     -----     ------     ------     -----       
+  Min LOC ...............:          3
+  Min eLOC ..............:          2  Min lLOC ..............:          1
+  Min Cyclomatic Comp. ..:          1  Min Interface Comp. ...:          1
+  Min Parameters ........:          0  Min Return Points .....:          1
+  Min Comment Lines .....:          1  Min Total Lines .......:          3
+
+  ------------------------------------------------------------------------
+
+                             ~~ File Summary ~~
+
+  C Source Files *.c ....:         18  C/C++ Include Files *.h:         17
+  C++ Source Files *.c* .:          0  C++ Include Files *.h* :          0
+  C# Source Files *.cs ..:          0  Java Source File *.jav*:          0
+  Other File Count ......:          0  Total File Count ......:         35
+  ________________________________________________________________________
+
+@endcode 
+*/ 

+ 10 - 10
examples/qutest/qmsmtst/qmsmtst.c

@@ -1,21 +1,21 @@
 /*$file${.::qmsmtst.c} #####################################################*/
 /*
 * Model: qmsmtst.qm
-* File:  C:/qp_lab/qpc/examples/qutest/qmsmtst/qmsmtst.c
+* File:  ${.::qmsmtst.c}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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 #   : QPC-EVAL-171231
-* Issued to   : Company/individual evaluating the QP/C framework
+* License #   : QPC-EVAL-181231
+* Issued to   : Institution or an individual evaluating the QP frameworks
 * Framework(s): qpc
-* Support ends: 2017-12-31
+* Support ends: 2018-12-31
 * Product(s)  :
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* https://state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::qmsmtst.c} ##################################################*/
 #include "qpc.h"
@@ -63,7 +63,7 @@ static QMState const QMsmTst_s11_s = {
     Q_STATE_CAST(&QMsmTst_s11),
     Q_ACTION_CAST(&QMsmTst_s11_e),
     Q_ACTION_CAST(&QMsmTst_s11_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState QMsmTst_s2  (QMsmTst * const me, QEvt const * const e);
 static QState QMsmTst_s2_e(QMsmTst * const me);
@@ -95,7 +95,7 @@ static QMState const QMsmTst_s211_s = {
     Q_STATE_CAST(&QMsmTst_s211),
     Q_ACTION_CAST(&QMsmTst_s211_e),
     Q_ACTION_CAST(&QMsmTst_s211_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 /*$enddecl${SMs::QMsmTst} ##################################################*/
 
@@ -106,8 +106,8 @@ QMsm * const the_msm = (QMsm *)&l_msmtst;    /* the opaque pointer */
 
 /*$define${SMs::QMsmTst_ctor} ##############################################*/
 /* Check for the minimum required QP version */
-#if ((QP_VERSION < 601) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
-#error qpc version 6.0.1 or higher required
+#if ((QP_VERSION < 630) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
+#error qpc version 6.3.0 or higher required
 #endif
 /*${SMs::QMsmTst_ctor} .....................................................*/
 void QMsmTst_ctor(void) {

+ 6 - 6
examples/qutest/qmsmtst/qmsmtst.h

@@ -1,21 +1,21 @@
 /*$file${.::qmsmtst.h} #####################################################*/
 /*
 * Model: qmsmtst.qm
-* File:  C:/qp_lab/qpc/examples/qutest/qmsmtst/qmsmtst.h
+* File:  ${.::qmsmtst.h}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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 #   : QPC-EVAL-171231
-* Issued to   : Company/individual evaluating the QP/C framework
+* License #   : QPC-EVAL-181231
+* Issued to   : Institution or an individual evaluating the QP frameworks
 * Framework(s): qpc
-* Support ends: 2017-12-31
+* Support ends: 2018-12-31
 * Product(s)  :
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* https://state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::qmsmtst.h} ##################################################*/
 #ifndef qmsmtst_h

+ 2 - 2
examples/qutest/qmsmtst/qmsmtst.qm

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<model version="4.1.0" links="0">
+<model version="4.2.0" links="0">
  <documentation>QMsmTst is a QMsm state machine test based on the contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting.</documentation>
- <framework name="qpc" license="../../../QPC-EVAL-171231.qlc"/>
+ <framework name="qpc" license="../../../QPC-EVAL-181231.qlc"/>
  <package name="SMs" stereotype="0x02">
   <class name="QMsmTst" superclass="qpc::QMsm">
    <documentation>Test active object</documentation>

+ 24 - 24
examples/win32/calc1_sub/calc1_sub.c

@@ -3,7 +3,7 @@
 * Model: calc1_sub.qm
 * File:  ${.::calc1_sub.c}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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:
@@ -15,7 +15,7 @@
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* http://www.state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::calc1_sub.c} ################################################*/
 #include "qep_port.h"  /* QEP/C interface */
@@ -71,7 +71,7 @@ static QMState const Calc_result_s = {
     Q_STATE_CAST(&Calc_result),
     Q_ACTION_CAST(&Calc_result_e),
     Q_ACTION_CAST(&Calc_result_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_begin  (Calc * const me, QEvt const * const e);
 static QState Calc_begin_e(Calc * const me);
@@ -81,7 +81,7 @@ static QMState const Calc_begin_s = {
     Q_STATE_CAST(&Calc_begin),
     Q_ACTION_CAST(&Calc_begin_e),
     Q_ACTION_CAST(&Calc_begin_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_operand1  (Calc * const me, QEvt const * const e);
 static QState Calc_operand1_e(Calc * const me);
@@ -92,7 +92,7 @@ static struct SM_operand const Calc_operand1_s = {
         Q_STATE_CAST(&Calc_operand1),
         Q_ACTION_CAST(&Calc_operand1_e),
         Q_ACTION_CAST(0), /* no exit action */
-        Q_ACTION_CAST(0)  /* no intitial tran. */
+        Q_ACTION_CAST(0)  /* no initial tran. */
     }
     ,Q_ACTION_CAST(&Calc_operand1_ce)
 };
@@ -104,7 +104,7 @@ static QMState const Calc_opEntered_s = {
     Q_STATE_CAST(&Calc_opEntered),
     Q_ACTION_CAST(&Calc_opEntered_e),
     Q_ACTION_CAST(&Calc_opEntered_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_error  (Calc * const me, QEvt const * const e);
 static QState Calc_error_e(Calc * const me);
@@ -114,7 +114,7 @@ static QMState const Calc_error_s = {
     Q_STATE_CAST(&Calc_error),
     Q_ACTION_CAST(&Calc_error_e),
     Q_ACTION_CAST(&Calc_error_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_operand2  (Calc * const me, QEvt const * const e);
 static QState Calc_operand2_e(Calc * const me);
@@ -125,7 +125,7 @@ static struct SM_operand const Calc_operand2_s = {
         Q_STATE_CAST(&Calc_operand2),
         Q_ACTION_CAST(&Calc_operand2_e),
         Q_ACTION_CAST(0), /* no exit action */
-        Q_ACTION_CAST(0)  /* no intitial tran. */
+        Q_ACTION_CAST(0)  /* no initial tran. */
     }
     ,Q_ACTION_CAST(&Calc_operand2_ce)
 };
@@ -136,7 +136,7 @@ static QMState const Calc_final_s = {
     Q_STATE_CAST(&Calc_final),
     Q_ACTION_CAST(&Calc_final_e),
     Q_ACTION_CAST(0), /* no exit action */
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 
 static QState Calc_operand  (Calc * const me, QEvt const * const e);
@@ -147,7 +147,7 @@ static QMState const Calc_operand_s = {
     Q_STATE_CAST(&Calc_operand),
     Q_ACTION_CAST(&Calc_operand_e),
     Q_ACTION_CAST(&Calc_operand_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_operand_zero_ep(Calc * const me);
 static QState Calc_operand_intgr_ep(Calc * const me);
@@ -161,7 +161,7 @@ static QMState const Calc_operand_zero_s = {
     Q_STATE_CAST(&Calc_operand_zero),
     Q_ACTION_CAST(&Calc_operand_zero_e),
     Q_ACTION_CAST(&Calc_operand_zero_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_operand_intgr  (Calc * const me, QEvt const * const e);
 static QState Calc_operand_intgr_e(Calc * const me);
@@ -171,7 +171,7 @@ static QMState const Calc_operand_intgr_s = {
     Q_STATE_CAST(&Calc_operand_intgr),
     Q_ACTION_CAST(&Calc_operand_intgr_e),
     Q_ACTION_CAST(&Calc_operand_intgr_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_operand_frac  (Calc * const me, QEvt const * const e);
 static QState Calc_operand_frac_e(Calc * const me);
@@ -181,7 +181,7 @@ static QMState const Calc_operand_frac_s = {
     Q_STATE_CAST(&Calc_operand_frac),
     Q_ACTION_CAST(&Calc_operand_frac_e),
     Q_ACTION_CAST(&Calc_operand_frac_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState Calc_operand_neg  (Calc * const me, QEvt const * const e);
 static QState Calc_operand_neg_e(Calc * const me);
@@ -191,7 +191,7 @@ static QMState const Calc_operand_neg_s = {
     Q_STATE_CAST(&Calc_operand_neg),
     Q_ACTION_CAST(&Calc_operand_neg_e),
     Q_ACTION_CAST(&Calc_operand_neg_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 /*$enddecl${SMs::Calc} #####################################################*/
 
@@ -202,8 +202,8 @@ QMsm * const the_calc = &l_calc.super;  /* "opaque" pointer to MSM */
 
 /*$define${SMs::Calc_ctor} #################################################*/
 /* Check for the minimum required QP version */
-#if ((QP_VERSION < 601) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
-#error qpc version 6.0.1 or higher required
+#if ((QP_VERSION < 630) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
+#error qpc version 6.3.0 or higher required
 #endif
 /*${SMs::Calc_ctor} ........................................................*/
 void Calc_ctor(void) {
@@ -345,7 +345,7 @@ static QState Calc_ready(Calc * const me, QEvt const * const e) {
                 QMState const *target;
                 QActionHandler act[4];
             } const tatbl_ = { /* tran-action table */
-                &Calc_operand1_s.super, /* target state */
+                &Calc_operand_s, /* target submachine */
                 {
                     Q_ACTION_CAST(&Calc_ready_x), /* exit */
                     Q_ACTION_CAST(&Calc_operand1_e), /* entry */
@@ -363,7 +363,7 @@ static QState Calc_ready(Calc * const me, QEvt const * const e) {
                 QMState const *target;
                 QActionHandler act[4];
             } const tatbl_ = { /* tran-action table */
-                &Calc_operand1_s.super, /* target state */
+                &Calc_operand_s, /* target submachine */
                 {
                     Q_ACTION_CAST(&Calc_ready_x), /* exit */
                     Q_ACTION_CAST(&Calc_operand1_e), /* entry */
@@ -382,7 +382,7 @@ static QState Calc_ready(Calc * const me, QEvt const * const e) {
                 QMState const *target;
                 QActionHandler act[4];
             } const tatbl_ = { /* tran-action table */
-                &Calc_operand1_s.super, /* target state */
+                &Calc_operand_s, /* target submachine */
                 {
                     Q_ACTION_CAST(&Calc_ready_x), /* exit */
                     Q_ACTION_CAST(&Calc_operand1_e), /* entry */
@@ -471,7 +471,7 @@ static QState Calc_begin(Calc * const me, QEvt const * const e) {
                     QMState const *target;
                     QActionHandler act[5];
                 } const tatbl_ = { /* tran-action table */
-                    &Calc_operand1_s.super, /* target state */
+                    &Calc_operand_s, /* target submachine */
                     {
                         Q_ACTION_CAST(&Calc_begin_x), /* exit */
                         Q_ACTION_CAST(&Calc_ready_x), /* exit */
@@ -586,7 +586,7 @@ static QState Calc_opEntered(Calc * const me, QEvt const * const e) {
                 QMState const *target;
                 QActionHandler act[4];
             } const tatbl_ = { /* tran-action table */
-                &Calc_operand2_s.super, /* target state */
+                &Calc_operand_s, /* target submachine */
                 {
                     Q_ACTION_CAST(&Calc_opEntered_x), /* exit */
                     Q_ACTION_CAST(&Calc_operand2_e), /* entry */
@@ -604,7 +604,7 @@ static QState Calc_opEntered(Calc * const me, QEvt const * const e) {
                 QMState const *target;
                 QActionHandler act[4];
             } const tatbl_ = { /* tran-action table */
-                &Calc_operand2_s.super, /* target state */
+                &Calc_operand_s, /* target submachine */
                 {
                     Q_ACTION_CAST(&Calc_opEntered_x), /* exit */
                     Q_ACTION_CAST(&Calc_operand2_e), /* entry */
@@ -623,7 +623,7 @@ static QState Calc_opEntered(Calc * const me, QEvt const * const e) {
                 QMState const *target;
                 QActionHandler act[4];
             } const tatbl_ = { /* tran-action table */
-                &Calc_operand2_s.super, /* target state */
+                &Calc_operand_s, /* target submachine */
                 {
                     Q_ACTION_CAST(&Calc_opEntered_x), /* exit */
                     Q_ACTION_CAST(&Calc_operand2_e), /* entry */
@@ -645,7 +645,7 @@ static QState Calc_opEntered(Calc * const me, QEvt const * const e) {
                     QMState const *target;
                     QActionHandler act[4];
                 } const tatbl_ = { /* tran-action table */
-                    &Calc_operand2_s.super, /* target state */
+                    &Calc_operand_s, /* target submachine */
                     {
                         Q_ACTION_CAST(&Calc_opEntered_x), /* exit */
                         Q_ACTION_CAST(&Calc_operand2_e), /* entry */

+ 2 - 2
examples/win32/calc1_sub/calc1_sub.h

@@ -3,7 +3,7 @@
 * Model: calc1_sub.qm
 * File:  ${.::calc1_sub.h}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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:
@@ -15,7 +15,7 @@
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* http://www.state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::calc1_sub.h} ################################################*/
 #ifndef calc1_sub_h

+ 1 - 1
examples/win32/calc1_sub/calc1_sub.qm

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<model version="4.1.2" links="0">
+<model version="4.2.0" links="0">
  <documentation>Calc is the model of the Calculator described in Chapter 4 of PSiCC2. This version demonstrates the use of sub-machines and sub-machine states.</documentation>
  <framework name="qpc" license="../../../QPC-EVAL-181231.qlc"/>
  <package name="Events" stereotype="0x01">

+ 13 - 13
examples/win32/history_qmsm/history.c

@@ -1,21 +1,21 @@
 /*$file${.::history.c} #####################################################*/
 /*
 * Model: history.qm
-* File:  C:/qp_lab/qpc/examples/win32/history_qmsm/history.c
+* File:  ${.::history.c}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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 #   : QPC-EVAL-171231
-* Issued to   : Company/individual evaluating the QP/C framework
+* License #   : QPC-EVAL-181231
+* Issued to   : Institution or an individual evaluating the QP frameworks
 * Framework(s): qpc
-* Support ends: 2017-12-31
+* Support ends: 2018-12-31
 * Product(s)  :
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* https://state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::history.c} ##################################################*/
 #include "qpc.h"
@@ -68,7 +68,7 @@ static QMState const ToastOven_toasting_s = {
     Q_STATE_CAST(&ToastOven_toasting),
     Q_ACTION_CAST(&ToastOven_toasting_e),
     Q_ACTION_CAST(0), /* no exit action */
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState ToastOven_baking  (ToastOven * const me, QEvt const * const e);
 static QState ToastOven_baking_e(ToastOven * const me);
@@ -77,7 +77,7 @@ static QMState const ToastOven_baking_s = {
     Q_STATE_CAST(&ToastOven_baking),
     Q_ACTION_CAST(&ToastOven_baking_e),
     Q_ACTION_CAST(0), /* no exit action */
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState ToastOven_off  (ToastOven * const me, QEvt const * const e);
 static QState ToastOven_off_e(ToastOven * const me);
@@ -86,7 +86,7 @@ static QMState const ToastOven_off_s = {
     Q_STATE_CAST(&ToastOven_off),
     Q_ACTION_CAST(&ToastOven_off_e),
     Q_ACTION_CAST(0), /* no exit action */
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState ToastOven_doorOpen  (ToastOven * const me, QEvt const * const e);
 static QState ToastOven_doorOpen_e(ToastOven * const me);
@@ -96,7 +96,7 @@ static QMState const ToastOven_doorOpen_s = {
     Q_STATE_CAST(&ToastOven_doorOpen),
     Q_ACTION_CAST(&ToastOven_doorOpen_e),
     Q_ACTION_CAST(&ToastOven_doorOpen_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState ToastOven_final  (ToastOven * const me, QEvt const * const e);
 static QState ToastOven_final_e(ToastOven * const me);
@@ -105,7 +105,7 @@ static QMState const ToastOven_final_s = {
     Q_STATE_CAST(&ToastOven_final),
     Q_ACTION_CAST(&ToastOven_final_e),
     Q_ACTION_CAST(0), /* no exit action */
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 /*$enddecl${SMs::ToastOven} ################################################*/
 
@@ -116,8 +116,8 @@ QMsm * const the_oven = (QMsm *)&l_oven;       /* the opaque pointer */
 
 /*$define${SMs::ToastOven_ctor} ############################################*/
 /* Check for the minimum required QP version */
-#if ((QP_VERSION < 601) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
-#error qpc version 6.0.1 or higher required
+#if ((QP_VERSION < 630) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
+#error qpc version 6.3.0 or higher required
 #endif
 /*${SMs::ToastOven_ctor} ...................................................*/
 void ToastOven_ctor(void) {

+ 6 - 6
examples/win32/history_qmsm/history.h

@@ -1,21 +1,21 @@
 /*$file${.::history.h} #####################################################*/
 /*
 * Model: history.qm
-* File:  C:/qp_lab/qpc/examples/win32/history_qmsm/history.h
+* File:  ${.::history.h}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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 #   : QPC-EVAL-171231
-* Issued to   : Company/individual evaluating the QP/C framework
+* License #   : QPC-EVAL-181231
+* Issued to   : Institution or an individual evaluating the QP frameworks
 * Framework(s): qpc
-* Support ends: 2017-12-31
+* Support ends: 2018-12-31
 * Product(s)  :
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* https://state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::history.h} ##################################################*/
 #ifndef history_h

+ 2 - 2
examples/win32/history_qmsm/history.qm

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<model version="4.1.0" links="0">
+<model version="4.2.0" links="0">
  <documentation>QMsmTst is a contrived state machine from Chapter 2 of the PSiCC2 book for testing the QMsm class implementation.</documentation>
- <framework name="qpc" license="../../../QPC-EVAL-171231.qlc"/>
+ <framework name="qpc" license="../../../QPC-EVAL-181231.qlc"/>
  <package name="SMs" stereotype="0x02">
   <class name="ToastOven" superclass="qpc::QMsm">
    <documentation>Oven state machine</documentation>

+ 4 - 13
examples/win32/qmsmtst/Makefile

@@ -1,7 +1,7 @@
 ##############################################################################
 # Product: Makefile for QP/C, QMsmTst console, Win32, MinGW
-# Last Updated for Version: 5.6.4
-# Date of the Last Update:  2016-05-04
+# Last Updated for Version: 6.3.0
+# Date of the Last Update:  2018-05-07
 #
 #                    Q u a n t u m     L e a P s
 #                    ---------------------------
@@ -28,8 +28,8 @@
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 #
 # Contact information:
-# Web:   www.state-machine.com
-# Email: info@state-machine.com
+# https://www.state-machine.com
+# mailto:info@state-machine.com
 ##############################################################################
 # examples of invoking this Makefile:
 # building configurations: Debug (default), Release, and Spy
@@ -140,15 +140,6 @@ CPPFLAGS = -ffunction-sections -fdata-sections \
 
 else ifeq (spy, $(CONF))  # Spy configuration ................................
 
-# make sure that QTOOLS exists...
-ifeq ("$(wildcard $(QTOOLS))","")
-$(error QTOOLS not found. Please install Qtools and define QTOOLS env. variable)
-endif
-
-INCLUDES +=	-I$(QTOOLS)/qspy/include
-VPATH    += $(QTOOLS)/qspy/source
-C_SRCS   += qspy.c
-
 BIN_DIR := spy
 
 CFLAGS = -g -ffunction-sections -fdata-sections \

+ 1 - 1
examples/win32/qmsmtst/log.txt

@@ -1,4 +1,4 @@
-QMsmTst example, QP 6.0.1
+QMsmTst example, QP 6.3.0
 top-INIT;s-ENTRY;s2-ENTRY;s2-INIT;s21-ENTRY;s211-ENTRY;
 A:s21-A;s211-EXIT;s21-EXIT;s21-ENTRY;s21-INIT;s211-ENTRY;
 B:s21-B;s211-EXIT;s211-ENTRY;

+ 6 - 3
examples/win32/qmsmtst/main.c

@@ -1,7 +1,7 @@
 /*****************************************************************************
 * Product: QMsmTst Example, Win32
-* Last updated for version 5.8.0
-* Last updated on  2016-11-29
+* Last updated for version 6.3.0
+* Last updated on  2018-05-07
 *
 *                    Q u a n t u m     L e a P s
 *                    ---------------------------
@@ -28,7 +28,7 @@
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 *
 * Contact information:
-* https://state-machine.com
+* https://www.state-machine.com
 * mailto:info@state-machine.com
 *****************************************************************************/
 #include "qpc.h"
@@ -169,5 +169,8 @@ void QS_onCleanup(void) {
 QSTimeCtr QS_onGetTime(void) {
     return (QSTimeCtr)clock();
 }
+/*..........................................................................*/
+void QS_onFlush(void) {
+}
 #endif
 

+ 6 - 6
examples/win32/qmsmtst/qmsmtst.c

@@ -3,7 +3,7 @@
 * Model: qmsmtst.qm
 * File:  ${.::qmsmtst.c}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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:
@@ -15,7 +15,7 @@
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* http://www.state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::qmsmtst.c} ##################################################*/
 #include "qpc.h"
@@ -63,7 +63,7 @@ static QMState const QMsmTst_s11_s = {
     Q_STATE_CAST(&QMsmTst_s11),
     Q_ACTION_CAST(&QMsmTst_s11_e),
     Q_ACTION_CAST(&QMsmTst_s11_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 static QState QMsmTst_s2  (QMsmTst * const me, QEvt const * const e);
 static QState QMsmTst_s2_e(QMsmTst * const me);
@@ -95,7 +95,7 @@ static QMState const QMsmTst_s211_s = {
     Q_STATE_CAST(&QMsmTst_s211),
     Q_ACTION_CAST(&QMsmTst_s211_e),
     Q_ACTION_CAST(&QMsmTst_s211_x),
-    Q_ACTION_CAST(0)  /* no intitial tran. */
+    Q_ACTION_CAST(0)  /* no initial tran. */
 };
 /*$enddecl${SMs::QMsmTst} ##################################################*/
 
@@ -106,8 +106,8 @@ QMsm * const the_msm = (QMsm *)&l_msmtst;    /* the opaque pointer */
 
 /*$define${SMs::QMsmTst_ctor} ##############################################*/
 /* Check for the minimum required QP version */
-#if ((QP_VERSION < 601) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
-#error qpc version 6.0.1 or higher required
+#if ((QP_VERSION < 630) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8)))
+#error qpc version 6.3.0 or higher required
 #endif
 /*${SMs::QMsmTst_ctor} .....................................................*/
 void QMsmTst_ctor(void) {

+ 2 - 2
examples/win32/qmsmtst/qmsmtst.h

@@ -3,7 +3,7 @@
 * Model: qmsmtst.qm
 * File:  ${.::qmsmtst.h}
 *
-* This code has been generated by QM tool (https://state-machine.com/qm).
+* This code has been generated by QM 4.2.0 (https://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:
@@ -15,7 +15,7 @@
 * This license is available only for evaluation purposes and
 * the generated code is still licensed under the terms of GPL.
 * Please submit request for extension of the evaluaion period at:
-* http://www.state-machine.com/licensing/#RequestForm
+* https://www.state-machine.com/licensing/#RequestForm
 */
 /*$endhead${.::qmsmtst.h} ##################################################*/
 #ifndef qmsmtst_h

+ 1 - 1
examples/win32/qmsmtst/qmsmtst.qm

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<model version="4.1.2" links="0">
+<model version="4.2.0" links="0">
  <documentation>QMsmTst is a QMsm state machine test based on the contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting.</documentation>
  <framework name="qpc" license="../../../QPC-EVAL-181231.qlc"/>
  <package name="SMs" stereotype="0x02">

+ 6 - 6
include/qep.h

@@ -4,8 +4,8 @@
 * @ingroup qep
 * @cond
 ******************************************************************************
-* Last updated for version 6.2.0
-* Last updated on  2018-03-13
+* Last updated for version 6.3.0
+* Last updated on  2018-05-03
 *
 *                    Q u a n t u m     L e a P s
 *                    ---------------------------
@@ -45,16 +45,16 @@
 * major version number, Y is a 1-digit minor version number, and Z is
 * a 1-digit release number.
 */
-#define QP_VERSION      620
+#define QP_VERSION      630
 
 /*! The current QP version number string of the form X.Y.Z, where X is
 * a 1-digit major version number, Y is a 1-digit minor version number,
 * and Z is a 1-digit release number.
 */
-#define QP_VERSION_STR  "6.2.0"
+#define QP_VERSION_STR  "6.3.0"
 
-/*! Tamperproof current QP release (6.2.0) and date (2018-03-16) */
-#define QP_RELEASE      0x9485F3D3U
+/*! Tamperproof current QP release (6.3.0) and date (2018-05-10) */
+#define QP_RELEASE      0x946859A9U
 
 
 /****************************************************************************/

+ 9 - 8
include/qs.h

@@ -4,8 +4,8 @@
 * @ingroup qs qpspy
 * @cond
 ******************************************************************************
-* Last updated for version 6.2.0
-* Last updated on  2018-03-13
+* Last updated for version 6.3.0
+* Last updated on  2018-04-30
 *
 *                    Q u a n t u m     L e a P s
 *                    ---------------------------
@@ -1073,12 +1073,13 @@ typedef uint_fast16_t QSCtr;  /*!< QS ring buffer counter and offset type */
 
 /*! Kinds of objects used in QS. */
 enum QSpyObjKind {
-    SM_OBJ,  /*!< state machine object for QEP */
-    AO_OBJ,  /*!< active object */
-    MP_OBJ,  /*!< event pool object */
-    EQ_OBJ,  /*!< raw queue object */
-    TE_OBJ,  /*!< time event object */
-    AP_OBJ,  /*!< generic Application-specific object */
+    SM_OBJ,    /*!< state machine object */
+    AO_OBJ,    /*!< active object */
+    MP_OBJ,    /*!< event pool object */
+    EQ_OBJ,    /*!< raw queue object */
+    TE_OBJ,    /*!< time event object */
+    AP_OBJ,    /*!< generic Application-specific object */
+    SM_AO_OBJ, /*!< state machine or active object */
     MAX_OBJ
 };
 

+ 7 - 0
ports/win32/qp.vcxproj

@@ -185,6 +185,13 @@
     <ClCompile Include="qwin_gui.c" />
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="..\..\include\qassert.h" />
+    <ClInclude Include="..\..\include\qep.h" />
+    <ClInclude Include="..\..\include\qequeue.h" />
+    <ClInclude Include="..\..\include\qf.h" />
+    <ClInclude Include="..\..\include\qmpool.h" />
+    <ClInclude Include="..\..\include\qpset.h" />
+    <ClInclude Include="..\..\include\qs.h" />
     <ClInclude Include="qep_port.h" />
     <ClInclude Include="qf_port.h" />
     <ClInclude Include="qwin_gui.h" />

+ 21 - 0
ports/win32/qp.vcxproj.filters

@@ -83,5 +83,26 @@
     <ClInclude Include="qwin_gui.h">
       <Filter>QWIN-GUI</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\include\qassert.h">
+      <Filter>QP</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\qep.h">
+      <Filter>QP</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\qequeue.h">
+      <Filter>QP</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\qf.h">
+      <Filter>QP</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\qmpool.h">
+      <Filter>QP</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\qpset.h">
+      <Filter>QP</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\qs.h">
+      <Filter>QP</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>

+ 17 - 5
src/qf/qep_msm.c

@@ -4,8 +4,8 @@
 * @ingroup qep
 * @cond
 ******************************************************************************
-* Last updated for version 6.2.0
-* Last updated on  2018-03-18
+* Last updated for version 6.3.0
+* Last updated on  2018-05-03
 *
 *                    Q u a n t u m     L e a P s
 *                    ---------------------------
@@ -238,7 +238,7 @@ void QMsm_dispatch_(QMsm * const me, QEvt const * const e) {
 
         /* the transition source state must not be NULL */
         Q_ASSERT_ID(320, ts != (QMState const *)0);
-#endif /* Q_SPY*/
+#endif /* Q_SPY */
 
         do {
             /* save the transition-action table before it gets clobbered */
@@ -246,7 +246,7 @@ void QMsm_dispatch_(QMsm * const me, QEvt const * const e) {
             union QHsmAttr tmp; /* temporary to save intermediate values */
 
             /* was TRAN, TRAN_INIT, or TRAN_EP taken? */
-            if (r < (QState)Q_RET_TRAN_HIST) {
+            if (r <= (QState)Q_RET_TRAN_EP) {
                 QMsm_exitToTranSource_(me, s, t);
                 r = QMsm_execTatbl_(me, tatbl);
                 s = me->state.obj;
@@ -266,17 +266,29 @@ void QMsm_dispatch_(QMsm * const me, QEvt const * const e) {
                 me->state.obj = s; /* restore the original state */
                 r = (*tmp.act)(me); /* execute the XP action */
                 if (r == (QState)Q_RET_TRAN) { /* XP -> TRAN ? */
+#ifdef Q_SPY
+                    tmp.tatbl = me->temp.tatbl; /* save me->temp */
+#endif /* Q_SPY */
                     QMsm_exitToTranSource_(me, s, t);
                     /* take the tran-to-XP segment inside submachine */
                     (void)QMsm_execTatbl_(me, tatbl);
                     s = me->state.obj;
+#ifdef Q_SPY
+                    me->temp.tatbl = tmp.tatbl; /* restore me->temp */
+#endif /* Q_SPY */
                 }
                 else if (r == (QState)Q_RET_TRAN_HIST) { /* XP -> HIST ? */
                     tmp.obj = me->state.obj; /* save the history */
                     me->state.obj = s; /* restore the original state */
-                    QMsm_exitToTranSource_(me, s, t);
+#ifdef Q_SPY
+                    s = me->temp.obj; /* save me->temp */
+#endif /* Q_SPY */
+                    QMsm_exitToTranSource_(me, me->state.obj, t);
                     /* take the tran-to-XP segment inside submachine */
                     (void)QMsm_execTatbl_(me, tatbl);
+#ifdef Q_SPY
+                    me->temp.obj = s; /* restore me->temp */
+#endif /* Q_SPY */
                     s = me->state.obj;
                     me->state.obj = tmp.obj; /* restore the history */
                 }

+ 6 - 5
src/qs/qs_rx.c

@@ -4,14 +4,14 @@
 * @ingroup qs
 * @cond
 ******************************************************************************
-* Last updated for version 6.2.0
-* Last updated on  2018-03-16
+* Last updated for version 6.3.0
+* Last updated on  2018-04-30
 *
 *                    Q u a n t u m     L e a P s
 *                    ---------------------------
 *                    innovating embedded systems
 *
-* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
+* Copyright (C) 2002-2018 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
@@ -632,7 +632,7 @@ static void QS_rxParseData_(uint8_t b) {
             break;
         }
         case WAIT4_OBJ_KIND: {
-            if (b <= (uint8_t)6) {
+            if (b <= (uint8_t)SM_AO_OBJ) {
                 l_rx.var.obj.kind = b;
                 l_rx.var.obj.addr = (QSObj)0;
                 l_rx.var.obj.idx  = (uint8_t)0;
@@ -906,7 +906,8 @@ static void QS_rxHandleGoodFrame_(uint8_t state) {
                 }
                 QS_rxReportAck_((enum QSpyRxRecords)l_rx.var.obj.recId);
             }
-            else if (l_rx.var.obj.kind == (uint8_t)6) {  /* both SM and AO */
+            /* both SM and AO */
+            else if (l_rx.var.obj.kind == (uint8_t)SM_AO_OBJ) {
                 if (l_rx.var.obj.recId == (uint8_t)QS_RX_LOC_FILTER) {
                     QS_priv_.locFilter[SM_OBJ] = (void *)l_rx.var.obj.addr;
                     QS_priv_.locFilter[AO_OBJ] = (void *)l_rx.var.obj.addr;

+ 0 - 2
version-6.2.0

@@ -1,2 +0,0 @@
-QP/C 6.2.0
-2018-03-16

+ 2 - 0
version-6.3.0

@@ -0,0 +1,2 @@
+QP/C 6.3.0
+2018-05-10