Skip to content

Commit 4b3042e

Browse files
committed
7.1.3
1 parent 094e463 commit 4b3042e

File tree

12 files changed

+302
-244
lines changed

12 files changed

+302
-244
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
version-*
2525

2626
html/
27+
latex/
2728
test_priv/
2829
bin/*.exe
2930
bin/*.dll

doxygen/Doxyfile

Lines changed: 9 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# Doxyfile 1.9.5
22

3+
@INCLUDE = ../../ql-doxygen/ql-doxyfile
4+
35
#---------------------------------------------------------------------------
46
# Project related configuration options
57
#---------------------------------------------------------------------------
68
DOXYFILE_ENCODING = UTF-8
79
PROJECT_NAME = QTools
8-
PROJECT_NUMBER = 7.1.2
10+
PROJECT_NUMBER = 7.1.3
911
PROJECT_BRIEF = "Collection of Host-Based Tools"
1012
PROJECT_LOGO = ../../ql-doxygen/images/logo_ql.png
1113
OUTPUT_DIRECTORY =
@@ -40,18 +42,7 @@ PYTHON_DOCSTRING = YES
4042
INHERIT_DOCS = YES
4143
SEPARATE_MEMBER_PAGES = NO
4244
TAB_SIZE = 4
43-
ALIASES = "nav{2}=<span class=\"prev_button\">@ref \1</span><span class=\"next_button\">@ref \2</span>" \
44-
"nav_prev{1}=<span class=\"prev_button\">@ref \1</span>" \
45-
"nav_next{1}=<span class=\"next_button\">@ref \1</span>" \
46-
"next{1}=<span class=\"next_button\">@ref \1</span>" \
47-
"description=@par Description" \
48-
"usage=@par Usage" \
49-
"hint=@par Hint" \
50-
"label{1}=<div class=\"label\">\1</div>" \
51-
"caption{1}=<div class=\"caption\" align=\"center\">\1</div>" \
52-
"webref{2}=<a class=\"extern\" target=\"_blank\" href=\"https://www.state-machine.com/\1\">\2</a>" \
53-
"tr{1}=@xrefitem tr \"Traceability\" \"\" traces to: @ref \1"
54-
OPTIMIZE_OUTPUT_FOR_C = YES
45+
OPTIMIZE_OUTPUT_FOR_C = NO
5546
OPTIMIZE_OUTPUT_JAVA = NO
5647
OPTIMIZE_FOR_FORTRAN = NO
5748
OPTIMIZE_OUTPUT_VHDL = NO
@@ -184,7 +175,7 @@ FORTRAN_COMMENT_AFTER = 72
184175
#---------------------------------------------------------------------------
185176
SOURCE_BROWSER = YES
186177
INLINE_SOURCES = NO
187-
STRIP_CODE_COMMENTS = YES
178+
STRIP_CODE_COMMENTS = NO
188179
REFERENCED_BY_RELATION = NO
189180
REFERENCES_RELATION = NO
190181
REFERENCES_LINK_SOURCE = YES
@@ -272,68 +263,6 @@ SEARCHDATA_FILE = searchdata.xml
272263
EXTERNAL_SEARCH_ID = QTOOLS
273264
EXTRA_SEARCH_MAPPINGS =
274265
#---------------------------------------------------------------------------
275-
# Configuration options related to the LaTeX output
276-
#---------------------------------------------------------------------------
277-
GENERATE_LATEX = NO
278-
LATEX_OUTPUT = latex
279-
LATEX_CMD_NAME = latex
280-
MAKEINDEX_CMD_NAME = makeindex
281-
LATEX_MAKEINDEX_CMD = makeindex
282-
COMPACT_LATEX = NO
283-
PAPER_TYPE = letter
284-
EXTRA_PACKAGES =
285-
LATEX_HEADER =
286-
LATEX_FOOTER =
287-
LATEX_EXTRA_STYLESHEET =
288-
LATEX_EXTRA_FILES =
289-
PDF_HYPERLINKS = YES
290-
USE_PDFLATEX = YES
291-
LATEX_BATCHMODE = NO
292-
LATEX_HIDE_INDICES = NO
293-
LATEX_BIB_STYLE = plain
294-
LATEX_TIMESTAMP = NO
295-
LATEX_EMOJI_DIRECTORY =
296-
#---------------------------------------------------------------------------
297-
# Configuration options related to the RTF output
298-
#---------------------------------------------------------------------------
299-
GENERATE_RTF = NO
300-
RTF_OUTPUT = rtf
301-
COMPACT_RTF = NO
302-
RTF_HYPERLINKS = NO
303-
RTF_STYLESHEET_FILE =
304-
RTF_EXTENSIONS_FILE =
305-
#---------------------------------------------------------------------------
306-
# Configuration options related to the man page output
307-
#---------------------------------------------------------------------------
308-
GENERATE_MAN = NO
309-
MAN_OUTPUT = man
310-
MAN_EXTENSION = .3
311-
MAN_SUBDIR =
312-
MAN_LINKS = NO
313-
#---------------------------------------------------------------------------
314-
# Configuration options related to the XML output
315-
#---------------------------------------------------------------------------
316-
GENERATE_XML = NO
317-
XML_OUTPUT = xml
318-
XML_PROGRAMLISTING = YES
319-
XML_NS_MEMB_FILE_SCOPE = NO
320-
#---------------------------------------------------------------------------
321-
# Configuration options related to the DOCBOOK output
322-
#---------------------------------------------------------------------------
323-
GENERATE_DOCBOOK = NO
324-
DOCBOOK_OUTPUT = docbook
325-
#---------------------------------------------------------------------------
326-
# Configuration options for the AutoGen Definitions output
327-
#---------------------------------------------------------------------------
328-
GENERATE_AUTOGEN_DEF = NO
329-
#---------------------------------------------------------------------------
330-
# Configuration options related to the Perl module output
331-
#---------------------------------------------------------------------------
332-
GENERATE_PERLMOD = NO
333-
PERLMOD_LATEX = NO
334-
PERLMOD_PRETTY = YES
335-
PERLMOD_MAKEVAR_PREFIX =
336-
#---------------------------------------------------------------------------
337266
# Configuration options related to the preprocessor
338267
#---------------------------------------------------------------------------
339268
ENABLE_PREPROCESSING = YES
@@ -343,54 +272,9 @@ SEARCH_INCLUDES = YES
343272
INCLUDE_PATH =
344273
INCLUDE_FILE_PATTERNS =
345274
PREDEFINED = Q_SPY \
346-
Q_UTEST
275+
Q_UTEST \
276+
QS_OBJ_PTR_SIZE=4U \
277+
QS_FUN_PTR_SIZE=4U \
278+
Q_SIGNAL_SIZE=2U
347279
EXPAND_AS_DEFINED =
348280
SKIP_FUNCTION_MACROS = YES
349-
#---------------------------------------------------------------------------
350-
# Configuration options related to external references
351-
#---------------------------------------------------------------------------
352-
TAGFILES =
353-
GENERATE_TAGFILE =
354-
ALLEXTERNALS = NO
355-
EXTERNAL_GROUPS = YES
356-
EXTERNAL_PAGES = YES
357-
#---------------------------------------------------------------------------
358-
# Configuration options related to the dot tool
359-
#---------------------------------------------------------------------------
360-
DIA_PATH =
361-
HIDE_UNDOC_RELATIONS = YES
362-
HAVE_DOT = NO
363-
DOT_NUM_THREADS = 0
364-
DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10"
365-
DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10"
366-
DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4"
367-
DOT_FONTPATH =
368-
CLASS_GRAPH = YES
369-
COLLABORATION_GRAPH = NO
370-
GROUP_GRAPHS = YES
371-
UML_LOOK = YES
372-
UML_LIMIT_NUM_FIELDS = 10
373-
DOT_UML_DETAILS = NO
374-
DOT_WRAP_THRESHOLD = 17
375-
TEMPLATE_RELATIONS = NO
376-
INCLUDE_GRAPH = YES
377-
INCLUDED_BY_GRAPH = YES
378-
CALL_GRAPH = NO
379-
CALLER_GRAPH = NO
380-
GRAPHICAL_HIERARCHY = YES
381-
DIRECTORY_GRAPH = YES
382-
DIR_GRAPH_MAX_DEPTH = 1
383-
DOT_IMAGE_FORMAT = png
384-
INTERACTIVE_SVG = NO
385-
DOT_PATH = C:/tools/graphviz/bin
386-
DOTFILE_DIRS =
387-
MSCFILE_DIRS =
388-
DIAFILE_DIRS =
389-
PLANTUML_JAR_PATH =
390-
PLANTUML_CFG_FILE =
391-
PLANTUML_INCLUDE_PATH =
392-
DOT_GRAPH_MAX_NODES = 50
393-
MAX_DOT_GRAPH_DEPTH = 0
394-
DOT_MULTI_TARGETS = NO
395-
GENERATE_LEGEND = YES
396-
DOT_CLEANUP = YES

doxygen/Doxyfile-CHM

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# Doxyfile 1.9.4
1+
# Doxyfile 1.9.5
22

33
@INCLUDE = Doxyfile
44

5-
#---------------------------------------------------------------------------
6-
# Configuration options related to the HTML output
7-
#---------------------------------------------------------------------------
85
PROJECT_LOGO = images/logo_ql-comp.png
96

107
HTML_OUTPUT = tmp

doxygen/Doxyfile-LATEX

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Doxyfile 1.9.5
2+
3+
@INCLUDE = Doxyfile
4+
5+
GENERATE_HTML = NO
6+
GENERATE_LATEX = YES
7+
ENABLED_SECTIONS += LATEX
8+
9+
# no source code in latex
10+
SOURCE_BROWSER = NO
11+
VERBATIM_HEADERS = NO

doxygen/history.dox

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
/**
22
@page history Revision History
33

4+
@section qtools_7_1_3 Version 7.1.3, 2022-11-18
5+
@ref qclean "QCLEAN host application":
6+
- Added new file types and changing some cleaning rules for white-space cleaning.
7+
8+
__Documentation__
9+
- Modified the `doxygen/` folder for generation of QM Manual in LaTeX (enables generation of PDF)
10+
11+
412
@section qtools_7_1_2 Version 7.1.2, 2022-09-28
513
__QSPY host application:__
614
- Added pre-defined "Scheduler" records:

doxygen/make.bat

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@
2828
@echo usage:
2929
@echo make
3030
@echo make -CHM
31-
@echo make ...
31+
@echo make -LATEX
3232

33-
:: Doxygen tool (adjust to your system) ......................................
33+
:: tools (adjust to your system)---------------------------------------------
34+
:: Doxygen tool
3435
@set DOXYGEN=doxygen
3536

36-
:: HTML Help tool (needed only with the -CHM option, (adjust to your system) .
37+
:: HTML Help tool (needed only with the -CHM option) .
3738
@set HHC="C:\tools\HTML Help Workshop\hhc.exe"
3839

3940
:: QTOOLS directory ..........................................................
@@ -42,8 +43,9 @@
4243
:: HTML outut directory ......................................................
4344
@set HTML_OUT=%QTOOLS%\html
4445

45-
:: Generate Doxygen Documentation...
46+
:: Generate Doxygen Documentation -------------------------------------------
4647
if "%1"=="-CHM" (
48+
4749
@echo Generating HTML...
4850
%DOXYGEN% Doxyfile-CHM
4951

@@ -59,15 +61,31 @@ if "%1"=="-CHM" (
5961
@rmdir /S /Q tmp
6062
@echo CHM file generated
6163

64+
) else if "%1"=="-LATEX" (
65+
66+
@echo.
67+
@echo Cleanup...
68+
rmdir /S /Q %LATEX_OUT%
69+
70+
@echo Generating LATEX...
71+
%DOXYGEN% Doxyfile-LATEX
72+
73+
@echo Adding custom files...
74+
xcopy img %LATEX_OUT%\img\
75+
76+
@cd %LATEX_OUT%
77+
@call make.bat
78+
6279
) else (
80+
6381
@echo.
6482
@echo Cleanup...
6583
rmdir /S /Q %HTML_OUT%
6684

6785
@echo Generating HTML...
6886
%DOXYGEN% Doxyfile%1
6987

70-
@echo Adding custom images...
88+
@echo Adding custom files...
7189
xcopy img %HTML_OUT%\img\
7290
xcopy /Y ..\..\ql-doxygen\jquery.js %HTML_OUT%
7391
@qclean %HTML_OUT%

doxygen/qclean.dox

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -72,30 +72,45 @@ QClean can optionally check the code for **long lines of code** that exceed a sp
7272
QClean applies the following rules for cleaning the whitespace depending on the file types:
7373

7474
<center>
75-
FILE TYPE | END-OF-LINE | TRAILING WS | TABS | LONG-LINES
76-
:--------------|:------------|:-----------:|:--------:|:------------:
77-
`.c` | Unix (LF) | remove | replace | check
78-
`.h` | Unix (LF) | remove | replace | check
79-
`.cpp` | Unix (LF) | remove | replace | check
80-
`.hpp` | Unix (LF) | remove | replace | check
81-
`.s` | Unix (LF) | remove | replace | check
82-
`.asm` | Unix (LF) | remove | replace | check
83-
`.lnt` | Unix (LF) | remove | replace | check
84-
`.txt` | Unix (LF) | remove | replace | don't check
85-
`.md` | Unix (LF) | remove | replace | don't check
86-
`.bat` | DOS (CR,LF) | remove | replace | don't check
87-
`.ld` | Unix (LF) | remove | replace | check
88-
`.py` | Unix (LF) | remove | replace | check
89-
`.pyw` | Unix (LF) | remove | replace | check
90-
`.tcl` | Unix (LF) | remove | replace | check
91-
`.java` | Unix (LF) | remove | replace | check
92-
`Makefile` | Unix (LF) | remove | leave | check
93-
`.mak` | Unix (LF) | remove | leave | check
94-
`.html` | Unix (LF) | remove | replace | don't check
95-
`.htm` | Unix (LF) | remove | replace | don't check
96-
`.php` | Unix (LF) | remove | replace | don't check
97-
`.dox` | Unix (LF) | remove | replace | don't check
98-
`.m` | Unix (LF) | remove | replace | check
75+
FILE TYPE | END-OF-LINE | TRAILING WS | TABS | LONG-LINES
76+
:---------------|:------------|:-----------:|:--------:|:------------:
77+
`.c` | Unix (LF) | remove | replace | check
78+
`.h` | Unix (LF) | remove | replace | check
79+
`.cpp` | Unix (LF) | remove | replace | check
80+
`.hpp` | Unix (LF) | remove | replace | check
81+
`.s/.S` | Unix (LF) | remove | replace | check
82+
`.asm` | Unix (LF) | remove | replace | check
83+
`.txt` | Unix (LF) | remove | replace | don't check
84+
`.xml` | Unix (LF) | remove | replace | don't check
85+
`.dox` | Unix (LF) | remove | replace | don't check
86+
`.md` | Unix (LF) | remove | replace | don't check
87+
`.bat` | Unix (LF) | remove | replace | don't check
88+
`.ld` | Unix (LF) | remove | replace | check
89+
`.py` | Unix (LF) | remove | replace | check
90+
`.pyw` | Unix (LF) | remove | replace | check
91+
`.java` | Unix (LF) | remove | replace | check
92+
`Makefile` | Unix (LF) | remove | leave | check
93+
`mak_*` | Unix (LF) | remove | leave | check
94+
`.mak` | Unix (LF) | remove | leave | check
95+
`.make` | Unix (LF) | remove | leave | check
96+
`.html` | Unix (LF) | remove | replace | don't check
97+
`.htm` | Unix (LF) | remove | replace | don't check
98+
`.css` | Unix (LF) | remove | replace | don't check
99+
`.eww` | Unix (LF) | remove | replace | don't check
100+
`.ewp` | Unix (LF) | remove | replace | don't check
101+
`.ewd` | Unix (LF) | remove | replace | don't check
102+
`.icf` | Unix (LF) | remove | replace | don't check
103+
`.sln` | Unix (LF) | remove | replace | don't check
104+
`.vcxproj` | Unix (LF) | remove | replace | don't check
105+
`.filters` | Unix (LF) | remove | replace | don't check
106+
`.vcxproj.filters` | Unix (LF) | remove | replace | don't check
107+
`.project` | Unix (LF) | remove | replace | don't check
108+
`.cproject` | Unix (LF) | remove | replace | don't check
109+
`.pro` | Unix (LF) | remove | replace | don't check
110+
`.m` | Unix (LF) | remove | replace | check
111+
`.lnt` | Unix (LF) | remove | replace | check
112+
`.cfg` | Unix (LF) | remove | replace | don't check
113+
`.properties` | Unix (LF) | remove | replace | don't check
99114
</center>
100115

101116
<br>

doxygen/qpspy.dox

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ So the questions are: How can you monitor the behavior of a running real-time sy
99
Techniques based on **software tracing** can answer many of these questions. Software tracing is a method for obtaining diagnostic information in a live environment without the need to stop the application to get system feedback. Software tracing always involves some form of target system instrumentation to log interesting discrete events for subsequent retrieval from the system and analysis.
1010

1111
@anchor qpspy_framework
12-
@note
12+
@remarks
1313
Software tracing is particularly effective and powerful in combination with the event-driven **reactive programming** model, such as the one implemented in <a class="extern" target="_blank" href="https://www.state-machine.com/products/#QP">QP&trade; real-time frameworks</a>. Due to the inversion of control, a real-time framework controls almost all interesting interactions in the system, so an instrumented real-time framework can provide much **more comprehensive** and detailed information than can any traditional RTOS kernel.<br>
1414
![Comprehensive tracing information available in a Real-Time Embedded Framework](qspy-funnel.png)
1515

@@ -122,19 +122,20 @@ Of course, now the Escape byte itself must also be transparent to avoid interpre
122122

123123
The transparency of the Flag and Escape bytes complicates slightly the computation of the Checksum. The transmitter computes the Checksum over the Frame Sequence Number, the Record-Type, and all Data bytes before performing any “byte-stuffing”. The receiver must apply the exact reversed procedure of performing the “byte-un-stuffing” before computing the Checksum.
124124

125-
An example may make this clearer. Suppose that the following trace record needs to be inserted into the trace buffer (the transparent bytes are shown in bold):
125+
An example may make this clearer. Suppose that the following trace record needs to be inserted into the trace buffer (the transparent bytes are shown in in `code` format):
126126

127-
> Record-Type = <b>0x7D</b>, Record Data = <b>0x7D</b> 0x08 0x01
127+
&nbsp;&nbsp;&nbsp;&nbsp; Record-Type = `0x7D`, Record Data = `0x7D` 0x08 0x01
128128

129129
Assuming that the current Frame Sequence Number is, say `0x7E`, the Checksum will be computed over the following bytes:
130130

131-
> Checksum == (uint8_t)(~(0x7E + <b>0x7D</b> + <b>0x7D</b> + 0x08 + 0x01)) == 0x7E
131+
&nbsp;&nbsp;&nbsp;&nbsp; Checksum == (uint8_t)(~(0x7E + `0x7D` + `0x7D` + 0x08 + 0x01)) == 0x7E
132132

133133
and the actual frame inserted into the QS trace buffer will be as follows:
134134

135-
> 0x7D <b>0x5E</b> 0x7D <b>0x5D</b> 0x7D <b>0x5D</b> 0x08 0x01 0x7D <b>0x5E</b> 0x7E
135+
&nbsp;&nbsp;&nbsp;&nbsp; 0x7D `0x5E` 0x7D `0x5D` 0x7D `0x5D` 0x08 0x01 0x7D `0x5E` 0x7E
136136

137-
Obviously, this is a degenerate example, where the Frame Sequence Number, the Record-Type, a Data byte, and the Checksum itself turned out to be the transparent bytes. Typical overhead of transparency with real trace data is one escape sequence per several trace records.
137+
@note
138+
This is a degenerate example, where the Frame Sequence Number, the Record-Type, a Data byte, and the Checksum itself turned out to be the transparent bytes. A more typical overhead of transparency with real trace data is one escape sequence per several trace records.
138139

139140

140141
@section qpspy_endianness Endianness

0 commit comments

Comments
 (0)