Browse code

Add a XiPC IO Board firmware

Pawel Jablonski authored on 11/06/2024 08:55:31
Showing 62 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,38 @@
1
+UV4 ?= UV4.exe
2
+
3
+FW_HEX = src/Objects/io.hex
4
+FW_PRO = io.uvprojx
5
+FW_LOG = build.log
6
+
7
+.PHONY: all
8
+all: src doc
9
+
10
+.PHONY: src
11
+src: $(FW_HEX)
12
+
13
+$(FW_HEX): src/*.c src/*.h
14
+ifeq ($(OS),Windows_NT)
15
+ifndef WINE
16
+	cd src; \
17
+	$(UV4) -j0 -b $(FW_PRO) -o $(FW_LOG)
18
+endif
19
+endif
20
+
21
+.PHONY: doc
22
+doc:
23
+	$(MAKE) -C doc
24
+
25
+.PHONY: clean
26
+clean: clean_src clean_doc
27
+	
28
+.PHONY: clean_src
29
+clean_src:
30
+	cd src; \
31
+	rm -rf DebugConfig; \
32
+	rm -rf Listings; \
33
+	rm -rf Objects; \
34
+	rm -rf $(FW_LOG)
35
+
36
+.PHONY: clean_doc
37
+clean_doc:
38
+	$(MAKE) -C doc clean
0 39
new file mode 100644
... ...
@@ -0,0 +1,2717 @@
1
+# Doxyfile 1.9.7
2
+
3
+# This file describes the settings to be used by the documentation system
4
+# doxygen (www.doxygen.org) for a project.
5
+#
6
+# All text after a double hash (##) is considered a comment and is placed in
7
+# front of the TAG it is preceding.
8
+#
9
+# All text after a single hash (#) is considered a comment and will be ignored.
10
+# The format is:
11
+# TAG = value [value, ...]
12
+# For lists, items can also be appended using:
13
+# TAG += value [value, ...]
14
+# Values that contain spaces should be placed between quotes (\" \").
15
+#
16
+# Note:
17
+#
18
+# Use doxygen to compare the used configuration file with the template
19
+# configuration file:
20
+# doxygen -x [configFile]
21
+# Use doxygen to compare the used configuration file with the template
22
+# configuration file without replacing the environment variables or CMake type
23
+# replacement variables:
24
+# doxygen -x_noenv [configFile]
25
+
26
+#---------------------------------------------------------------------------
27
+# Project related configuration options
28
+#---------------------------------------------------------------------------
29
+
30
+# This tag specifies the encoding used for all characters in the configuration
31
+# file that follow. The default is UTF-8 which is also the encoding used for all
32
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
33
+# iconv built into libc) for the transcoding. See
34
+# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
35
+# The default value is: UTF-8.
36
+
37
+DOXYFILE_ENCODING      = UTF-8
38
+
39
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
40
+# double-quotes, unless you are using Doxywizard) that should identify the
41
+# project for which the documentation is generated. This name is used in the
42
+# title of most generated pages and in a few other places.
43
+# The default value is: My Project.
44
+
45
+PROJECT_NAME           = "XiPU IO Board"
46
+
47
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
48
+# could be handy for archiving the generated documentation or if some version
49
+# control system is used.
50
+
51
+PROJECT_NUMBER         =
52
+
53
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
54
+# for a project that appears at the top of each page and should give viewer a
55
+# quick idea about the purpose of the project. Keep the description short.
56
+
57
+PROJECT_BRIEF          =
58
+
59
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
60
+# in the documentation. The maximum height of the logo should not exceed 55
61
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
62
+# the logo to the output directory.
63
+
64
+PROJECT_LOGO           =
65
+
66
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
67
+# into which the generated documentation will be written. If a relative path is
68
+# entered, it will be relative to the location where doxygen was started. If
69
+# left blank the current directory will be used.
70
+
71
+OUTPUT_DIRECTORY       =
72
+
73
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
74
+# sub-directories (in 2 levels) under the output directory of each output format
75
+# and will distribute the generated files over these directories. Enabling this
76
+# option can be useful when feeding doxygen a huge amount of source files, where
77
+# putting all generated files in the same directory would otherwise causes
78
+# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
79
+# control the number of sub-directories.
80
+# The default value is: NO.
81
+
82
+CREATE_SUBDIRS         = NO
83
+
84
+# Controls the number of sub-directories that will be created when
85
+# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
86
+# level increment doubles the number of directories, resulting in 4096
87
+# directories at level 8 which is the default and also the maximum value. The
88
+# sub-directories are organized in 2 levels, the first level always has a fixed
89
+# number of 16 directories.
90
+# Minimum value: 0, maximum value: 8, default value: 8.
91
+# This tag requires that the tag CREATE_SUBDIRS is set to YES.
92
+
93
+CREATE_SUBDIRS_LEVEL   = 8
94
+
95
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
96
+# characters to appear in the names of generated files. If set to NO, non-ASCII
97
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
98
+# U+3044.
99
+# The default value is: NO.
100
+
101
+ALLOW_UNICODE_NAMES    = NO
102
+
103
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
104
+# documentation generated by doxygen is written. Doxygen will use this
105
+# information to generate all constant output in the proper language.
106
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian,
107
+# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English
108
+# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek,
109
+# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with
110
+# English messages), Korean, Korean-en (Korean with English messages), Latvian,
111
+# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese,
112
+# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish,
113
+# Swedish, Turkish, Ukrainian and Vietnamese.
114
+# The default value is: English.
115
+
116
+OUTPUT_LANGUAGE        = English
117
+
118
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
119
+# descriptions after the members that are listed in the file and class
120
+# documentation (similar to Javadoc). Set to NO to disable this.
121
+# The default value is: YES.
122
+
123
+BRIEF_MEMBER_DESC      = YES
124
+
125
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
126
+# description of a member or function before the detailed description
127
+#
128
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
129
+# brief descriptions will be completely suppressed.
130
+# The default value is: YES.
131
+
132
+REPEAT_BRIEF           = YES
133
+
134
+# This tag implements a quasi-intelligent brief description abbreviator that is
135
+# used to form the text in various listings. Each string in this list, if found
136
+# as the leading text of the brief description, will be stripped from the text
137
+# and the result, after processing the whole list, is used as the annotated
138
+# text. Otherwise, the brief description is used as-is. If left blank, the
139
+# following values are used ($name is automatically replaced with the name of
140
+# the entity):The $name class, The $name widget, The $name file, is, provides,
141
+# specifies, contains, represents, a, an and the.
142
+
143
+ABBREVIATE_BRIEF       =
144
+
145
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
146
+# doxygen will generate a detailed section even if there is only a brief
147
+# description.
148
+# The default value is: NO.
149
+
150
+ALWAYS_DETAILED_SEC    = NO
151
+
152
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
153
+# inherited members of a class in the documentation of that class as if those
154
+# members were ordinary class members. Constructors, destructors and assignment
155
+# operators of the base classes will not be shown.
156
+# The default value is: NO.
157
+
158
+INLINE_INHERITED_MEMB  = NO
159
+
160
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
161
+# before files name in the file list and in the header files. If set to NO the
162
+# shortest path that makes the file name unique will be used
163
+# The default value is: YES.
164
+
165
+FULL_PATH_NAMES        = NO
166
+
167
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
168
+# Stripping is only done if one of the specified strings matches the left-hand
169
+# part of the path. The tag can be used to show relative paths in the file list.
170
+# If left blank the directory from which doxygen is run is used as the path to
171
+# strip.
172
+#
173
+# Note that you can specify absolute paths here, but also relative paths, which
174
+# will be relative from the directory where doxygen is started.
175
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
176
+
177
+STRIP_FROM_PATH        =
178
+
179
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
180
+# path mentioned in the documentation of a class, which tells the reader which
181
+# header file to include in order to use a class. If left blank only the name of
182
+# the header file containing the class definition is used. Otherwise one should
183
+# specify the list of include paths that are normally passed to the compiler
184
+# using the -I flag.
185
+
186
+STRIP_FROM_INC_PATH    =
187
+
188
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
189
+# less readable) file names. This can be useful is your file systems doesn't
190
+# support long names like on DOS, Mac, or CD-ROM.
191
+# The default value is: NO.
192
+
193
+SHORT_NAMES            = NO
194
+
195
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
196
+# first line (until the first dot) of a Javadoc-style comment as the brief
197
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
198
+# style comments (thus requiring an explicit @brief command for a brief
199
+# description.)
200
+# The default value is: NO.
201
+
202
+JAVADOC_AUTOBRIEF      = NO
203
+
204
+# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
205
+# such as
206
+# /***************
207
+# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
208
+# Javadoc-style will behave just like regular comments and it will not be
209
+# interpreted by doxygen.
210
+# The default value is: NO.
211
+
212
+JAVADOC_BANNER         = NO
213
+
214
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
215
+# line (until the first dot) of a Qt-style comment as the brief description. If
216
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
217
+# requiring an explicit \brief command for a brief description.)
218
+# The default value is: NO.
219
+
220
+QT_AUTOBRIEF           = NO
221
+
222
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
223
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
224
+# a brief description. This used to be the default behavior. The new default is
225
+# to treat a multi-line C++ comment block as a detailed description. Set this
226
+# tag to YES if you prefer the old behavior instead.
227
+#
228
+# Note that setting this tag to YES also means that rational rose comments are
229
+# not recognized any more.
230
+# The default value is: NO.
231
+
232
+MULTILINE_CPP_IS_BRIEF = NO
233
+
234
+# By default Python docstrings are displayed as preformatted text and doxygen's
235
+# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
236
+# doxygen's special commands can be used and the contents of the docstring
237
+# documentation blocks is shown as doxygen documentation.
238
+# The default value is: YES.
239
+
240
+PYTHON_DOCSTRING       = YES
241
+
242
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
243
+# documentation from any documented member that it re-implements.
244
+# The default value is: YES.
245
+
246
+INHERIT_DOCS           = YES
247
+
248
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
249
+# page for each member. If set to NO, the documentation of a member will be part
250
+# of the file/class/namespace that contains it.
251
+# The default value is: NO.
252
+
253
+SEPARATE_MEMBER_PAGES  = NO
254
+
255
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
256
+# uses this value to replace tabs by spaces in code fragments.
257
+# Minimum value: 1, maximum value: 16, default value: 4.
258
+
259
+TAB_SIZE               = 4
260
+
261
+# This tag can be used to specify a number of aliases that act as commands in
262
+# the documentation. An alias has the form:
263
+# name=value
264
+# For example adding
265
+# "sideeffect=@par Side Effects:^^"
266
+# will allow you to put the command \sideeffect (or @sideeffect) in the
267
+# documentation, which will result in a user-defined paragraph with heading
268
+# "Side Effects:". Note that you cannot put \n's in the value part of an alias
269
+# to insert newlines (in the resulting output). You can put ^^ in the value part
270
+# of an alias to insert a newline as if a physical newline was in the original
271
+# file. When you need a literal { or } or , in the value part of an alias you
272
+# have to escape them by means of a backslash (\), this can lead to conflicts
273
+# with the commands \{ and \} for these it is advised to use the version @{ and
274
+# @} or use a double escape (\\{ and \\})
275
+
276
+ALIASES                =
277
+
278
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
279
+# only. Doxygen will then generate output that is more tailored for C. For
280
+# instance, some of the names that are used will be different. The list of all
281
+# members will be omitted, etc.
282
+# The default value is: NO.
283
+
284
+OPTIMIZE_OUTPUT_FOR_C  = YES
285
+
286
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
287
+# Python sources only. Doxygen will then generate output that is more tailored
288
+# for that language. For instance, namespaces will be presented as packages,
289
+# qualified scopes will look different, etc.
290
+# The default value is: NO.
291
+
292
+OPTIMIZE_OUTPUT_JAVA   = NO
293
+
294
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
295
+# sources. Doxygen will then generate output that is tailored for Fortran.
296
+# The default value is: NO.
297
+
298
+OPTIMIZE_FOR_FORTRAN   = NO
299
+
300
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
301
+# sources. Doxygen will then generate output that is tailored for VHDL.
302
+# The default value is: NO.
303
+
304
+OPTIMIZE_OUTPUT_VHDL   = NO
305
+
306
+# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
307
+# sources only. Doxygen will then generate output that is more tailored for that
308
+# language. For instance, namespaces will be presented as modules, types will be
309
+# separated into more groups, etc.
310
+# The default value is: NO.
311
+
312
+OPTIMIZE_OUTPUT_SLICE  = NO
313
+
314
+# Doxygen selects the parser to use depending on the extension of the files it
315
+# parses. With this tag you can assign which parser to use for a given
316
+# extension. Doxygen has a built-in mapping, but you can override or extend it
317
+# using this tag. The format is ext=language, where ext is a file extension, and
318
+# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
319
+# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice,
320
+# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
321
+# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
322
+# tries to guess whether the code is fixed or free formatted code, this is the
323
+# default for Fortran type files). For instance to make doxygen treat .inc files
324
+# as Fortran files (default is PHP), and .f files as C (default is Fortran),
325
+# use: inc=Fortran f=C.
326
+#
327
+# Note: For files without extension you can use no_extension as a placeholder.
328
+#
329
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
330
+# the files are not read by doxygen. When specifying no_extension you should add
331
+# * to the FILE_PATTERNS.
332
+#
333
+# Note see also the list of default file extension mappings.
334
+
335
+EXTENSION_MAPPING      =
336
+
337
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
338
+# according to the Markdown format, which allows for more readable
339
+# documentation. See https://daringfireball.net/projects/markdown/ for details.
340
+# The output of markdown processing is further processed by doxygen, so you can
341
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
342
+# case of backward compatibilities issues.
343
+# The default value is: YES.
344
+
345
+MARKDOWN_SUPPORT       = NO
346
+
347
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
348
+# to that level are automatically included in the table of contents, even if
349
+# they do not have an id attribute.
350
+# Note: This feature currently applies only to Markdown headings.
351
+# Minimum value: 0, maximum value: 99, default value: 5.
352
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
353
+
354
+TOC_INCLUDE_HEADINGS   = 5
355
+
356
+# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to
357
+# generate identifiers for the Markdown headings. Note: Every identifier is
358
+# unique.
359
+# Possible values are: DOXYGEN Use a fixed 'autotoc_md' string followed by a
360
+# sequence number starting at 0. and GITHUB Use the lower case version of title
361
+# with any whitespace replaced by '-' and punctations characters removed..
362
+# The default value is: DOXYGEN.
363
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
364
+
365
+MARKDOWN_ID_STYLE      = DOXYGEN
366
+
367
+# When enabled doxygen tries to link words that correspond to documented
368
+# classes, or namespaces to their corresponding documentation. Such a link can
369
+# be prevented in individual cases by putting a % sign in front of the word or
370
+# globally by setting AUTOLINK_SUPPORT to NO.
371
+# The default value is: YES.
372
+
373
+AUTOLINK_SUPPORT       = YES
374
+
375
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
376
+# to include (a tag file for) the STL sources as input, then you should set this
377
+# tag to YES in order to let doxygen match functions declarations and
378
+# definitions whose arguments contain STL classes (e.g. func(std::string);
379
+# versus func(std::string) {}). This also make the inheritance and collaboration
380
+# diagrams that involve STL classes more complete and accurate.
381
+# The default value is: NO.
382
+
383
+BUILTIN_STL_SUPPORT    = YES
384
+
385
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
386
+# enable parsing support.
387
+# The default value is: NO.
388
+
389
+CPP_CLI_SUPPORT        = NO
390
+
391
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
392
+# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
393
+# will parse them like normal C++ but will assume all classes use public instead
394
+# of private inheritance when no explicit protection keyword is present.
395
+# The default value is: NO.
396
+
397
+SIP_SUPPORT            = NO
398
+
399
+# For Microsoft's IDL there are propget and propput attributes to indicate
400
+# getter and setter methods for a property. Setting this option to YES will make
401
+# doxygen to replace the get and set methods by a property in the documentation.
402
+# This will only work if the methods are indeed getting or setting a simple
403
+# type. If this is not the case, or you want to show the methods anyway, you
404
+# should set this option to NO.
405
+# The default value is: YES.
406
+
407
+IDL_PROPERTY_SUPPORT   = YES
408
+
409
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
410
+# tag is set to YES then doxygen will reuse the documentation of the first
411
+# member in the group (if any) for the other members of the group. By default
412
+# all members of a group must be documented explicitly.
413
+# The default value is: NO.
414
+
415
+DISTRIBUTE_GROUP_DOC   = NO
416
+
417
+# If one adds a struct or class to a group and this option is enabled, then also
418
+# any nested class or struct is added to the same group. By default this option
419
+# is disabled and one has to add nested compounds explicitly via \ingroup.
420
+# The default value is: NO.
421
+
422
+GROUP_NESTED_COMPOUNDS = NO
423
+
424
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
425
+# (for instance a group of public functions) to be put as a subgroup of that
426
+# type (e.g. under the Public Functions section). Set it to NO to prevent
427
+# subgrouping. Alternatively, this can be done per class using the
428
+# \nosubgrouping command.
429
+# The default value is: YES.
430
+
431
+SUBGROUPING            = YES
432
+
433
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
434
+# are shown inside the group in which they are included (e.g. using \ingroup)
435
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
436
+# and RTF).
437
+#
438
+# Note that this feature does not work in combination with
439
+# SEPARATE_MEMBER_PAGES.
440
+# The default value is: NO.
441
+
442
+INLINE_GROUPED_CLASSES = NO
443
+
444
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
445
+# with only public data fields or simple typedef fields will be shown inline in
446
+# the documentation of the scope in which they are defined (i.e. file,
447
+# namespace, or group documentation), provided this scope is documented. If set
448
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
449
+# Man pages) or section (for LaTeX and RTF).
450
+# The default value is: NO.
451
+
452
+INLINE_SIMPLE_STRUCTS  = NO
453
+
454
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
455
+# enum is documented as struct, union, or enum with the name of the typedef. So
456
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
457
+# with name TypeT. When disabled the typedef will appear as a member of a file,
458
+# namespace, or class. And the struct will be named TypeS. This can typically be
459
+# useful for C code in case the coding convention dictates that all compound
460
+# types are typedef'ed and only the typedef is referenced, never the tag name.
461
+# The default value is: NO.
462
+
463
+TYPEDEF_HIDES_STRUCT   = NO
464
+
465
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
466
+# cache is used to resolve symbols given their name and scope. Since this can be
467
+# an expensive process and often the same symbol appears multiple times in the
468
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
469
+# doxygen will become slower. If the cache is too large, memory is wasted. The
470
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
471
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
472
+# symbols. At the end of a run doxygen will report the cache usage and suggest
473
+# the optimal cache size from a speed point of view.
474
+# Minimum value: 0, maximum value: 9, default value: 0.
475
+
476
+LOOKUP_CACHE_SIZE      = 0
477
+
478
+# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use
479
+# during processing. When set to 0 doxygen will based this on the number of
480
+# cores available in the system. You can set it explicitly to a value larger
481
+# than 0 to get more control over the balance between CPU load and processing
482
+# speed. At this moment only the input processing can be done using multiple
483
+# threads. Since this is still an experimental feature the default is set to 1,
484
+# which effectively disables parallel processing. Please report any issues you
485
+# encounter. Generating dot graphs in parallel is controlled by the
486
+# DOT_NUM_THREADS setting.
487
+# Minimum value: 0, maximum value: 32, default value: 1.
488
+
489
+NUM_PROC_THREADS       = 1
490
+
491
+# If the TIMESTAMP tag is set different from NO then each generated page will
492
+# contain the date or date and time when the page was generated. Setting this to
493
+# NO can help when comparing the output of multiple runs.
494
+# Possible values are: YES, NO, DATETIME and DATE.
495
+# The default value is: NO.
496
+
497
+TIMESTAMP              = YES
498
+
499
+#---------------------------------------------------------------------------
500
+# Build related configuration options
501
+#---------------------------------------------------------------------------
502
+
503
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
504
+# documentation are documented, even if no documentation was available. Private
505
+# class members and static file members will be hidden unless the
506
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
507
+# Note: This will also disable the warnings about undocumented members that are
508
+# normally produced when WARNINGS is set to YES.
509
+# The default value is: NO.
510
+
511
+EXTRACT_ALL            = YES
512
+
513
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
514
+# be included in the documentation.
515
+# The default value is: NO.
516
+
517
+EXTRACT_PRIVATE        = YES
518
+
519
+# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
520
+# methods of a class will be included in the documentation.
521
+# The default value is: NO.
522
+
523
+EXTRACT_PRIV_VIRTUAL   = NO
524
+
525
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
526
+# scope will be included in the documentation.
527
+# The default value is: NO.
528
+
529
+EXTRACT_PACKAGE        = NO
530
+
531
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
532
+# included in the documentation.
533
+# The default value is: NO.
534
+
535
+EXTRACT_STATIC         = YES
536
+
537
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
538
+# locally in source files will be included in the documentation. If set to NO,
539
+# only classes defined in header files are included. Does not have any effect
540
+# for Java sources.
541
+# The default value is: YES.
542
+
543
+EXTRACT_LOCAL_CLASSES  = YES
544
+
545
+# This flag is only useful for Objective-C code. If set to YES, local methods,
546
+# which are defined in the implementation section but not in the interface are
547
+# included in the documentation. If set to NO, only methods in the interface are
548
+# included.
549
+# The default value is: NO.
550
+
551
+EXTRACT_LOCAL_METHODS  = NO
552
+
553
+# If this flag is set to YES, the members of anonymous namespaces will be
554
+# extracted and appear in the documentation as a namespace called
555
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
556
+# the file that contains the anonymous namespace. By default anonymous namespace
557
+# are hidden.
558
+# The default value is: NO.
559
+
560
+EXTRACT_ANON_NSPACES   = YES
561
+
562
+# If this flag is set to YES, the name of an unnamed parameter in a declaration
563
+# will be determined by the corresponding definition. By default unnamed
564
+# parameters remain unnamed in the output.
565
+# The default value is: YES.
566
+
567
+RESOLVE_UNNAMED_PARAMS = YES
568
+
569
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
570
+# undocumented members inside documented classes or files. If set to NO these
571
+# members will be included in the various overviews, but no documentation
572
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
573
+# The default value is: NO.
574
+
575
+HIDE_UNDOC_MEMBERS     = NO
576
+
577
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
578
+# undocumented classes that are normally visible in the class hierarchy. If set
579
+# to NO, these classes will be included in the various overviews. This option
580
+# will also hide undocumented C++ concepts if enabled. This option has no effect
581
+# if EXTRACT_ALL is enabled.
582
+# The default value is: NO.
583
+
584
+HIDE_UNDOC_CLASSES     = NO
585
+
586
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
587
+# declarations. If set to NO, these declarations will be included in the
588
+# documentation.
589
+# The default value is: NO.
590
+
591
+HIDE_FRIEND_COMPOUNDS  = NO
592
+
593
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
594
+# documentation blocks found inside the body of a function. If set to NO, these
595
+# blocks will be appended to the function's detailed documentation block.
596
+# The default value is: NO.
597
+
598
+HIDE_IN_BODY_DOCS      = NO
599
+
600
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
601
+# \internal command is included. If the tag is set to NO then the documentation
602
+# will be excluded. Set it to YES to include the internal documentation.
603
+# The default value is: NO.
604
+
605
+INTERNAL_DOCS          = NO
606
+
607
+# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
608
+# able to match the capabilities of the underlying filesystem. In case the
609
+# filesystem is case sensitive (i.e. it supports files in the same directory
610
+# whose names only differ in casing), the option must be set to YES to properly
611
+# deal with such files in case they appear in the input. For filesystems that
612
+# are not case sensitive the option should be set to NO to properly deal with
613
+# output files written for symbols that only differ in casing, such as for two
614
+# classes, one named CLASS and the other named Class, and to also support
615
+# references to files without having to specify the exact matching casing. On
616
+# Windows (including Cygwin) and MacOS, users should typically set this option
617
+# to NO, whereas on Linux or other Unix flavors it should typically be set to
618
+# YES.
619
+# Possible values are: SYSTEM, NO and YES.
620
+# The default value is: SYSTEM.
621
+
622
+CASE_SENSE_NAMES       = NO
623
+
624
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
625
+# their full class and namespace scopes in the documentation. If set to YES, the
626
+# scope will be hidden.
627
+# The default value is: NO.
628
+
629
+HIDE_SCOPE_NAMES       = NO
630
+
631
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
632
+# append additional text to a page's title, such as Class Reference. If set to
633
+# YES the compound reference will be hidden.
634
+# The default value is: NO.
635
+
636
+HIDE_COMPOUND_REFERENCE= NO
637
+
638
+# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class
639
+# will show which file needs to be included to use the class.
640
+# The default value is: YES.
641
+
642
+SHOW_HEADERFILE        = YES
643
+
644
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
645
+# the files that are included by a file in the documentation of that file.
646
+# The default value is: YES.
647
+
648
+SHOW_INCLUDE_FILES     = YES
649
+
650
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
651
+# grouped member an include statement to the documentation, telling the reader
652
+# which file to include in order to use the member.
653
+# The default value is: NO.
654
+
655
+SHOW_GROUPED_MEMB_INC  = YES
656
+
657
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
658
+# files with double quotes in the documentation rather than with sharp brackets.
659
+# The default value is: NO.
660
+
661
+FORCE_LOCAL_INCLUDES   = NO
662
+
663
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
664
+# documentation for inline members.
665
+# The default value is: YES.
666
+
667
+INLINE_INFO            = YES
668
+
669
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
670
+# (detailed) documentation of file and class members alphabetically by member
671
+# name. If set to NO, the members will appear in declaration order.
672
+# The default value is: YES.
673
+
674
+SORT_MEMBER_DOCS       = YES
675
+
676
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
677
+# descriptions of file, namespace and class members alphabetically by member
678
+# name. If set to NO, the members will appear in declaration order. Note that
679
+# this will also influence the order of the classes in the class list.
680
+# The default value is: NO.
681
+
682
+SORT_BRIEF_DOCS        = NO
683
+
684
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
685
+# (brief and detailed) documentation of class members so that constructors and
686
+# destructors are listed first. If set to NO the constructors will appear in the
687
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
688
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
689
+# member documentation.
690
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
691
+# detailed member documentation.
692
+# The default value is: NO.
693
+
694
+SORT_MEMBERS_CTORS_1ST = NO
695
+
696
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
697
+# of group names into alphabetical order. If set to NO the group names will
698
+# appear in their defined order.
699
+# The default value is: NO.
700
+
701
+SORT_GROUP_NAMES       = NO
702
+
703
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
704
+# fully-qualified names, including namespaces. If set to NO, the class list will
705
+# be sorted only by class name, not including the namespace part.
706
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
707
+# Note: This option applies only to the class list, not to the alphabetical
708
+# list.
709
+# The default value is: NO.
710
+
711
+SORT_BY_SCOPE_NAME     = NO
712
+
713
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
714
+# type resolution of all parameters of a function it will reject a match between
715
+# the prototype and the implementation of a member function even if there is
716
+# only one candidate or it is obvious which candidate to choose by doing a
717
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
718
+# accept a match between prototype and implementation in such cases.
719
+# The default value is: NO.
720
+
721
+STRICT_PROTO_MATCHING  = NO
722
+
723
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
724
+# list. This list is created by putting \todo commands in the documentation.
725
+# The default value is: YES.
726
+
727
+GENERATE_TODOLIST      = YES
728
+
729
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
730
+# list. This list is created by putting \test commands in the documentation.
731
+# The default value is: YES.
732
+
733
+GENERATE_TESTLIST      = YES
734
+
735
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
736
+# list. This list is created by putting \bug commands in the documentation.
737
+# The default value is: YES.
738
+
739
+GENERATE_BUGLIST       = YES
740
+
741
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
742
+# the deprecated list. This list is created by putting \deprecated commands in
743
+# the documentation.
744
+# The default value is: YES.
745
+
746
+GENERATE_DEPRECATEDLIST= YES
747
+
748
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
749
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
750
+# ... \endcond blocks.
751
+
752
+ENABLED_SECTIONS       =
753
+
754
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
755
+# initial value of a variable or macro / define can have for it to appear in the
756
+# documentation. If the initializer consists of more lines than specified here
757
+# it will be hidden. Use a value of 0 to hide initializers completely. The
758
+# appearance of the value of individual variables and macros / defines can be
759
+# controlled using \showinitializer or \hideinitializer command in the
760
+# documentation regardless of this setting.
761
+# Minimum value: 0, maximum value: 10000, default value: 30.
762
+
763
+MAX_INITIALIZER_LINES  = 30
764
+
765
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
766
+# the bottom of the documentation of classes and structs. If set to YES, the
767
+# list will mention the files that were used to generate the documentation.
768
+# The default value is: YES.
769
+
770
+SHOW_USED_FILES        = YES
771
+
772
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
773
+# will remove the Files entry from the Quick Index and from the Folder Tree View
774
+# (if specified).
775
+# The default value is: YES.
776
+
777
+SHOW_FILES             = YES
778
+
779
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
780
+# page. This will remove the Namespaces entry from the Quick Index and from the
781
+# Folder Tree View (if specified).
782
+# The default value is: YES.
783
+
784
+SHOW_NAMESPACES        = YES
785
+
786
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
787
+# doxygen should invoke to get the current version for each file (typically from
788
+# the version control system). Doxygen will invoke the program by executing (via
789
+# popen()) the command command input-file, where command is the value of the
790
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
791
+# by doxygen. Whatever the program writes to standard output is used as the file
792
+# version. For an example see the documentation.
793
+
794
+FILE_VERSION_FILTER    =
795
+
796
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
797
+# by doxygen. The layout file controls the global structure of the generated
798
+# output files in an output format independent way. To create the layout file
799
+# that represents doxygen's defaults, run doxygen with the -l option. You can
800
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
801
+# will be used as the name of the layout file. See also section "Changing the
802
+# layout of pages" for information.
803
+#
804
+# Note that if you run doxygen from a directory containing a file called
805
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
806
+# tag is left empty.
807
+
808
+LAYOUT_FILE            =
809
+
810
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
811
+# the reference definitions. This must be a list of .bib files. The .bib
812
+# extension is automatically appended if omitted. This requires the bibtex tool
813
+# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
814
+# For LaTeX the style of the bibliography can be controlled using
815
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
816
+# search path. See also \cite for info how to create references.
817
+
818
+CITE_BIB_FILES         =
819
+
820
+#---------------------------------------------------------------------------
821
+# Configuration options related to warning and progress messages
822
+#---------------------------------------------------------------------------
823
+
824
+# The QUIET tag can be used to turn on/off the messages that are generated to
825
+# standard output by doxygen. If QUIET is set to YES this implies that the
826
+# messages are off.
827
+# The default value is: NO.
828
+
829
+QUIET                  = NO
830
+
831
+# The WARNINGS tag can be used to turn on/off the warning messages that are
832
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
833
+# this implies that the warnings are on.
834
+#
835
+# Tip: Turn warnings on while writing the documentation.
836
+# The default value is: YES.
837
+
838
+WARNINGS               = YES
839
+
840
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
841
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
842
+# will automatically be disabled.
843
+# The default value is: YES.
844
+
845
+WARN_IF_UNDOCUMENTED   = YES
846
+
847
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
848
+# potential errors in the documentation, such as documenting some parameters in
849
+# a documented function twice, or documenting parameters that don't exist or
850
+# using markup commands wrongly.
851
+# The default value is: YES.
852
+
853
+WARN_IF_DOC_ERROR      = YES
854
+
855
+# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete
856
+# function parameter documentation. If set to NO, doxygen will accept that some
857
+# parameters have no documentation without warning.
858
+# The default value is: YES.
859
+
860
+WARN_IF_INCOMPLETE_DOC = YES
861
+
862
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
863
+# are documented, but have no documentation for their parameters or return
864
+# value. If set to NO, doxygen will only warn about wrong parameter
865
+# documentation, but not about the absence of documentation. If EXTRACT_ALL is
866
+# set to YES then this flag will automatically be disabled. See also
867
+# WARN_IF_INCOMPLETE_DOC
868
+# The default value is: NO.
869
+
870
+WARN_NO_PARAMDOC       = YES
871
+
872
+# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about
873
+# undocumented enumeration values. If set to NO, doxygen will accept
874
+# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag
875
+# will automatically be disabled.
876
+# The default value is: NO.
877
+
878
+WARN_IF_UNDOC_ENUM_VAL = NO
879
+
880
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
881
+# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
882
+# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
883
+# at the end of the doxygen process doxygen will return with a non-zero status.
884
+# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves
885
+# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not
886
+# write the warning messages in between other messages but write them at the end
887
+# of a run, in case a WARN_LOGFILE is defined the warning messages will be
888
+# besides being in the defined file also be shown at the end of a run, unless
889
+# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case
890
+# the behavior will remain as with the setting FAIL_ON_WARNINGS.
891
+# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT.
892
+# The default value is: NO.
893
+
894
+WARN_AS_ERROR          = YES
895
+
896
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
897
+# can produce. The string should contain the $file, $line, and $text tags, which
898
+# will be replaced by the file and line number from which the warning originated
899
+# and the warning text. Optionally the format may contain $version, which will
900
+# be replaced by the version of the file (if it could be obtained via
901
+# FILE_VERSION_FILTER)
902
+# See also: WARN_LINE_FORMAT
903
+# The default value is: $file:$line: $text.
904
+
905
+WARN_FORMAT            = "$file:$line: $text"
906
+
907
+# In the $text part of the WARN_FORMAT command it is possible that a reference
908
+# to a more specific place is given. To make it easier to jump to this place
909
+# (outside of doxygen) the user can define a custom "cut" / "paste" string.
910
+# Example:
911
+# WARN_LINE_FORMAT = "'vi $file +$line'"
912
+# See also: WARN_FORMAT
913
+# The default value is: at line $line of file $file.
914
+
915
+WARN_LINE_FORMAT       = "at line $line of file $file"
916
+
917
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
918
+# messages should be written. If left blank the output is written to standard
919
+# error (stderr). In case the file specified cannot be opened for writing the
920
+# warning and error messages are written to standard error. When as file - is
921
+# specified the warning and error messages are written to standard output
922
+# (stdout).
923
+
924
+WARN_LOGFILE           = warnings.log
925
+
926
+#---------------------------------------------------------------------------
927
+# Configuration options related to the input files
928
+#---------------------------------------------------------------------------
929
+
930
+# The INPUT tag is used to specify the files and/or directories that contain
931
+# documented source files. You may enter file names like myfile.cpp or
932
+# directories like /usr/src/myproject. Separate the files or directories with
933
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
934
+# Note: If this tag is empty the current directory is searched.
935
+
936
+INPUT                  = ../src
937
+
938
+# This tag can be used to specify the character encoding of the source files
939
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
940
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
941
+# documentation (see:
942
+# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
943
+# See also: INPUT_FILE_ENCODING
944
+# The default value is: UTF-8.
945
+
946
+INPUT_ENCODING         = UTF-8
947
+
948
+# This tag can be used to specify the character encoding of the source files
949
+# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify
950
+# character encoding on a per file pattern basis. Doxygen will compare the file
951
+# name with each pattern and apply the encoding instead of the default
952
+# INPUT_ENCODING) if there is a match. The character encodings are a list of the
953
+# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding
954
+# "INPUT_ENCODING" for further information on supported encodings.
955
+
956
+INPUT_FILE_ENCODING    =
957
+
958
+# If the value of the INPUT tag contains directories, you can use the
959
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
960
+# *.h) to filter out the source-files in the directories.
961
+#
962
+# Note that for custom extensions or not directly supported extensions you also
963
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
964
+# read by doxygen.
965
+#
966
+# Note the list of default checked file patterns might differ from the list of
967
+# default file extension mappings.
968
+#
969
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
970
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
971
+# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml,
972
+# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C
973
+# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
974
+# *.vhdl, *.ucf, *.qsf and *.ice.
975
+
976
+FILE_PATTERNS          = *.h \
977
+                         *.c
978
+
979
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
980
+# be searched for input files as well.
981
+# The default value is: NO.
982
+
983
+RECURSIVE              = NO
984
+
985
+# The EXCLUDE tag can be used to specify files and/or directories that should be
986
+# excluded from the INPUT source files. This way you can easily exclude a
987
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
988
+#
989
+# Note that relative paths are relative to the directory from which doxygen is
990
+# run.
991
+
992
+EXCLUDE                =
993
+
994
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
995
+# directories that are symbolic links (a Unix file system feature) are excluded
996
+# from the input.
997
+# The default value is: NO.
998
+
999
+EXCLUDE_SYMLINKS       = NO
1000
+
1001
+# If the value of the INPUT tag contains directories, you can use the
1002
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
1003
+# certain files from those directories.
1004
+#
1005
+# Note that the wildcards are matched against the file with absolute path, so to
1006
+# exclude all test directories for example use the pattern */test/*
1007
+
1008
+EXCLUDE_PATTERNS       =
1009
+
1010
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
1011
+# (namespaces, classes, functions, etc.) that should be excluded from the
1012
+# output. The symbol name can be a fully qualified name, a word, or if the
1013
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
1014
+# ANamespace::AClass, ANamespace::*Test
1015
+
1016
+EXCLUDE_SYMBOLS        =
1017
+
1018
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
1019
+# that contain example code fragments that are included (see the \include
1020
+# command).
1021
+
1022
+EXAMPLE_PATH           =
1023
+
1024
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
1025
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
1026
+# *.h) to filter out the source-files in the directories. If left blank all
1027
+# files are included.
1028
+
1029
+EXAMPLE_PATTERNS       =
1030
+
1031
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
1032
+# searched for input files to be used with the \include or \dontinclude commands
1033
+# irrespective of the value of the RECURSIVE tag.
1034
+# The default value is: NO.
1035
+
1036
+EXAMPLE_RECURSIVE      = NO
1037
+
1038
+# The IMAGE_PATH tag can be used to specify one or more files or directories
1039
+# that contain images that are to be included in the documentation (see the
1040
+# \image command).
1041
+
1042
+IMAGE_PATH             =
1043
+
1044
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
1045
+# invoke to filter for each input file. Doxygen will invoke the filter program
1046
+# by executing (via popen()) the command:
1047
+#
1048
+# <filter> <input-file>
1049
+#
1050
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
1051
+# name of an input file. Doxygen will then use the output that the filter
1052
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
1053
+# will be ignored.
1054
+#
1055
+# Note that the filter must not add or remove lines; it is applied before the
1056
+# code is scanned, but not when the output code is generated. If lines are added
1057
+# or removed, the anchors will not be placed correctly.
1058
+#
1059
+# Note that doxygen will use the data processed and written to standard output
1060
+# for further processing, therefore nothing else, like debug statements or used
1061
+# commands (so in case of a Windows batch file always use @echo OFF), should be
1062
+# written to standard output.
1063
+#
1064
+# Note that for custom extensions or not directly supported extensions you also
1065
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
1066
+# properly processed by doxygen.
1067
+
1068
+INPUT_FILTER           =
1069
+
1070
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
1071
+# basis. Doxygen will compare the file name with each pattern and apply the
1072
+# filter if there is a match. The filters are a list of the form: pattern=filter
1073
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
1074
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
1075
+# patterns match the file name, INPUT_FILTER is applied.
1076
+#
1077
+# Note that for custom extensions or not directly supported extensions you also
1078
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
1079
+# properly processed by doxygen.
1080
+
1081
+FILTER_PATTERNS        =
1082
+
1083
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
1084
+# INPUT_FILTER) will also be used to filter the input files that are used for
1085
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
1086
+# The default value is: NO.
1087
+
1088
+FILTER_SOURCE_FILES    = NO
1089
+
1090
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
1091
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
1092
+# it is also possible to disable source filtering for a specific pattern using
1093
+# *.ext= (so without naming a filter).
1094
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
1095
+
1096
+FILTER_SOURCE_PATTERNS =
1097
+
1098
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
1099
+# is part of the input, its contents will be placed on the main page
1100
+# (index.html). This can be useful if you have a project on for instance GitHub
1101
+# and want to reuse the introduction page also for the doxygen output.
1102
+
1103
+USE_MDFILE_AS_MAINPAGE =
1104
+
1105
+# The Fortran standard specifies that for fixed formatted Fortran code all
1106
+# characters from position 72 are to be considered as comment. A common
1107
+# extension is to allow longer lines before the automatic comment starts. The
1108
+# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can
1109
+# be processed before the automatic comment starts.
1110
+# Minimum value: 7, maximum value: 10000, default value: 72.
1111
+
1112
+FORTRAN_COMMENT_AFTER  = 72
1113
+
1114
+#---------------------------------------------------------------------------
1115
+# Configuration options related to source browsing
1116
+#---------------------------------------------------------------------------
1117
+
1118
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
1119
+# generated. Documented entities will be cross-referenced with these sources.
1120
+#
1121
+# Note: To get rid of all source code in the generated output, make sure that
1122
+# also VERBATIM_HEADERS is set to NO.
1123
+# The default value is: NO.
1124
+
1125
+SOURCE_BROWSER         = YES
1126
+
1127
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
1128
+# classes and enums directly into the documentation.
1129
+# The default value is: NO.
1130
+
1131
+INLINE_SOURCES         = YES
1132
+
1133
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
1134
+# special comment blocks from generated source code fragments. Normal C, C++ and
1135
+# Fortran comments will always remain visible.
1136
+# The default value is: YES.
1137
+
1138
+STRIP_CODE_COMMENTS    = NO
1139
+
1140
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
1141
+# entity all documented functions referencing it will be listed.
1142
+# The default value is: NO.
1143
+
1144
+REFERENCED_BY_RELATION = YES
1145
+
1146
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
1147
+# all documented entities called/used by that function will be listed.
1148
+# The default value is: NO.
1149
+
1150
+REFERENCES_RELATION    = YES
1151
+
1152
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
1153
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
1154
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
1155
+# link to the documentation.
1156
+# The default value is: YES.
1157
+
1158
+REFERENCES_LINK_SOURCE = YES
1159
+
1160
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
1161
+# source code will show a tooltip with additional information such as prototype,
1162
+# brief description and links to the definition and documentation. Since this
1163
+# will make the HTML file larger and loading of large files a bit slower, you
1164
+# can opt to disable this feature.
1165
+# The default value is: YES.
1166
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
1167
+
1168
+SOURCE_TOOLTIPS        = YES
1169
+
1170
+# If the USE_HTAGS tag is set to YES then the references to source code will
1171
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
1172
+# source browser. The htags tool is part of GNU's global source tagging system
1173
+# (see https://www.gnu.org/software/global/global.html). You will need version
1174
+# 4.8.6 or higher.
1175
+#
1176
+# To use it do the following:
1177
+# - Install the latest version of global
1178
+# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
1179
+# - Make sure the INPUT points to the root of the source tree
1180
+# - Run doxygen as normal
1181
+#
1182
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
1183
+# tools must be available from the command line (i.e. in the search path).
1184
+#
1185
+# The result: instead of the source browser generated by doxygen, the links to
1186
+# source code will now point to the output of htags.
1187
+# The default value is: NO.
1188
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
1189
+
1190
+USE_HTAGS              = NO
1191
+
1192
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
1193
+# verbatim copy of the header file for each class for which an include is
1194
+# specified. Set to NO to disable this.
1195
+# See also: Section \class.
1196
+# The default value is: YES.
1197
+
1198
+VERBATIM_HEADERS       = YES
1199
+
1200
+#---------------------------------------------------------------------------
1201
+# Configuration options related to the alphabetical class index
1202
+#---------------------------------------------------------------------------
1203
+
1204
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
1205
+# compounds will be generated. Enable this if the project contains a lot of
1206
+# classes, structs, unions or interfaces.
1207
+# The default value is: YES.
1208
+
1209
+ALPHABETICAL_INDEX     = YES
1210
+
1211
+# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes)
1212
+# that should be ignored while generating the index headers. The IGNORE_PREFIX
1213
+# tag works for classes, function and member names. The entity will be placed in
1214
+# the alphabetical list under the first letter of the entity name that remains
1215
+# after removing the prefix.
1216
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
1217
+
1218
+IGNORE_PREFIX          =
1219
+
1220
+#---------------------------------------------------------------------------
1221
+# Configuration options related to the HTML output
1222
+#---------------------------------------------------------------------------
1223
+
1224
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
1225
+# The default value is: YES.
1226
+
1227
+GENERATE_HTML          = YES
1228
+
1229
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
1230
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1231
+# it.
1232
+# The default directory is: html.
1233
+# This tag requires that the tag GENERATE_HTML is set to YES.
1234
+
1235
+HTML_OUTPUT            =
1236
+
1237
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
1238
+# generated HTML page (for example: .htm, .php, .asp).
1239
+# The default value is: .html.
1240
+# This tag requires that the tag GENERATE_HTML is set to YES.
1241
+
1242
+HTML_FILE_EXTENSION    = .html
1243
+
1244
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
1245
+# each generated HTML page. If the tag is left blank doxygen will generate a
1246
+# standard header.
1247
+#
1248
+# To get valid HTML the header file that includes any scripts and style sheets
1249
+# that doxygen needs, which is dependent on the configuration options used (e.g.
1250
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
1251
+# default header using
1252
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
1253
+# YourConfigFile
1254
+# and then modify the file new_header.html. See also section "Doxygen usage"
1255
+# for information on how to generate the default header that doxygen normally
1256
+# uses.
1257
+# Note: The header is subject to change so you typically have to regenerate the
1258
+# default header when upgrading to a newer version of doxygen. For a description
1259
+# of the possible markers and block names see the documentation.
1260
+# This tag requires that the tag GENERATE_HTML is set to YES.
1261
+
1262
+HTML_HEADER            =
1263
+
1264
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
1265
+# generated HTML page. If the tag is left blank doxygen will generate a standard
1266
+# footer. See HTML_HEADER for more information on how to generate a default
1267
+# footer and what special commands can be used inside the footer. See also
1268
+# section "Doxygen usage" for information on how to generate the default footer
1269
+# that doxygen normally uses.
1270
+# This tag requires that the tag GENERATE_HTML is set to YES.
1271
+
1272
+HTML_FOOTER            =
1273
+
1274
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
1275
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
1276
+# the HTML output. If left blank doxygen will generate a default style sheet.
1277
+# See also section "Doxygen usage" for information on how to generate the style
1278
+# sheet that doxygen normally uses.
1279
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
1280
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
1281
+# obsolete.
1282
+# This tag requires that the tag GENERATE_HTML is set to YES.
1283
+
1284
+HTML_STYLESHEET        =
1285
+
1286
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
1287
+# cascading style sheets that are included after the standard style sheets
1288
+# created by doxygen. Using this option one can overrule certain style aspects.
1289
+# This is preferred over using HTML_STYLESHEET since it does not replace the
1290
+# standard style sheet and is therefore more robust against future updates.
1291
+# Doxygen will copy the style sheet files to the output directory.
1292
+# Note: The order of the extra style sheet files is of importance (e.g. the last
1293
+# style sheet in the list overrules the setting of the previous ones in the
1294
+# list).
1295
+# Note: Since the styling of scrollbars can currently not be overruled in
1296
+# Webkit/Chromium, the styling will be left out of the default doxygen.css if
1297
+# one or more extra stylesheets have been specified. So if scrollbar
1298
+# customization is desired it has to be added explicitly. For an example see the
1299
+# documentation.
1300
+# This tag requires that the tag GENERATE_HTML is set to YES.
1301
+
1302
+HTML_EXTRA_STYLESHEET  =
1303
+
1304
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
1305
+# other source files which should be copied to the HTML output directory. Note
1306
+# that these files will be copied to the base HTML output directory. Use the
1307
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
1308
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
1309
+# files will be copied as-is; there are no commands or markers available.
1310
+# This tag requires that the tag GENERATE_HTML is set to YES.
1311
+
1312
+HTML_EXTRA_FILES       =
1313
+
1314
+# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
1315
+# should be rendered with a dark or light theme.
1316
+# Possible values are: LIGHT always generate light mode output, DARK always
1317
+# generate dark mode output, AUTO_LIGHT automatically set the mode according to
1318
+# the user preference, use light mode if no preference is set (the default),
1319
+# AUTO_DARK automatically set the mode according to the user preference, use
1320
+# dark mode if no preference is set and TOGGLE allow to user to switch between
1321
+# light and dark mode via a button.
1322
+# The default value is: AUTO_LIGHT.
1323
+# This tag requires that the tag GENERATE_HTML is set to YES.
1324
+
1325
+HTML_COLORSTYLE        = AUTO_LIGHT
1326
+
1327
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
1328
+# will adjust the colors in the style sheet and background images according to
1329
+# this color. Hue is specified as an angle on a color-wheel, see
1330
+# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
1331
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300