diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile index ee4e858b4..e7107b8d3 100644 --- a/doxygen/Doxyfile +++ b/doxygen/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "QP/C" -PROJECT_NUMBER = "6.3.0" +PROJECT_NUMBER = "6.3.1" PROJECT_BRIEF = PROJECT_LOGO = images/header_logo_ql.png OUTPUT_DIRECTORY = diff --git a/doxygen/Doxyfile-CHM b/doxygen/Doxyfile-CHM index 69625ec6c..22fb5ed5d 100644 --- a/doxygen/Doxyfile-CHM +++ b/doxygen/Doxyfile-CHM @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "QP/C" -PROJECT_NUMBER = "6.3.0" +PROJECT_NUMBER = "6.3.1" PROJECT_BRIEF = PROJECT_LOGO = images/header_logo_ql.png OUTPUT_DIRECTORY = diff --git a/doxygen/Doxyfile-DOC b/doxygen/Doxyfile-DOC index c4766972c..26119e2ee 100644 --- a/doxygen/Doxyfile-DOC +++ b/doxygen/Doxyfile-DOC @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "QP/C" -PROJECT_NUMBER = "6.3.0" +PROJECT_NUMBER = "6.3.1" PROJECT_BRIEF = PROJECT_LOGO = images/header_logo_ql.png OUTPUT_DIRECTORY = diff --git a/doxygen/history.dox b/doxygen/history.dox index 52b2c761d..f5c79db52 100644 --- a/doxygen/history.dox +++ b/doxygen/history.dox @@ -1,6 +1,11 @@ /** @page history Revision History +@section qpc_6_3_1 Version 6.3.1, 2018-05-24 +This release migrates the [QUTest](https://www.state-machine.com/qtools/qutest.html) examples to [QM 4.2.1](https://www.state-machine.com/qm/history.html#qm_4_2_1), which now can generate QS_FUN_DICTIONARY() records automatically. This release also adds a generic, simple blinky example for QUTest located in `examples/qutest/blinky`. Also, this release fixes a bug in the example `qutest/TDDbook_LedDriver` so that the code compiles cleanly with the updated header file "qassert.h". + + +------------------------------------------------------------------------------ @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: diff --git a/doxygen/make.bat b/doxygen/make.bat index 2d0f0f001..1a730cd4e 100644 --- a/doxygen/make.bat +++ b/doxygen/make.bat @@ -1,8 +1,8 @@ @echo off :: ========================================================================== :: Product: QP/C script for generating Doxygen documentation -:: Last Updated for Version: 6.3.0 -:: Date of the Last Update: 2018-05-03 +:: Last Updated for Version: 6.3.1 +:: Date of the Last Update: 2018-05-22 :: :: 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.3.0 +set VERSION=6.3.1 :: Generate Resource Standard Metrics for QP/C ............................... set DOXHOME="C:\tools\doxygen\bin" diff --git a/doxygen/metrics.dox b/doxygen/metrics.dox index 6bb5cb6b1..07245c8ed 100644 --- a/doxygen/metrics.dox +++ b/doxygen/metrics.dox @@ -1,2293 +1,2293 @@ -/** @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 -*/ +/** @page metrics Code Metrics + +@code + Standard Code Metrics for QP/C 6.3.1 + + 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 22, 2018 + (C)1996-2009 M Squared Technologies LLC + ________________________________________________________________________ + + ~~ Function Metrics ~~ + ~~ Complexity Detail Analysis ~~ + + File: ..\include\qassert.h + ________________________________________________________________________ + + ~~ Total File Summary ~~ + + LOC 54 eLOC 53 lLOC 5 Comment 258 Lines 338 + ________________________________________________________________________ + End of File: ..\include\qassert.h + + + File: ..\include\qep.h + ________________________________________________________________________ + + ~~ Total File Summary ~~ + + LOC 155 eLOC 151 lLOC 56 Comment 404 Lines 613 + ________________________________________________________________________ + 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 { 29 != 27 } 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 503 eLOC 494 lLOC 123 Comment 719 Lines 1236 + ________________________________________________________________________ + 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 4567 eLOC 4127 lLOC 1869 Comment 7310 Lines 12091 + 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 +*/ diff --git a/examples/qutest/TDDbook_Flash/test_Flash.c b/examples/qutest/TDDbook_Flash/test_Flash.c index dc5575aa3..5c9d978d0 100644 --- a/examples/qutest/TDDbook_Flash/test_Flash.c +++ b/examples/qutest/TDDbook_Flash/test_Flash.c @@ -1,13 +1,13 @@ /***************************************************************************** * Purpose: example 'FlashDriver' QUTEST fixture (Chapter 10 from TDDfEC) -* Last Updated for Version: 5.9.0 -* Date of the Last Update: 2017-05-15 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- * innovating embedded systems * -* Copyright (C) Quantum Leaps, LLC. All rights reserved. +* Copyright (C) 2005-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 @@ -28,7 +28,7 @@ * along with this program. If not, see . * * Contact information: -* https://state-machine.com +* https://www.state-machine.com * mailto:info@state-machine.com *****************************************************************************/ #include "qpc.h" /* for QUTEST */ @@ -46,9 +46,12 @@ enum { void MockIO_Init(void); /*--------------------------------------------------------------------------*/ -int main() { - QF_init(); /* initialize the framework and the underlying RT kernel */ - Q_ALLEGE(QS_INIT((void *)0)); /* initialize QS tracing system */ +int main(int argc, char *argv[]) { + + QF_init(); /* initialize the framework */ + + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* filter setup */ QS_FILTER_ON(QS_UA_RECORDS); /* UA==user-all */ diff --git a/examples/qutest/TDDbook_LedDriver/LedDriver.c b/examples/qutest/TDDbook_LedDriver/LedDriver.c index 76be282f4..cd4868669 100644 --- a/examples/qutest/TDDbook_LedDriver/LedDriver.c +++ b/examples/qutest/TDDbook_LedDriver/LedDriver.c @@ -28,8 +28,6 @@ /*- www.renaissancesoftware.net james@renaissancesoftware.net -*/ /*- ------------------------------------------------------------------ -*/ -typedef int int_t; /* needed in "qassert.h" (MISRA compliance) */ -typedef char char_t; /* needed in "qassert.h" (MISRA compliance) */ #include "qassert.h" /* for QP assertions */ //#include "RuntimeError.h" diff --git a/examples/qutest/TDDbook_LedDriver/test_LedDriver.c b/examples/qutest/TDDbook_LedDriver/test_LedDriver.c index 139310f06..a35905f8e 100644 --- a/examples/qutest/TDDbook_LedDriver/test_LedDriver.c +++ b/examples/qutest/TDDbook_LedDriver/test_LedDriver.c @@ -1,13 +1,13 @@ /***************************************************************************** * Purpose: example 'LedDriver' QUTEST fixture (Chapters 3&4 from TDDfEC) -* Last Updated for Version: 5.9.0 -* Date of the Last Update: 2017-05-15 +* Last Updated for Version: 6.2.0 +* Date of the Last Update: 2018-05-20 * * Q u a n t u m L e a P s * --------------------------- * innovating embedded systems * -* Copyright (C) 2005-2017 Quantum Leaps, LLC. All rights reserved. +* Copyright (C) 2005-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 @@ -28,7 +28,7 @@ * along with this program. If not, see . * * Contact information: -* https://state-machine.com +* https://www.state-machine.com * mailto:info@state-machine.com *****************************************************************************/ #include "qpc.h" /* for QUTEST */ @@ -51,9 +51,13 @@ enum { }; /*--------------------------------------------------------------------------*/ -int main() { - QF_init(); /* initialize the framework and the underlying RT kernel */ - Q_ALLEGE(QS_INIT((void *)0)); /* initialize QS tracing system */ +int main(int argc, char *argv[]) { + + QF_init(); /* initialize the framework */ + + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); + /* filter setup */ QS_FILTER_ON(QS_UA_RECORDS); /* UA==user-all */ diff --git a/examples/qutest/TDDbook_Sprintf/test_Sprintf.c b/examples/qutest/TDDbook_Sprintf/test_Sprintf.c index 0565f4847..9602c803a 100644 --- a/examples/qutest/TDDbook_Sprintf/test_Sprintf.c +++ b/examples/qutest/TDDbook_Sprintf/test_Sprintf.c @@ -1,13 +1,13 @@ /***************************************************************************** * Purpose: example 'sprintf' QUTEST fixture -* Last Updated for Version: 5.9.0 -* Date of the Last Update: 2017-05-15 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- * innovating embedded systems * -* Copyright (C) 2005-2017 Quantum Leaps, LLC. All rights reserved. +* Copyright (C) 2005-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 @@ -28,7 +28,7 @@ * along with this program. If not, see . * * Contact information: -* https://state-machine.com +* https://www.state-machine.com * mailto:info@state-machine.com *****************************************************************************/ #include "qpc.h" /* QUTest interface */ @@ -47,9 +47,12 @@ enum { }; /*--------------------------------------------------------------------------*/ -int main() { - QF_init(); /* initialize the framework and the underlying RT kernel */ - Q_ALLEGE(QS_INIT((void *)0)); /* initialize QS tracing system */ +int main(int argc, char *argv[]) { + + QF_init(); /* initialize the framework */ + + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* dictionaries... */ QS_OBJ_DICTIONARY(format); diff --git a/examples/qutest/blinky/Makefile b/examples/qutest/blinky/Makefile new file mode 100644 index 000000000..521536abb --- /dev/null +++ b/examples/qutest/blinky/Makefile @@ -0,0 +1,232 @@ +############################################################################## +# Product: Makefile for QUTEST; QP/C on Win32 host +# Last updated for version 6.3.1 +# Last updated on 2018-05-21 +# +# 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. +# +# This program is open source software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Alternatively, this program may be distributed and modified under the +# terms of Quantum Leaps commercial licenses, which expressly supersede +# the GNU General Public License and are specifically designed for +# licensees interested in retaining the proprietary status of their code. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Contact information: +# https://www.state-machine.com +# mailto:info@state-machine.com +############################################################################## +# +# examples of invoking this Makefile: +# make # make and run the tests in the current directory +# make TESTS=test*.tcl # make and run the selected tests in the curr. dir. +# make HOST=localhost:7705 # connect to host:port +# make norun # only make but not run the tests +# make clean # cleanup the build +# +# NOTE: +# To use this Makefile on Windows, you will need the GNU make utility, which +# is included in the Qtools collection for Windows, see: +# http://sourceforge.net/projects/qpc/files/QTools/ +# + +#----------------------------------------------------------------------------- +# project name +# +PROJECT := test_blinky + +#----------------------------------------------------------------------------- +# project directories +# + +# location of the QP/C framework (if not provided in an environemnt var.) +ifeq ($(QPC),) +QPC := ../../.. +endif + +# location of the QTOOLS directory (if not provided in an environemnt var.) +ifeq ($(QTOOLS),) +QTOOLS := c:/qp/qtools +endif + + +# QP port used in this project +QP_PORT_DIR := $(QPC)/ports/win32-qutest + +# list of all source directories used by this project +VPATH = \ + . + +# list of all include directories needed by this project +INCLUDES = \ + -I. \ + -I$(QPC)/include + +#----------------------------------------------------------------------------- +# files +# + +# C source files... +C_SRCS := \ + bsp.c \ + blinky.c \ + test_blinky.c + +# C++ source files... +CPP_SRCS := + +LIB_DIRS := +LIBS := + +# defines... +# QP_API_VERSION controls the QP API compatibility; 9999 means the latest API +DEFINES := -DQP_API_VERSION=9999 + +#----------------------------------------------------------------------------- +# MinGW toolset (NOTE: assumed to be on your PATH) +# +# NOTE: +# MinGW toolset is included in the Qtools collection for Windows, see: +# http://sourceforge.net/projects/qpc/files/Qtools/ +# +# NOTE: +# This Makefile assumes that the windres utility is available on the +# PATH (NOTE: windres is available in the Qtools collection for Windows) +# +CC := gcc +CPP := g++ +LINK := gcc # for C programs +#LINK := g++ # for C++ programs + +# basic utilities (included in Qtools for Windows), see: +# http://sourceforge.net/projects/qpc/files/Qtools + +MKDIR := mkdir +RM := rm +TCLSH := tclsh +QUTEST := $(QTOOLS)/qspy/tcl/qutest.tcl + + +#============================================================================ +# Typically you should not need to change anything below this line + +#----------------------------------------------------------------------------- +# build options +# + +BIN_DIR := mingw + +CFLAGS = -g -O -Wall -Wstrict-prototypes -W $(INCLUDES) $(DEFINES) \ + -DQ_SPY -DQ_UTEST -DQ_HOST + +CPPFLAGS = -g -O -Wall -W -fno-rtti -fno-exceptions $(INCLUDES) $(DEFINES) \ + -DQ_SPY -DQ_UTEST -DQ_HOST + +LINKFLAGS := -Wl,-Map,$(BIN_DIR)/$(PROJECT).map,--cref,--gc-sections + +#----------------------------------------------------------------------------- +# combine all the soruces... +INCLUDES += -I$(QP_PORT_DIR) +LIB_DIRS += -L$(QP_PORT_DIR)/$(BIN_DIR) +LIBS += -lqp -lwsock32 + +C_OBJS := $(patsubst %.c,%.o, $(C_SRCS)) +CPP_OBJS := $(patsubst %.cpp,%.o, $(CPP_SRCS)) + +TARGET_EXE := $(BIN_DIR)/$(PROJECT).exe +C_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(C_OBJS)) +C_DEPS_EXT := $(patsubst %.o,%.d, $(C_OBJS_EXT)) +CPP_OBJS_EXT := $(addprefix $(BIN_DIR)/, $(CPP_OBJS)) +CPP_DEPS_EXT := $(patsubst %.o,%.d, $(CPP_OBJS_EXT)) + +# create $(BIN_DIR) if it does not exist +ifeq ("$(wildcard $(BIN_DIR))","") +$(shell $(MKDIR) $(BIN_DIR)) +endif + +#----------------------------------------------------------------------------- +# rules +# + +.PHONY : run norun + +ifeq ($(MAKECMDGOALS),norun) +all : $(TARGET_EXE) +norun : all +else +all : $(TARGET_EXE) run +endif + +ifeq (, $(TESTS)) +TESTS := *.tcl +endif + +$(TARGET_EXE) : $(C_OBJS_EXT) $(CPP_OBJS_EXT) + $(CC) $(CFLAGS) -c $(QPC)/include/qstamp.c -o $(BIN_DIR)/qstamp.o + $(LINK) $(LINKFLAGS) $(LIB_DIRS) -o $@ $^ $(BIN_DIR)/qstamp.o $(LIBS) + +run : $(TARGET_EXE) + $(TCLSH) $(QUTEST) $(TESTS) $(TARGET_EXE) $(HOST) + +$(BIN_DIR)/%.d : %.cpp + $(CPP) -MM -MT $(@:.d=.o) $(CPPFLAGS) $< > $@ + +$(BIN_DIR)/%.d : %.c + $(CC) -MM -MT $(@:.d=.o) $(CFLAGS) $< > $@ + +$(BIN_DIR)/%.o : %.cpp + $(CPP) $(CPPFLAGS) -c $< -o $@ + +$(BIN_DIR)/%.o : %.c + $(CC) $(CFLAGS) -c $< -o $@ + +.PHONY : clean show norun + +# include dependency files only if our goal depends on their existence +ifneq ($(MAKECMDGOALS),clean) + ifneq ($(MAKECMDGOALS),show) +-include $(C_DEPS_EXT) $(CPP_DEPS_EXT) + endif +endif + +clean : + -$(RM) $(BIN_DIR)/*.o \ + $(BIN_DIR)/*.d \ + $(BIN_DIR)/*.map \ + $(TARGET_EXE) + +show : + @echo PROJECT = $(PROJECT) + @echo TARGET_EXE = $(TARGET_EXE) + @echo CONF = $(CONF) + @echo VPATH = $(VPATH) + @echo C_SRCS = $(C_SRCS) + @echo CPP_SRCS = $(CPP_SRCS) + @echo C_DEPS_EXT = $(C_DEPS_EXT) + @echo C_OBJS_EXT = $(C_OBJS_EXT) + @echo C_DEPS_EXT = $(C_DEPS_EXT) + @echo CPP_DEPS_EXT = $(CPP_DEPS_EXT) + @echo CPP_OBJS_EXT = $(CPP_OBJS_EXT) + @echo LIB_DIRS = $(LIB_DIRS) + @echo LIBS = $(LIBS) + @echo DEFINES = $(DEFINES) + @echo QTOOLS = $(QTOOLS) + @echo QUTEST = $(QUTEST) + @echo TESTS = $(TESTS) + @echo HOST = $(HOST) + diff --git a/examples/qutest/blinky/blinky.c b/examples/qutest/blinky/blinky.c new file mode 100644 index 000000000..3a8ecc754 --- /dev/null +++ b/examples/qutest/blinky/blinky.c @@ -0,0 +1,120 @@ +/*$file${.::blinky.c} ######################################################*/ +/* +* Model: blinky.qm +* File: ${.::blinky.c} +* +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). +* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. +* +* This program is open source software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published +* by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +* for more details. +*/ +/*$endhead${.::blinky.c} ###################################################*/ +#include "qpc.h" +#include "blinky.h" +#include "bsp.h" + +Q_DEFINE_THIS_MODULE("blinky") + +/*************** ask QM to declare the Blinky class ******************/ +/*$declare${AOs::Blinky} ###################################################*/ +/*${AOs::Blinky} ...........................................................*/ +typedef struct { +/* protected: */ + QActive super; + +/* private: */ + QTimeEvt timeEvt; +} Blinky; + +/* protected: */ +static QState Blinky_initial(Blinky * const me, QEvt const * const e); +static QState Blinky_off(Blinky * const me, QEvt const * const e); +static QState Blinky_on(Blinky * const me, QEvt const * const e); +/*$enddecl${AOs::Blinky} ###################################################*/ + +static Blinky l_blinky; + +QActive * const AO_Blinky = &l_blinky.super; /* opaque pointer */ + +/*************** ask QM to define the Blinky class ******************/ +/*$define${AOs::Blinky_ctor} ###############################################*/ +/* Check for the minimum required QP version */ +#if ((QP_VERSION < 630) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8))) +#error qpc version 6.3.0 or higher required +#endif +/*${AOs::Blinky_ctor} ......................................................*/ +void Blinky_ctor(void) { + Blinky *me = &l_blinky; + QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial)); + QTimeEvt_ctorX(&me->timeEvt, &me->super, TIMEOUT_SIG, 0U); +} +/*$enddef${AOs::Blinky_ctor} ###############################################*/ + +/*$define${AOs::Blinky} ####################################################*/ +/*${AOs::Blinky} ...........................................................*/ +/*${AOs::Blinky::SM} .......................................................*/ +static QState Blinky_initial(Blinky * const me, QEvt const * const e) { + /*${AOs::Blinky::SM::initial} */ + QS_OBJ_DICTIONARY(&l_blinky); + QS_OBJ_DICTIONARY(&l_blinky.timeEvt); + + QTimeEvt_armX(&me->timeEvt, + BSP_TICKS_PER_SEC/2, BSP_TICKS_PER_SEC/2); + + QS_FUN_DICTIONARY(&Blinky_off); + QS_FUN_DICTIONARY(&Blinky_on); + + return Q_TRAN(&Blinky_off); +} +/*${AOs::Blinky::SM::off} ..................................................*/ +static QState Blinky_off(Blinky * const me, QEvt const * const e) { + QState status_; + switch (e->sig) { + /*${AOs::Blinky::SM::off} */ + case Q_ENTRY_SIG: { + BSP_ledOff(); + status_ = Q_HANDLED(); + break; + } + /*${AOs::Blinky::SM::off::TIMEOUT} */ + case TIMEOUT_SIG: { + status_ = Q_TRAN(&Blinky_on); + break; + } + default: { + status_ = Q_SUPER(&QHsm_top); + break; + } + } + return status_; +} +/*${AOs::Blinky::SM::on} ...................................................*/ +static QState Blinky_on(Blinky * const me, QEvt const * const e) { + QState status_; + switch (e->sig) { + /*${AOs::Blinky::SM::on} */ + case Q_ENTRY_SIG: { + BSP_ledOn(); + status_ = Q_HANDLED(); + break; + } + /*${AOs::Blinky::SM::on::TIMEOUT} */ + case TIMEOUT_SIG: { + status_ = Q_TRAN(&Blinky_off); + break; + } + default: { + status_ = Q_SUPER(&QHsm_top); + break; + } + } + return status_; +} +/*$enddef${AOs::Blinky} ####################################################*/ diff --git a/examples/qutest/blinky/blinky.h b/examples/qutest/blinky/blinky.h new file mode 100644 index 000000000..c36a45830 --- /dev/null +++ b/examples/qutest/blinky/blinky.h @@ -0,0 +1,33 @@ +/*$file${.::blinky.h} ######################################################*/ +/* +* Model: blinky.qm +* File: ${.::blinky.h} +* +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). +* DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. +* +* This program is open source software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published +* by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, but +* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +* for more details. +*/ +/*$endhead${.::blinky.h} ###################################################*/ +#ifndef blinky_h +#define blinky_h + +enum BlinkySignals { + DUMMY_SIG = Q_USER_SIG, + MAX_PUB_SIG, /* the last published signal */ + + TIMEOUT_SIG, + MAX_SIG /* the last signal */ +}; + +void Blinky_ctor(void); +extern QActive * const AO_Blinky; /* opaque pointer */ + +#endif /* blinky_h */ diff --git a/examples/qutest/blinky/blinky.qm b/examples/qutest/blinky/blinky.qm new file mode 100644 index 000000000..ced51c00a --- /dev/null +++ b/examples/qutest/blinky/blinky.qm @@ -0,0 +1,93 @@ + + + Blinky model + + + + + + + QS_OBJ_DICTIONARY(&l_blinky); +QS_OBJ_DICTIONARY(&l_blinky.timeEvt); + +QTimeEvt_armX(&me->timeEvt, + BSP_TICKS_PER_SEC/2, BSP_TICKS_PER_SEC/2); + + + + + + BSP_ledOff(); + + + + + + + + + + + BSP_ledOn(); + + + + + + + + + + + + + + opaque pointer to the Blinky AO + + + Blinky *me = &l_blinky; +QActive_ctor(&me->super, Q_STATE_CAST(&Blinky_initial)); +QTimeEvt_ctorX(&me->timeEvt, &me->super, TIMEOUT_SIG, 0U); + + + + + #ifndef blinky_h +#define blinky_h + +enum BlinkySignals { + DUMMY_SIG = Q_USER_SIG, + MAX_PUB_SIG, /* the last published signal */ + + TIMEOUT_SIG, + MAX_SIG /* the last signal */ +}; + +void Blinky_ctor(void); +extern QActive * const AO_Blinky; /* opaque pointer */ + +#endif /* blinky_h */ + + + + #include "qpc.h" +#include "blinky.h" +#include "bsp.h" + +Q_DEFINE_THIS_MODULE("blinky") + +/*************** ask QM to declare the Blinky class ******************/ +$declare${AOs::Blinky} + +static Blinky l_blinky; + +QActive * const AO_Blinky = &l_blinky.super; /* opaque pointer */ + +/*************** ask QM to define the Blinky class ******************/ +$define${AOs::Blinky_ctor} + +$define${AOs::Blinky} + + + + diff --git a/examples/qutest/blinky/bsp.c b/examples/qutest/blinky/bsp.c new file mode 100644 index 000000000..3e9b59b8e --- /dev/null +++ b/examples/qutest/blinky/bsp.c @@ -0,0 +1,60 @@ +/***************************************************************************** +* Product: "Blinky" example, Win32 API +* Last updated for version 6.2.0 +* Last updated on 2018-05-21 +* +* Q u a n t u m L e a P s +* --------------------------- +* innovating embedded systems +* +* Copyright (C) Quantum Leaps, LLC. All rights reserved. +* +* This program is open source software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published +* by the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Alternatively, this program may be distributed and modified under the +* terms of Quantum Leaps commercial licenses, which expressly supersede +* the GNU General Public License and are specifically designed for +* licensees interested in retaining the proprietary status of their code. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* Contact information: +* https://www.state-machine.com +* mailto:info@state-machine.com +*****************************************************************************/ +#include "qpc.h" +#include "blinky.h" +#include "bsp.h" + +Q_DEFINE_THIS_FILE + +enum { + LED = QS_USER +}; + +/*..........................................................................*/ +void BSP_init() { + QS_FUN_DICTIONARY(&QHsm_top); + QS_USR_DICTIONARY(LED); +} +/*..........................................................................*/ +void BSP_ledOff(void) { + QS_BEGIN(LED, AO_Blinky) + QS_U8(1, 0); + QS_END() +} +/*..........................................................................*/ +void BSP_ledOn(void) { + QS_BEGIN(LED, AO_Blinky) + QS_U8(1, 1); + QS_END() +} diff --git a/examples/qutest/blinky/bsp.h b/examples/qutest/blinky/bsp.h new file mode 100644 index 000000000..3be49ed93 --- /dev/null +++ b/examples/qutest/blinky/bsp.h @@ -0,0 +1,52 @@ +/***************************************************************************** +* Product: DPP example +* Last Updated for Version: 5.6.0 +* Date of the Last Update: 2015-11-22 +* +* Q u a n t u m L e a P s +* --------------------------- +* innovating embedded systems +* +* Copyright (C) Quantum Leaps, LLC. All rights reserved. +* +* This program is open source software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published +* by the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Alternatively, this program may be distributed and modified under the +* terms of Quantum Leaps commercial licenses, which expressly supersede +* the GNU General Public License and are specifically designed for +* licensees interested in retaining the proprietary status of their code. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* Contact information: +* https://state-machine.com +* mailto:info@state-machine.com +*****************************************************************************/ +#ifndef bsp_h +#define bsp_h + +#define BSP_TICKS_PER_SEC 100U + +void BSP_init(void); +void BSP_displayPaused(uint8_t paused); +void BSP_displayPhilStat(uint8_t n, char_t const *stat); +void BSP_terminate(int16_t result); + +void BSP_randomSeed(uint32_t seed); /* random seed */ +uint32_t BSP_random(void); /* pseudo-random generator */ + +/* for testing... */ +void BSP_wait4SW1(void); +void BSP_ledOn(void); +void BSP_ledOff(void); + +#endif /* bsp_h */ diff --git a/examples/qutest/blinky/test_blinky.c b/examples/qutest/blinky/test_blinky.c new file mode 100644 index 000000000..889396908 --- /dev/null +++ b/examples/qutest/blinky/test_blinky.c @@ -0,0 +1,108 @@ +/***************************************************************************** +* Purpose: Fixture for QUTEST +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 +* +* 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. +* +* This program is open source software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published +* by the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Alternatively, this program may be distributed and modified under the +* terms of Quantum Leaps commercial licenses, which expressly supersede +* the GNU General Public License and are specifically designed for +* licensees interested in retaining the proprietary status of their code. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* Contact information: +* https://www.state-machine.com +* mailto:info@state-machine.com +*****************************************************************************/ +#include "qpc.h" +#include "blinky.h" + +Q_DEFINE_THIS_FILE + +/*..........................................................................*/ +int main(int argc, char *argv[]) { + static QF_MPOOL_EL(QEvt) smlPoolSto[10]; /* storage for small pool*/ + static QEvt const *blinkyQSto[10]; /* event queue storage for Blinky */ + + (void)argc; /* unused parameter */ + (void)argv; /* unused parameter */ + + QF_init(); /* initialize the framework */ + + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); + + BSP_init(); /* initialize the BSP */ + + /* dictionaries... */ + QS_OBJ_DICTIONARY(smlPoolSto); + QS_OBJ_DICTIONARY(blinkyQSto); + + QS_SIG_DICTIONARY(TIMEOUT_SIG, (void *)0); + + /* pause execution of the test and wait for the test script to continue */ + QS_TEST_PAUSE(); + + /* publish-subscribe not used, no call to QF_psInit() */ + + /* initialize event pools... */ + QF_poolInit(smlPoolSto, sizeof(smlPoolSto), sizeof(smlPoolSto[0])); + + /* start the active objects... */ + Blinky_ctor(); + QACTIVE_START(AO_Blinky, + 1U, + blinkyQSto, Q_DIM(blinkyQSto), + (void *)0, 0U, (QEvt *)0); + + return QF_run(); +} + +/*--------------------------------------------------------------------------*/ +void QS_onTestSetup(void) { +} +/*..........................................................................*/ +void QS_onTestTeardown(void) { +} +/*..........................................................................*/ +void QS_onCommand(uint8_t cmdId, + uint32_t param1, uint32_t param2, uint32_t param3) +{ + (void)param1; + (void)param2; + (void)param3; + + switch (cmdId) { + case 0U: { + break; + } + default: + break; + } +} + +/*..........................................................................*/ +/* host callback function to "massage" the event, if necessary */ +void QS_onTestEvt(QEvt *e) { + (void)e; +#ifdef Q_HOST /* is this test compiled for a desktop Host computer? */ +#else /* this test is compiled for an embedded Target system */ +#endif +} diff --git a/examples/qutest/blinky/test_blinky.tcl b/examples/qutest/blinky/test_blinky.tcl new file mode 100644 index 000000000..d8629c6fe --- /dev/null +++ b/examples/qutest/blinky/test_blinky.tcl @@ -0,0 +1,88 @@ +#----------------------------------------------------------------------------- +# Product: QSPY -- test-script example for qutest.tcl +# Last updated for version 6.2.0 +# Last updated on 2018-03-12 +# +# Q u a n t u m L e a P s +# --------------------------- +# innovating embedded systems +# +# Copyright (C) Quantum Leaps, LLC, All rights reserved. +# +# This program is open source software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Alternatively, this program may be distributed and modified under the +# terms of Quantum Leaps commercial licenses, which expressly supersede +# the GNU General Public License and are specifically designed for +# licensees interested in retaining the proprietary status of their code. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Contact information: +# https://www.state-machine.com +# mailto:info@state-machine.com +#----------------------------------------------------------------------------- + +# preamble... +proc on_reset {} { + expect_pause + glb_filter ON + continue + expect "%timestamp TE0-Arm Obj=l_blinky.timeEvt,AO=l_blinky,*" + expect "===RTC===> St-Init Obj=l_blinky,State=QHsm_top->Blinky_off" + expect "%timestamp LED 0" + expect "===RTC===> St-Entry Obj=l_blinky,State=Blinky_off" + expect "%timestamp Init===> Obj=l_blinky,State=Blinky_off" + current_obj SM_AO l_blinky +} + +# tests... +test "TIMEOUT_SIG->l_blinky" +post TIMEOUT_SIG +expect "%timestamp QF-New Sig=TIMEOUT_SIG,*" +expect "%timestamp MP-Get Obj=smlPoolSto,*" +expect "%timestamp AO-Post Sdr=QS_RX,Obj=l_blinky,Evt Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off" +expect "%timestamp LED 1" +expect "===RTC===> St-Entry Obj=l_blinky,State=Blinky_on" +expect "%timestamp ===>Tran Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off->Blinky_on" +expect "%timestamp QF-gc EvtBlinky (tick)" +current_obj TE l_blinky.timeEvt +tick +expect "%timestamp TE0-Post Obj=l_blinky.timeEvt,Sig=TIMEOUT_SIG,AO=l_blinky" +expect "%timestamp AO-Post Sdr=QS_RX,Obj=l_blinky,Evt Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off" +expect "%timestamp LED 1" +expect "===RTC===> St-Entry Obj=l_blinky,State=Blinky_on" +expect "%timestamp ===>Tran Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_off->Blinky_on" +expect "%timestamp Trg-Done QS_RX_TICK" + +test "timeEvt->Blinky (tick)" -noreset +tick +expect "%timestamp TE0-Post Obj=l_blinky.timeEvt,Sig=TIMEOUT_SIG,AO=l_blinky" +expect "%timestamp AO-Post Sdr=QS_RX,Obj=l_blinky,Evt Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_on" +expect "%timestamp LED 0" +expect "===RTC===> St-Entry Obj=l_blinky,State=Blinky_off" +expect "%timestamp ===>Tran Obj=l_blinky,Sig=TIMEOUT_SIG,State=Blinky_on->Blinky_off" +expect "%timestamp Trg-Done QS_RX_TICK" + + +# the end +end diff --git a/examples/qutest/defer/test_defer.c b/examples/qutest/defer/test_defer.c index 2d2ae3a64..511f60a7c 100644 --- a/examples/qutest/defer/test_defer.c +++ b/examples/qutest/defer/test_defer.c @@ -1,7 +1,7 @@ /***************************************************************************** * Purpose: Fixture for QUTEST -* Last Updated for Version: 6.2.0 -* Date of the Last Update: 2018-03-14 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- @@ -42,11 +42,10 @@ int main(int argc, char *argv[]) { static QF_MPOOL_EL(RequestEvt) smlPoolSto[10]; /* storage for small pool*/ static QEvt const *tserverQSto[10]; /* event queue storage for TServer */ - (void)argc; /* unused parameter */ - (void)argv; /* unused parameter */ + QF_init(); /* initialize the framework */ - QF_init(); /* initialize the framework and the underlying RTOS/OS */ - Q_ALLEGE(QS_INIT((void *)0)); /* initialize the QS software tracing */ + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* dictionaries... */ QS_OBJ_DICTIONARY(smlPoolSto); @@ -84,7 +83,6 @@ void QS_onCommand(uint8_t cmdId, (void)param2; (void)param3; - //printf(" Command id=%d param=%d\n", (int)cmdId, (int)param); switch (cmdId) { case 0U: { break; @@ -102,3 +100,4 @@ void QS_onTestEvt(QEvt *e) { #else /* this test is compiled for an embedded Target system */ #endif } + diff --git a/examples/qutest/dpp/dpp.h b/examples/qutest/dpp/dpp.h index bf90cf75b..bd0e8c333 100644 --- a/examples/qutest/dpp/dpp.h +++ b/examples/qutest/dpp/dpp.h @@ -3,7 +3,7 @@ * Model: dpp.qm * File: ${.::dpp.h} * -* This code has been generated by QM tool (https://state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or diff --git a/examples/qutest/dpp/dpp.qm b/examples/qutest/dpp/dpp.qm index 9788623aa..49a855a73 100644 --- a/examples/qutest/dpp/dpp.qm +++ b/examples/qutest/dpp/dpp.qm @@ -1,5 +1,5 @@ - + Dining Philosopher Problem example NOTE: Requries QP5. @@ -119,19 +119,13 @@ Q_ASSERT_ID(30, Q_EVT_CAST(TableEvt)->philoNum != PHILO_ID(me)); - + uint8_t n; (void)e; /* suppress the compiler warning about unused parameter */ QS_OBJ_DICTIONARY(&l_table); -QS_FUN_DICTIONARY(&QHsm_top); -QS_FUN_DICTIONARY(&Table_initial); -QS_FUN_DICTIONARY(&Table_active); -QS_FUN_DICTIONARY(&Table_serving); -QS_FUN_DICTIONARY(&Table_paused); - QS_SIG_DICTIONARY(DONE_SIG, (void *)0); /* global signals */ QS_SIG_DICTIONARY(EAT_SIG, (void *)0); QS_SIG_DICTIONARY(PAUSE_SIG, (void *)0); diff --git a/examples/qutest/dpp/main.c b/examples/qutest/dpp/main.c index 3b7e86bd6..3b3049e09 100644 --- a/examples/qutest/dpp/main.c +++ b/examples/qutest/dpp/main.c @@ -1,7 +1,7 @@ /***************************************************************************** * Product: DPP example * Last Updated for Version: 6.2.0 -* Date of the Last Update: 2018-03-16 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- @@ -43,8 +43,6 @@ int main(int argc, char *argv[]) { static QF_MPOOL_EL(TableEvt) smlPoolSto[2*N_PHILO]; /* small pool */ uint8_t n; - Philo_ctor(); /* instantiate all Philosopher active objects */ - Table_ctor(); /* instantiate the Table active object */ QF_init(); /* initialize the framework and the underlying RT kernel */ BSP_init(argc, argv); /* initialize the Board Support Package */ @@ -62,6 +60,7 @@ int main(int argc, char *argv[]) { QF_poolInit(smlPoolSto, sizeof(smlPoolSto), sizeof(smlPoolSto[0])); /* start the active objects... */ + Philo_ctor(); /* instantiate all Philosopher active objects */ for (n = 0U; n < N_PHILO; ++n) { QACTIVE_START(AO_Philo[n], /* AO to start */ (uint_fast8_t)(n + 1), /* QP priority of the AO */ @@ -71,6 +70,8 @@ int main(int argc, char *argv[]) { 0U, /* size of the stack [bytes] */ (QEvt *)0); /* initialization event */ } + + Table_ctor(); /* instantiate the Table active object */ QACTIVE_START(AO_Table, /* AO to start */ (uint_fast8_t)(N_PHILO + 1), /* QP priority of the AO */ tableQueueSto, /* event queue storage */ diff --git a/examples/qutest/dpp/philo.c b/examples/qutest/dpp/philo.c index 4793b236c..de7006952 100644 --- a/examples/qutest/dpp/philo.c +++ b/examples/qutest/dpp/philo.c @@ -3,7 +3,7 @@ * Model: dpp.qm * File: ${.::philo.c} * -* This code has been generated by QM tool (https://state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or @@ -63,8 +63,8 @@ QMActive * const AO_Philo[N_PHILO] = { /* "opaque" pointers to Philo AO */ /* Philo definition --------------------------------------------------------*/ /*$define${AOs::Philo_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 /*${AOs::Philo_ctor} .......................................................*/ void Philo_ctor(void) { diff --git a/examples/qutest/dpp/table.c b/examples/qutest/dpp/table.c index ab201184c..05d7863a0 100644 --- a/examples/qutest/dpp/table.c +++ b/examples/qutest/dpp/table.c @@ -3,7 +3,7 @@ * Model: dpp.qm * File: ${.::table.c} * -* This code has been generated by QM tool (https://state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or @@ -55,8 +55,8 @@ QMActive * const AO_Table = &l_table.super; /* "opaque" AO pointer */ /*..........................................................................*/ /*$define${AOs::Table_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 /*${AOs::Table_ctor} .......................................................*/ void Table_ctor(void) { @@ -81,12 +81,6 @@ static QState Table_initial(Table * const me, QEvt const * const e) { QS_OBJ_DICTIONARY(&l_table); - QS_FUN_DICTIONARY(&QHsm_top); - QS_FUN_DICTIONARY(&Table_initial); - QS_FUN_DICTIONARY(&Table_active); - QS_FUN_DICTIONARY(&Table_serving); - QS_FUN_DICTIONARY(&Table_paused); - QS_SIG_DICTIONARY(DONE_SIG, (void *)0); /* global signals */ QS_SIG_DICTIONARY(EAT_SIG, (void *)0); QS_SIG_DICTIONARY(PAUSE_SIG, (void *)0); @@ -105,6 +99,11 @@ static QState Table_initial(Table * const me, QEvt const * const e) { me->isHungry[n] = 0U; BSP_displayPhilStat(n, "thinking"); } + + QS_FUN_DICTIONARY(&Table_active); + QS_FUN_DICTIONARY(&Table_serving); + QS_FUN_DICTIONARY(&Table_paused); + return Q_TRAN(&Table_serving); } /*${AOs::Table::SM::active} ................................................*/ diff --git a/examples/qutest/evt_par/test_evt_par.c b/examples/qutest/evt_par/test_evt_par.c index 46fd64b45..0a266cd93 100644 --- a/examples/qutest/evt_par/test_evt_par.c +++ b/examples/qutest/evt_par/test_evt_par.c @@ -1,7 +1,7 @@ /***************************************************************************** * Purpose: example event QUTEST fixture -* Last Updated for Version: 6.1.1 -* Date of the Last Update: 2018-03-08 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- @@ -42,13 +42,10 @@ int main(int argc, char *argv[]) { static QF_MPOOL_EL(MyEvt3) smlPoolSto[10]; static QEvt const *myAoQueueSto[10]; - (void)argc; /* unused parameter */ - (void)argv; /* unused parameter */ + QF_init(); /* initialize the framework */ - MyAO_ctor(); /* instantiate the MyAO active object */ - - QF_init(); /* initialize the framework and the underlying RT kernel */ - Q_ALLEGE(QS_INIT((void *)0)); /* initialize QS tracing system */ + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* object dictionaries... */ QS_OBJ_DICTIONARY(smlPoolSto); @@ -61,6 +58,8 @@ int main(int argc, char *argv[]) { /* initialize event pools... */ QF_poolInit(smlPoolSto, sizeof(smlPoolSto), sizeof(smlPoolSto[0])); + /* start active objects... */ + MyAO_ctor(); /* instantiate the MyAO active object */ QACTIVE_START(AO_MyAO, /* AO to start */ (uint_fast8_t)1, /* QP priority of the AO */ myAoQueueSto, /* event queue storage */ diff --git a/examples/qutest/qhsmtst/qhsmtst.c b/examples/qutest/qhsmtst/qhsmtst.c index da7e6b396..2227d69e1 100644 --- a/examples/qutest/qhsmtst/qhsmtst.c +++ b/examples/qutest/qhsmtst/qhsmtst.c @@ -1,8 +1,9 @@ -/***************************************************************************** +/*$file${.::qhsmtst.c} #####################################################*/ +/* * Model: qhsmtst.qm -* File: ./qhsmtst.c +* File: ${.::qhsmtst.c} * -* This code has been generated by QM tool (see state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or @@ -13,16 +14,12 @@ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. -*****************************************************************************/ -/*${.::qhsmtst.c} ..........................................................*/ +*/ +/*$endhead${.::qhsmtst.c} ##################################################*/ #include "qpc.h" #include "qhsmtst.h" - -#if ((QP_VERSION < 580) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8))) -#error qpc version 5.8.0 or higher required -#endif - +/*$declare${HSMs::QHsmTst} #################################################*/ /*${HSMs::QHsmTst} .........................................................*/ typedef struct { /* protected: */ @@ -40,34 +37,33 @@ static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e); static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e); static QState QHsmTst_s21(QHsmTst * const me, QEvt const * const e); static QState QHsmTst_s211(QHsmTst * const me, QEvt const * const e); - +/*$enddecl${HSMs::QHsmTst} #################################################*/ static QHsmTst l_hsmtst; /* the only instance of the QHsmTst class */ /* global-scope definitions ---------------------------------------*/ QHsm * const the_hsm = (QHsm *)&l_hsmtst; /* the opaque pointer */ +/*$define${HSMs::QHsmTst_ctor} #############################################*/ +/* Check for the minimum required QP version */ +#if ((QP_VERSION < 630) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8))) +#error qpc version 6.3.0 or higher required +#endif /*${HSMs::QHsmTst_ctor} ....................................................*/ void QHsmTst_ctor(void) { QHsmTst *me = &l_hsmtst; QHsm_ctor(&me->super, Q_STATE_CAST(&QHsmTst_initial)); } +/*$enddef${HSMs::QHsmTst_ctor} #############################################*/ +/*$define${HSMs::QHsmTst} ##################################################*/ /*${HSMs::QHsmTst} .........................................................*/ /*${HSMs::QHsmTst::SM} .....................................................*/ static QState QHsmTst_initial(QHsmTst * const me, QEvt const * const e) { - /* ${HSMs::QHsmTst::SM::initial} */ + /*${HSMs::QHsmTst::SM::initial} */ (void)e; /* avoid compiler warning */ me->foo = 0U; BSP_display("top-INIT;"); - QS_FUN_DICTIONARY(&QHsm_top); - QS_FUN_DICTIONARY(&QHsmTst_s); - QS_FUN_DICTIONARY(&QHsmTst_s1); - QS_FUN_DICTIONARY(&QHsmTst_s11); - QS_FUN_DICTIONARY(&QHsmTst_s2); - QS_FUN_DICTIONARY(&QHsmTst_s21); - QS_FUN_DICTIONARY(&QHsmTst_s211); - QS_SIG_DICTIONARY(A_SIG, me); QS_SIG_DICTIONARY(B_SIG, me); QS_SIG_DICTIONARY(C_SIG, me); @@ -79,33 +75,41 @@ static QState QHsmTst_initial(QHsmTst * const me, QEvt const * const e) { QS_SIG_DICTIONARY(I_SIG, me); QS_SIG_DICTIONARY(TERMINATE_SIG, me); QS_SIG_DICTIONARY(IGNORE_SIG, me); + + QS_FUN_DICTIONARY(&QHsmTst_s); + QS_FUN_DICTIONARY(&QHsmTst_s1); + QS_FUN_DICTIONARY(&QHsmTst_s11); + QS_FUN_DICTIONARY(&QHsmTst_s2); + QS_FUN_DICTIONARY(&QHsmTst_s21); + QS_FUN_DICTIONARY(&QHsmTst_s211); + return Q_TRAN(&QHsmTst_s2); } /*${HSMs::QHsmTst::SM::s} ..................................................*/ static QState QHsmTst_s(QHsmTst * const me, QEvt const * const e) { QState status_; switch (e->sig) { - /* ${HSMs::QHsmTst::SM::s} */ + /*${HSMs::QHsmTst::SM::s} */ case Q_ENTRY_SIG: { BSP_display("s-ENTRY;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s} */ + /*${HSMs::QHsmTst::SM::s} */ case Q_EXIT_SIG: { BSP_display("s-EXIT;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::initial} */ + /*${HSMs::QHsmTst::SM::s::initial} */ case Q_INIT_SIG: { BSP_display("s-INIT;"); status_ = Q_TRAN(&QHsmTst_s11); break; } - /* ${HSMs::QHsmTst::SM::s::I} */ + /*${HSMs::QHsmTst::SM::s::I} */ case I_SIG: { - /* ${HSMs::QHsmTst::SM::s::I::[me->foo]} */ + /*${HSMs::QHsmTst::SM::s::I::[me->foo]} */ if (me->foo) { me->foo = 0U; BSP_display("s-I;"); @@ -116,13 +120,13 @@ static QState QHsmTst_s(QHsmTst * const me, QEvt const * const e) { } break; } - /* ${HSMs::QHsmTst::SM::s::E} */ + /*${HSMs::QHsmTst::SM::s::E} */ case E_SIG: { BSP_display("s-E;"); status_ = Q_TRAN(&QHsmTst_s11); break; } - /* ${HSMs::QHsmTst::SM::s::TERMINATE} */ + /*${HSMs::QHsmTst::SM::s::TERMINATE} */ case TERMINATE_SIG: { BSP_exit(); status_ = Q_HANDLED(); @@ -139,33 +143,33 @@ static QState QHsmTst_s(QHsmTst * const me, QEvt const * const e) { static QState QHsmTst_s1(QHsmTst * const me, QEvt const * const e) { QState status_; switch (e->sig) { - /* ${HSMs::QHsmTst::SM::s::s1} */ + /*${HSMs::QHsmTst::SM::s::s1} */ case Q_ENTRY_SIG: { BSP_display("s1-ENTRY;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s1} */ + /*${HSMs::QHsmTst::SM::s::s1} */ case Q_EXIT_SIG: { BSP_display("s1-EXIT;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s1::initial} */ + /*${HSMs::QHsmTst::SM::s::s1::initial} */ case Q_INIT_SIG: { BSP_display("s1-INIT;"); status_ = Q_TRAN(&QHsmTst_s11); break; } - /* ${HSMs::QHsmTst::SM::s::s1::I} */ + /*${HSMs::QHsmTst::SM::s::s1::I} */ case I_SIG: { BSP_display("s1-I;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s1::D} */ + /*${HSMs::QHsmTst::SM::s::s1::D} */ case D_SIG: { - /* ${HSMs::QHsmTst::SM::s::s1::D::[!me->foo]} */ + /*${HSMs::QHsmTst::SM::s::s1::D::[!me->foo]} */ if (!me->foo) { me->foo = 1U; BSP_display("s1-D;"); @@ -176,25 +180,25 @@ static QState QHsmTst_s1(QHsmTst * const me, QEvt const * const e) { } break; } - /* ${HSMs::QHsmTst::SM::s::s1::A} */ + /*${HSMs::QHsmTst::SM::s::s1::A} */ case A_SIG: { BSP_display("s1-A;"); status_ = Q_TRAN(&QHsmTst_s1); break; } - /* ${HSMs::QHsmTst::SM::s::s1::B} */ + /*${HSMs::QHsmTst::SM::s::s1::B} */ case B_SIG: { BSP_display("s1-B;"); status_ = Q_TRAN(&QHsmTst_s11); break; } - /* ${HSMs::QHsmTst::SM::s::s1::F} */ + /*${HSMs::QHsmTst::SM::s::s1::F} */ case F_SIG: { BSP_display("s1-F;"); status_ = Q_TRAN(&QHsmTst_s211); break; } - /* ${HSMs::QHsmTst::SM::s::s1::C} */ + /*${HSMs::QHsmTst::SM::s::s1::C} */ case C_SIG: { BSP_display("s1-C;"); status_ = Q_TRAN(&QHsmTst_s2); @@ -211,27 +215,27 @@ static QState QHsmTst_s1(QHsmTst * const me, QEvt const * const e) { static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e) { QState status_; switch (e->sig) { - /* ${HSMs::QHsmTst::SM::s::s1::s11} */ + /*${HSMs::QHsmTst::SM::s::s1::s11} */ case Q_ENTRY_SIG: { BSP_display("s11-ENTRY;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s1::s11} */ + /*${HSMs::QHsmTst::SM::s::s1::s11} */ case Q_EXIT_SIG: { BSP_display("s11-EXIT;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s1::s11::H} */ + /*${HSMs::QHsmTst::SM::s::s1::s11::H} */ case H_SIG: { BSP_display("s11-H;"); status_ = Q_TRAN(&QHsmTst_s); break; } - /* ${HSMs::QHsmTst::SM::s::s1::s11::D} */ + /*${HSMs::QHsmTst::SM::s::s1::s11::D} */ case D_SIG: { - /* ${HSMs::QHsmTst::SM::s::s1::s11::D::[me->foo]} */ + /*${HSMs::QHsmTst::SM::s::s1::s11::D::[me->foo]} */ if (me->foo) { me->foo = 0U; BSP_display("s11-D;"); @@ -242,7 +246,7 @@ static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e) { } break; } - /* ${HSMs::QHsmTst::SM::s::s1::s11::G} */ + /*${HSMs::QHsmTst::SM::s::s1::s11::G} */ case G_SIG: { BSP_display("s11-G;"); status_ = Q_TRAN(&QHsmTst_s211); @@ -259,27 +263,27 @@ static QState QHsmTst_s11(QHsmTst * const me, QEvt const * const e) { static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e) { QState status_; switch (e->sig) { - /* ${HSMs::QHsmTst::SM::s::s2} */ + /*${HSMs::QHsmTst::SM::s::s2} */ case Q_ENTRY_SIG: { BSP_display("s2-ENTRY;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s2} */ + /*${HSMs::QHsmTst::SM::s::s2} */ case Q_EXIT_SIG: { BSP_display("s2-EXIT;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s2::initial} */ + /*${HSMs::QHsmTst::SM::s::s2::initial} */ case Q_INIT_SIG: { BSP_display("s2-INIT;"); status_ = Q_TRAN(&QHsmTst_s211); break; } - /* ${HSMs::QHsmTst::SM::s::s2::I} */ + /*${HSMs::QHsmTst::SM::s::s2::I} */ case I_SIG: { - /* ${HSMs::QHsmTst::SM::s::s2::I::[!me->foo]} */ + /*${HSMs::QHsmTst::SM::s::s2::I::[!me->foo]} */ if (!me->foo) { me->foo = 1U; BSP_display("s2-I;"); @@ -290,13 +294,13 @@ static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e) { } break; } - /* ${HSMs::QHsmTst::SM::s::s2::F} */ + /*${HSMs::QHsmTst::SM::s::s2::F} */ case F_SIG: { BSP_display("s2-F;"); status_ = Q_TRAN(&QHsmTst_s11); break; } - /* ${HSMs::QHsmTst::SM::s::s2::C} */ + /*${HSMs::QHsmTst::SM::s::s2::C} */ case C_SIG: { BSP_display("s2-C;"); status_ = Q_TRAN(&QHsmTst_s1); @@ -313,37 +317,37 @@ static QState QHsmTst_s2(QHsmTst * const me, QEvt const * const e) { static QState QHsmTst_s21(QHsmTst * const me, QEvt const * const e) { QState status_; switch (e->sig) { - /* ${HSMs::QHsmTst::SM::s::s2::s21} */ + /*${HSMs::QHsmTst::SM::s::s2::s21} */ case Q_ENTRY_SIG: { BSP_display("s21-ENTRY;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21} */ + /*${HSMs::QHsmTst::SM::s::s2::s21} */ case Q_EXIT_SIG: { BSP_display("s21-EXIT;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::initial} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::initial} */ case Q_INIT_SIG: { BSP_display("s21-INIT;"); status_ = Q_TRAN(&QHsmTst_s211); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::G} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::G} */ case G_SIG: { BSP_display("s21-G;"); status_ = Q_TRAN(&QHsmTst_s1); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::A} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::A} */ case A_SIG: { BSP_display("s21-A;"); status_ = Q_TRAN(&QHsmTst_s21); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::B} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::B} */ case B_SIG: { BSP_display("s21-B;"); status_ = Q_TRAN(&QHsmTst_s211); @@ -360,25 +364,25 @@ static QState QHsmTst_s21(QHsmTst * const me, QEvt const * const e) { static QState QHsmTst_s211(QHsmTst * const me, QEvt const * const e) { QState status_; switch (e->sig) { - /* ${HSMs::QHsmTst::SM::s::s2::s21::s211} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::s211} */ case Q_ENTRY_SIG: { BSP_display("s211-ENTRY;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::s211} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::s211} */ case Q_EXIT_SIG: { BSP_display("s211-EXIT;"); status_ = Q_HANDLED(); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::s211::H} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::s211::H} */ case H_SIG: { BSP_display("s211-H;"); status_ = Q_TRAN(&QHsmTst_s); break; } - /* ${HSMs::QHsmTst::SM::s::s2::s21::s211::D} */ + /*${HSMs::QHsmTst::SM::s::s2::s21::s211::D} */ case D_SIG: { BSP_display("s211-D;"); status_ = Q_TRAN(&QHsmTst_s21); @@ -391,4 +395,4 @@ static QState QHsmTst_s211(QHsmTst * const me, QEvt const * const e) { } return status_; } - +/*$enddef${HSMs::QHsmTst} ##################################################*/ diff --git a/examples/qutest/qhsmtst/qhsmtst.h b/examples/qutest/qhsmtst/qhsmtst.h index a3e2b8cca..ef3e083b9 100644 --- a/examples/qutest/qhsmtst/qhsmtst.h +++ b/examples/qutest/qhsmtst/qhsmtst.h @@ -1,8 +1,9 @@ -/***************************************************************************** +/*$file${.::qhsmtst.h} #####################################################*/ +/* * Model: qhsmtst.qm -* File: ./qhsmtst.h +* File: ${.::qhsmtst.h} * -* This code has been generated by QM tool (see state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or @@ -13,8 +14,8 @@ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. -*****************************************************************************/ -/*${.::qhsmtst.h} ..........................................................*/ +*/ +/*$endhead${.::qhsmtst.h} ##################################################*/ #ifndef qhsmtst_h #define qhsmtst_h @@ -35,12 +36,13 @@ enum QHsmTstSignals { extern QHsm * const the_hsm; /* opaque pointer to the test HSM */ +/*$declare${HSMs::QHsmTst_ctor} ############################################*/ /*${HSMs::QHsmTst_ctor} ....................................................*/ void QHsmTst_ctor(void); - +/*$enddecl${HSMs::QHsmTst_ctor} ############################################*/ /* BSP functions to dispaly a message and exit */ void BSP_display(char const *msg); void BSP_exit(void); -#endif /* qhsmtst_h */ +#endif /* qhsmtst_h */ \ No newline at end of file diff --git a/examples/qutest/qhsmtst/qhsmtst.qm b/examples/qutest/qhsmtst/qhsmtst.qm index 08273cb38..6ee209443 100644 --- a/examples/qutest/qhsmtst/qhsmtst.qm +++ b/examples/qutest/qhsmtst/qhsmtst.qm @@ -1,25 +1,17 @@ - + QHsmTst is a contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting. Test active object - + (void)e; /* avoid compiler warning */ me->foo = 0U; BSP_display("top-INIT;"); -QS_FUN_DICTIONARY(&QHsm_top); -QS_FUN_DICTIONARY(&QHsmTst_s); -QS_FUN_DICTIONARY(&QHsmTst_s1); -QS_FUN_DICTIONARY(&QHsmTst_s11); -QS_FUN_DICTIONARY(&QHsmTst_s2); -QS_FUN_DICTIONARY(&QHsmTst_s21); -QS_FUN_DICTIONARY(&QHsmTst_s211); - QS_SIG_DICTIONARY(A_SIG, me); QS_SIG_DICTIONARY(B_SIG, me); QS_SIG_DICTIONARY(C_SIG, me); diff --git a/examples/qutest/qhsmtst/test_qhsm.c b/examples/qutest/qhsmtst/test_qhsm.c index 1d38b330f..f04e75839 100644 --- a/examples/qutest/qhsmtst/test_qhsm.c +++ b/examples/qutest/qhsmtst/test_qhsm.c @@ -1,13 +1,13 @@ /***************************************************************************** * Purpose: Fixture for QUTEST -* Last Updated for Version: 5.9.0 -* Date of the Last Update: 2017-05-15 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- * innovating embedded systems * -* Copyright (C) 2005-2017 Quantum Leaps, LLC. All rights reserved. +* Copyright (C) 2005-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 @@ -28,7 +28,7 @@ * along with this program. If not, see . * * Contact information: -* https://state-machine.com +* https://www.state-machine.com * mailto:info@state-machine.com *****************************************************************************/ #include "qpc.h" @@ -41,25 +41,38 @@ enum { }; /*--------------------------------------------------------------------------*/ -int main() { +int main(int argc, char *argv[]) { static QF_MPOOL_EL(QEvt) smlPoolSto[10]; /* small pool */ - QHsmTst_ctor(); /* instantiate the QHsmTst object */ + QF_init(); /* initialize the framework */ - QF_init(); /* initialize the framework and the underlying RT kernel */ + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* initialize event pools... */ QF_poolInit(smlPoolSto, sizeof(smlPoolSto), sizeof(smlPoolSto[0])); - Q_ALLEGE(QS_INIT((void *)0)); /* initialize the QS software tracing */ - /* dictionaries... */ + QS_FUN_DICTIONARY(&QHsm_top); QS_OBJ_DICTIONARY(the_hsm); QS_USR_DICTIONARY(BSP_DISPLAY); + QHsmTst_ctor(); /* instantiate the QHsmTst object */ + return QF_run(); } +/*--------------------------------------------------------------------------*/ +void BSP_display(char const *msg) { + QS_BEGIN(BSP_DISPLAY, (void *)0) /* application-specific record */ + QS_STR(msg); + QS_END() +} + +/*..........................................................................*/ +void BSP_exit(void) { +} + /*--------------------------------------------------------------------------*/ void QS_onTestSetup(void) { } @@ -100,14 +113,3 @@ void QS_onTestEvt(QEvt *e) { #endif -/*--------------------------------------------------------------------------*/ -void BSP_display(char const *msg) { - QS_BEGIN(BSP_DISPLAY, (void *)0) /* application-specific record */ - QS_STR(msg); - QS_END() -} - -/*..........................................................................*/ -void BSP_exit(void) { -} - diff --git a/examples/qutest/qmsmtst/.qmsmtst b/examples/qutest/qmsmtst/.qmsmtst new file mode 100644 index 000000000..9286d37aa --- /dev/null +++ b/examples/qutest/qmsmtst/.qmsmtst @@ -0,0 +1,58 @@ + + + + + 1 + 0 + 3 + 0 + + + + 2032128 + 0 + + + + + 0 + + + + + 0 + + + 0 + + + + + 0 + + + 0 + + + + + 0 + + + 0 + + + + + 0 + + + 0 + + + + + 0 + + + diff --git a/examples/qutest/qmsmtst/qmsmtst.c b/examples/qutest/qmsmtst/qmsmtst.c index a190c2c14..761514ae7 100644 --- a/examples/qutest/qmsmtst/qmsmtst.c +++ b/examples/qutest/qmsmtst/qmsmtst.c @@ -3,7 +3,7 @@ * Model: qmsmtst.qm * File: ${.::qmsmtst.c} * -* This code has been generated by QM 4.2.0 (https://www.state-machine.com/qm). +* This code has been generated by QM 4.2.1 (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: @@ -102,7 +102,7 @@ static QMState const QMsmTst_s211_s = { static QMsmTst l_msmtst; /* the only instance of the QMsmTst class */ /* global-scope definitions ---------------------------------------*/ -QMsm * const the_msm = (QMsm *)&l_msmtst; /* the opaque pointer */ +QMsm * const the_msm = (QMsm *)&l_msmtst; /* the opaque pointer */ /*$define${SMs::QMsmTst_ctor} ##############################################*/ /* Check for the minimum required QP version */ @@ -115,6 +115,7 @@ void QMsmTst_ctor(void) { QMsm_ctor(&me->super, Q_STATE_CAST(&QMsmTst_initial)); } /*$enddef${SMs::QMsmTst_ctor} ##############################################*/ + /*$define${SMs::QMsmTst} ###################################################*/ /*${SMs::QMsmTst} ..........................................................*/ /*${SMs::QMsmTst::SM} ......................................................*/ @@ -136,13 +137,6 @@ static QState QMsmTst_initial(QMsmTst * const me, QEvt const * const e) { me->foo = 0U; BSP_display("top-INIT;"); - QS_FUN_DICTIONARY(&QMsmTst_s); - QS_FUN_DICTIONARY(&QMsmTst_s1); - QS_FUN_DICTIONARY(&QMsmTst_s11); - QS_FUN_DICTIONARY(&QMsmTst_s2); - QS_FUN_DICTIONARY(&QMsmTst_s21); - QS_FUN_DICTIONARY(&QMsmTst_s211); - QS_SIG_DICTIONARY(A_SIG, me); QS_SIG_DICTIONARY(B_SIG, me); QS_SIG_DICTIONARY(C_SIG, me); @@ -154,6 +148,14 @@ static QState QMsmTst_initial(QMsmTst * const me, QEvt const * const e) { QS_SIG_DICTIONARY(I_SIG, me); QS_SIG_DICTIONARY(TERMINATE_SIG, me); QS_SIG_DICTIONARY(IGNORE_SIG, me); + + QS_FUN_DICTIONARY(&QMsmTst_s); + QS_FUN_DICTIONARY(&QMsmTst_s1); + QS_FUN_DICTIONARY(&QMsmTst_s11); + QS_FUN_DICTIONARY(&QMsmTst_s2); + QS_FUN_DICTIONARY(&QMsmTst_s21); + QS_FUN_DICTIONARY(&QMsmTst_s211); + return QM_TRAN_INIT(&tatbl_); } /*${SMs::QMsmTst::SM::s} ...................................................*/ diff --git a/examples/qutest/qmsmtst/qmsmtst.h b/examples/qutest/qmsmtst/qmsmtst.h index 359fe23d5..5ab4af8df 100644 --- a/examples/qutest/qmsmtst/qmsmtst.h +++ b/examples/qutest/qmsmtst/qmsmtst.h @@ -3,7 +3,7 @@ * Model: qmsmtst.qm * File: ${.::qmsmtst.h} * -* This code has been generated by QM 4.2.0 (https://www.state-machine.com/qm). +* This code has been generated by QM 4.2.1 (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: diff --git a/examples/qutest/qmsmtst/qmsmtst.qm b/examples/qutest/qmsmtst/qmsmtst.qm index 8a93ba3bc..7125272e9 100644 --- a/examples/qutest/qmsmtst/qmsmtst.qm +++ b/examples/qutest/qmsmtst/qmsmtst.qm @@ -1,24 +1,17 @@ - + 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. Test active object - + (void)e; /* avoid compiler warning */ me->foo = 0U; BSP_display("top-INIT;"); -QS_FUN_DICTIONARY(&QMsmTst_s); -QS_FUN_DICTIONARY(&QMsmTst_s1); -QS_FUN_DICTIONARY(&QMsmTst_s11); -QS_FUN_DICTIONARY(&QMsmTst_s2); -QS_FUN_DICTIONARY(&QMsmTst_s21); -QS_FUN_DICTIONARY(&QMsmTst_s211); - QS_SIG_DICTIONARY(A_SIG, me); QS_SIG_DICTIONARY(B_SIG, me); QS_SIG_DICTIONARY(C_SIG, me); @@ -284,7 +277,7 @@ enum QMsmTstSignals { extern QMsm * const the_msm; /* opaque pointer to the test MSM */ -$declare(SMs::QMsmTst_ctor) +$declare${SMs::QMsmTst_ctor} /* BSP functions to dispaly a message and exit */ void BSP_display(char const *msg); @@ -296,15 +289,16 @@ void BSP_exit(void); #include "qpc.h" #include "qmsmtst.h" -$declare(SMs::QMsmTst) +$declare${SMs::QMsmTst} static QMsmTst l_msmtst; /* the only instance of the QMsmTst class */ /* global-scope definitions ---------------------------------------*/ -QMsm * const the_msm = (QMsm *)&l_msmtst; /* the opaque pointer */ +QMsm * const the_msm = (QMsm *)&l_msmtst; /* the opaque pointer */ + +$define${SMs::QMsmTst_ctor} -$define(SMs::QMsmTst_ctor) -$define(SMs::QMsmTst) +$define${SMs::QMsmTst} diff --git a/examples/qutest/qmsmtst/test_qmsm.c b/examples/qutest/qmsmtst/test_qmsm.c index 0fccd2892..746af04f5 100644 --- a/examples/qutest/qmsmtst/test_qmsm.c +++ b/examples/qutest/qmsmtst/test_qmsm.c @@ -1,13 +1,13 @@ /***************************************************************************** * Purpose: Fixture for QUTEST -* Last Updated for Version: 5.9.0 -* Date of the Last Update: 2017-05-15 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- * innovating embedded systems * -* Copyright (C) 2005-2017 Quantum Leaps, LLC. All rights reserved. +* Copyright (C) 2005-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 @@ -28,7 +28,7 @@ * along with this program. If not, see . * * Contact information: -* https://state-machine.com +* https://www.state-machine.com * mailto:info@state-machine.com *****************************************************************************/ #include "qpc.h" @@ -41,22 +41,23 @@ enum { }; /*--------------------------------------------------------------------------*/ -int main() { +int main(int argc, char *argv[]) { static QF_MPOOL_EL(QEvt) smlPoolSto[10]; /* small pool */ - QMsmTst_ctor(); /* instantiate the QMsmTst object */ + QF_init(); /* initialize the framework */ - QF_init(); /* initialize the framework and the underlying RT kernel */ + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* initialize event pools... */ QF_poolInit(smlPoolSto, sizeof(smlPoolSto), sizeof(smlPoolSto[0])); - Q_ALLEGE(QS_INIT((void *)0)); /* initialize the QS software tracing */ - /* dictionaries... */ QS_OBJ_DICTIONARY(the_msm); QS_USR_DICTIONARY(BSP_DISPLAY); + QMsmTst_ctor(); /* instantiate the QHsmTst object */ + return QF_run(); } diff --git a/examples/qutest/self_test/test_qutest.c b/examples/qutest/self_test/test_qutest.c index b66aaba8e..49a69e660 100644 --- a/examples/qutest/self_test/test_qutest.c +++ b/examples/qutest/self_test/test_qutest.c @@ -1,13 +1,13 @@ /***************************************************************************** * Purpose: Fixture for QUTEST self-test -* Last Updated for Version: 5.9.0 -* Date of the Last Update: 2017-05-12 +* Last Updated for Version: 6.3.1 +* Date of the Last Update: 2018-05-21 * * Q u a n t u m L e a P s * --------------------------- * innovating embedded systems * -* Copyright (C) 2005-2017 Quantum Leaps, LLC. All rights reserved. +* Copyright (C) 2005-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 @@ -28,7 +28,7 @@ * along with this program. If not, see . * * Contact information: -* https://state-machine.com +* https://www.state-machine.com * mailto:info@state-machine.com *****************************************************************************/ #include "qpc.h" /* for QUTEST */ @@ -48,8 +48,11 @@ enum { /*--------------------------------------------------------------------------*/ int main(int argc, char *argv[]) { - QF_init(); /* initialize the framework and the underlying RT kernel */ - Q_ALLEGE(QS_INIT(argc <= 1 ? (void *)0 : argv[1]) != (uint8_t)0); + + QF_init(); /* initialize the framework */ + + /* initialize the QS software tracing */ + Q_ALLEGE(QS_INIT(argc > 1 ? argv[1] : (void *)0)); /* global filter */ QS_FILTER_ON(QS_ALL_RECORDS); /* enable all QS records */ diff --git a/examples/win32/qhsmtst/Makefile b/examples/win32/qhsmtst/Makefile index ee66450be..60f909176 100644 --- a/examples/win32/qhsmtst/Makefile +++ b/examples/win32/qhsmtst/Makefile @@ -1,7 +1,7 @@ ############################################################################## # Product: Makefile for QP/C, QHsmTst 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 . # # 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 @@ -67,7 +67,7 @@ QP_PORT_DIR := $(QPC)/ports/win32 # list of all source directories used by this project VPATH = \ - . \ + . # list of all include directories needed by this project INCLUDES = \ @@ -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 \ diff --git a/examples/win32/qhsmtst/qhsmtst.c b/examples/win32/qhsmtst/qhsmtst.c index 2e3e01bc7..a5456d916 100644 --- a/examples/win32/qhsmtst/qhsmtst.c +++ b/examples/win32/qhsmtst/qhsmtst.c @@ -3,7 +3,7 @@ * Model: qhsmtst.qm * File: ${.::qhsmtst.c} * -* This code has been generated by QM tool (https://state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or @@ -46,8 +46,8 @@ QHsm * const the_hsm = (QHsm *)&l_hsmtst; /* the opaque pointer */ /*$define${HSMs::QHsmTst_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 /*${HSMs::QHsmTst_ctor} ....................................................*/ void QHsmTst_ctor(void) { @@ -63,6 +63,14 @@ static QState QHsmTst_initial(QHsmTst * const me, QEvt const * const e) { (void)e; /* avoid compiler warning */ me->foo = 0U; BSP_display("top-INIT;"); + + QS_FUN_DICTIONARY(&QHsmTst_s); + QS_FUN_DICTIONARY(&QHsmTst_s1); + QS_FUN_DICTIONARY(&QHsmTst_s11); + QS_FUN_DICTIONARY(&QHsmTst_s2); + QS_FUN_DICTIONARY(&QHsmTst_s21); + QS_FUN_DICTIONARY(&QHsmTst_s211); + return Q_TRAN(&QHsmTst_s2); } /*${HSMs::QHsmTst::SM::s} ..................................................*/ diff --git a/examples/win32/qhsmtst/qhsmtst.h b/examples/win32/qhsmtst/qhsmtst.h index c37899a0f..ef3e083b9 100644 --- a/examples/win32/qhsmtst/qhsmtst.h +++ b/examples/win32/qhsmtst/qhsmtst.h @@ -3,7 +3,7 @@ * Model: qhsmtst.qm * File: ${.::qhsmtst.h} * -* This code has been generated by QM tool (https://state-machine.com/qm). +* This code has been generated by QM 4.2.1 (https://www.state-machine.com/qm). * DO NOT EDIT THIS FILE MANUALLY. All your changes will be lost. * * This program is open source software: you can redistribute it and/or diff --git a/examples/win32/qhsmtst/qhsmtst.qm b/examples/win32/qhsmtst/qhsmtst.qm index fa4d7331d..b5a2fd7ac 100644 --- a/examples/win32/qhsmtst/qhsmtst.qm +++ b/examples/win32/qhsmtst/qhsmtst.qm @@ -1,12 +1,12 @@ - + QHsmTst is a contrived state machine from Chapter 2 of the PSiCC2 book for testing all possible transition topologies with up to 4-levels of state nesting. Test active object - + (void)e; /* avoid compiler warning */ me->foo = 0U; diff --git a/examples/win32/qmsmtst/qmsmtst.c b/examples/win32/qmsmtst/qmsmtst.c index ae34f7136..5a7455097 100644 --- a/examples/win32/qmsmtst/qmsmtst.c +++ b/examples/win32/qmsmtst/qmsmtst.c @@ -3,7 +3,7 @@ * Model: qmsmtst.qm * File: ${.::qmsmtst.c} * -* This code has been generated by QM 4.2.0 (https://www.state-machine.com/qm). +* This code has been generated by QM 4.2.1 (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: @@ -135,6 +135,14 @@ static QState QMsmTst_initial(QMsmTst * const me, QEvt const * const e) { (void)e; /* avoid compiler warning */ me->foo = 0U; BSP_display("top-INIT;"); + + QS_FUN_DICTIONARY(&QMsmTst_s); + QS_FUN_DICTIONARY(&QMsmTst_s1); + QS_FUN_DICTIONARY(&QMsmTst_s11); + QS_FUN_DICTIONARY(&QMsmTst_s2); + QS_FUN_DICTIONARY(&QMsmTst_s21); + QS_FUN_DICTIONARY(&QMsmTst_s211); + return QM_TRAN_INIT(&tatbl_); } /*${SMs::QMsmTst::SM::s} ...................................................*/ diff --git a/examples/win32/qmsmtst/qmsmtst.h b/examples/win32/qmsmtst/qmsmtst.h index 359fe23d5..5ab4af8df 100644 --- a/examples/win32/qmsmtst/qmsmtst.h +++ b/examples/win32/qmsmtst/qmsmtst.h @@ -3,7 +3,7 @@ * Model: qmsmtst.qm * File: ${.::qmsmtst.h} * -* This code has been generated by QM 4.2.0 (https://www.state-machine.com/qm). +* This code has been generated by QM 4.2.1 (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: diff --git a/examples/win32/qmsmtst/qmsmtst.qm b/examples/win32/qmsmtst/qmsmtst.qm index 829dd4049..665fd0f38 100644 --- a/examples/win32/qmsmtst/qmsmtst.qm +++ b/examples/win32/qmsmtst/qmsmtst.qm @@ -1,12 +1,12 @@ - + 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. Test active object - + (void)e; /* avoid compiler warning */ me->foo = 0U; diff --git a/include/qep.h b/include/qep.h index bc3d896ef..0692362ab 100644 --- a/include/qep.h +++ b/include/qep.h @@ -4,8 +4,8 @@ * @ingroup qep * @cond ****************************************************************************** -* Last updated for version 6.3.0 -* Last updated on 2018-05-09 +* Last updated for version 6.3.1 +* Last updated on 2018-05-22 * * 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 630 +#define QP_VERSION 631 /*! 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.3.0" +#define QP_VERSION_STR "6.3.1" -/*! Tamperproof current QP release (6.3.0) and date (2018-05-10) */ -#define QP_RELEASE 0x946859A9U +/*! Tamperproof current QP release (6.3.1) and date (2018-05-24) */ +#define QP_RELEASE 0x946636C8U /****************************************************************************/ diff --git a/version-6.3.0 b/version-6.3.0 deleted file mode 100644 index 125cbe025..000000000 --- a/version-6.3.0 +++ /dev/null @@ -1,2 +0,0 @@ -QP/C 6.3.0 -2018-05-10 diff --git a/version-6.3.1 b/version-6.3.1 new file mode 100644 index 000000000..5c25abf42 --- /dev/null +++ b/version-6.3.1 @@ -0,0 +1,2 @@ +QP/C 6.3.1 +2018-05-24