Revision d6728c5b

View differences:

Makefile
1
################################################################################
2
# AMiRo-LLD is a compilation of low-level hardware drivers for the Autonomous  #
3
# Mini Robot (AMiRo) platform.                                                 #
4
# Copyright (C) 2016..2018  Thomas Schöpping et al.                            #
5
#                                                                              #
6
# This program is free software: you can redistribute it and/or modify         #
7
# it under the terms of the GNU General Public License as published by         #
8
# the Free Software Foundation, either version 3 of the License, or            #
9
# (at your option) any later version.                                          #
10
#                                                                              #
11
# This program is distributed in the hope that it will be useful,              #
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of               #
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                #
14
# GNU General Public License for more details.                                 #
15
#                                                                              #
16
# You should have received a copy of the GNU General Public License            #
17
# along with this program.  If not, see <http://www.gnu.org/licenses/>.        #
18
#                                                                              #
19
# This research/work was supported by the Cluster of Excellence Cognitive      #
20
# Interaction Technology 'CITEC' (EXC 277) at Bielefeld University, which is   #
21
# funded by the German Research Foundation (DFG).                              #
22
################################################################################
23

  
24

  
25

  
26
# absolute path to this directory
27
AMIROLLD_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
28

  
29
# include paths
30
AMIROLLD_INC = $(AMIROLLD_DIR) \
31
               $(AMIROLLD_DIR)include/
32

  
33
AMIROLLD_SRCDIR = $(AMIROLLD_DIR)source/
34

  
35
# C sources
36
AMIROLLD_CSRC = $(AMIROLLD_SRCDIR)alld_a3906.c \
37
                $(AMIROLLD_SRCDIR)alld_at24c01bn-sh-b.c \
38
                $(AMIROLLD_SRCDIR)alld_bq24103a.c \
39
                $(AMIROLLD_SRCDIR)alld_bq27500.c \
40
                $(AMIROLLD_SRCDIR)alld_hmc5883l.c \
41
                $(AMIROLLD_SRCDIR)alld_ina219.c \
42
                $(AMIROLLD_SRCDIR)alld_l3g4200d.c \
43
                $(AMIROLLD_SRCDIR)alld_led.c \
44
                $(AMIROLLD_SRCDIR)alld_lis331dlh.c \
45
                $(AMIROLLD_SRCDIR)alld_ltc4412.c \
46
                $(AMIROLLD_SRCDIR)alld_mpr121.c \
47
                $(AMIROLLD_SRCDIR)alld_pca9544a.c \
48
                $(AMIROLLD_SRCDIR)alld_pklcs1212e4001.c \
49
                $(AMIROLLD_SRCDIR)alld_tlc5947.c \
50
                $(AMIROLLD_SRCDIR)alld_tps2051bdbv.c \
51
                $(AMIROLLD_SRCDIR)alld_tps62113.c \
52
                $(AMIROLLD_SRCDIR)alld_vcnl4020.c
53

  
README.txt
1
AMiRo-LLD is a compilation of low-level hardware drivers for the base version of
2
the Autonomous Mini Robot (AMiRo) [1]. It provides directional interfaces for an
3
operating system to access the drivers and for the drivers to access the
4
communication infrastructure via the operating system.
5

  
6
Copyright (C) 2016..2018  Thomas Schöpping et al.
7
(a complete list of all authors is given below)
8

  
9
This program is free software: you can redistribute it and/or modify
10
it under the terms of the GNU General Public License as published by
11
the Free Software Foundation, either version 3 of the License, or (at
12
your option) any later version.
13

  
14
This program is distributed in the hope that it will be useful, but
15
WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
General Public License for more details.
18

  
19
You should have received a copy of the GNU General Public License
20
along with this program.  If not, see <http://www.gnu.org/licenses/>.
21

  
22
This research/work was supported by the Cluster of Excellence
23
Cognitive Interaction Technology 'CITEC' (EXC 277) at Bielefeld
24
University, which is funded by the German Research Foundation (DFG).
25

  
26
Authors:
27
 - Thomas Schöpping          <tschoepp[at]cit-ec.uni-bielefeld.de>
28
 - Marc Rothmann
29

  
30
References:
31
 [1] S. Herbrechtsmeier, T. Korthals, T. Schopping and U. Rückert, "AMiRo: A
32
     modular & customizable open-source mini robot platform," 2016 20th
33
     International Conference on System Theory, Control and Computing (ICSTCC),
34
     Sinaia, 2016, pp. 687-692.
35

  
36

  
37

  
38
################################################################################
39
#                                                                              #
40
#        RRRRRRRR   EEEEEEEE     AAA     DDDDDDDD   MM     MM  EEEEEEEE        #
41
#        RR     RR  EE          AA AA    DD     DD  MMM   MMM  EE              #
42
#        RR     RR  EE         AA   AA   DD     DD  MMMM MMMM  EE              #
43
#        RRRRRRRR   EEEEEE    AA     AA  DD     DD  MM MMM MM  EEEEEE          #
44
#        RR   RR    EE        AAAAAAAAA  DD     DD  MM     MM  EE              #
45
#        RR    RR   EE        AA     AA  DD     DD  MM     MM  EE              #
46
#        RR     RR  EEEEEEEE  AA     AA  DDDDDDDD   MM     MM  EEEEEEEE        #
47
#                                                                              #
48
################################################################################
49

  
50
AMiRo-LLD is a compilation of low-level hardware drivers, originally developed
51
for the Autonomous Mini Robot (AMiRo) [1]. It provides a modular design, so that
52
each driver can be (de)activated individually as required. Interface functions
53
allow for bidirectional comunication with an operating system. On the one hand
54
drivers access according hardware interfaces via defined interface functions
55
(which need to be implemented by the operating system) and any applications (or
56
the operating system itself) can take advantage of the drivers by their
57
individual interfaces. The abstraction layer of the hardware interfaces is
58
called "periphAL", which is defined by this project.
59

  
60
Although this compilation was originally designed to be used in combination with
61
the AMiRo operating system (AMiRo-OS; cf. https://opensource.cit-ec.de/projects/amiro-os/),
62
it is not limited to this use case. The included drivers may be used for any
63
purpose and contributions of further drivers, even if the according hardware is
64
not present on the AMiRo platform, are highly appreciated.
65

  
66
The files are structured as follows:
67
* include/
68
  Each driver defines exactly one include header in this directory. By
69
  convention these files are named by the form
70
    alld_<product_name>.h
71
  <product_name> is a placeholder for the exact name of the according hardware,
72
  or the product familiy, if the driver is compatible with all parts.
73
* source/
74
  Any source files are placed in this directory. Usually there is a single file
75
  for each driver. If multiple files are necessary, these should be placed in an
76
  accordingly named subfolder. Names of folders and files should comply to the
77
  aforementioned convention.
78
* templates/
79
  AMiRo-LLD requires an implementation of the defined interface and an
80
  configuration header to be accessible in the include paths at compile time.
81
  Template files for both can be found in this folder. It is recommended to
82
  place according implementations of these templated not in the AMiRo-LLD
83
  project, but the superproject which includes AMiRo-LLD.
84
* /
85
  The project root directory contains this file, a license.html file as well as
86
  a Makefile that allows to easily integrate the project. Furthermore, two
87
  interface headers are provided: amiro-lld.h and periphALtypes.h. These are
88
  entry points for any utilizing superproject, so it is not required (and not
89
  recommanded) to include each driver individually.
90

  
91
================================================================================
92

  
amiro-lld.h
1
/*
2
AMiRo-LLD is a compilation of low-level hardware drivers for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2018  Thomas Schöpping et al.
4

  
5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

  
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

  
15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

  
19
#ifndef _AMIROLLD_H_
20
#define _AMIROLLD_H_
21

  
22
/**
23
 * @brief   AMIRO-LLD identification macro.
24
 */
25
#define _AMIRO_LLD_
26

  
27
/**
28
 * @name   AMiRo-LLD version and relase information.
29
 * @{
30
 */
31

  
32
/**
33
 * @brief   Realease type of this version.
34
 *          IPossible values are "pre-alpha", "alpha", "beta", "release candidate", "release".
35
 */
36
#define AMIRO_LLD_RELEASE_TYPE     "release"
37

  
38
/**
39
 * @brief   The periphery abstraction layer interface major version.
40
 * @note    Changes of the major version imply incompatibilities.
41
 */
42
#define AMIRO_LLD_VERSION_MAJOR    1
43

  
44
/**
45
 * @brief   The periphery abstraction layer interface minor version.
46
 * @note    A higher minor version implies new functionalty, but all old interfaces are still available.
47
 */
48
#define AMIRO_LLD_VERSION_MINOR    0
49

  
50
/**
51
 * @brief   The periphery abstraction layer interface patch level.
52
 */
53
#define AMIRO_LLD_VERSION_PATCH    0
54

  
55
/**
56
 * @brief   The periphery abstraction layer interface required major version.
57
 */
58
#define PERIPHAL_REQUIRED_MAJOR    1
59

  
60
/**
61
 * @brief   The periphery abstraction layer interface required minor version.
62
 */
63
#define PERIPHAL_REQUIRED_MINOR    0
64

  
65
/** @} */
66

  
67
#include <alldconf.h>
68

  
69
#if !defined(_AMIRO_LLD_CFG_)
70
#error "invalid AMiRo-LLD configuration file"
71
#endif
72
#if (AMIRO_LLD_CFG_VERSION_MAJOR != AMIRO_LLD_VERSION_MAJOR) || (AMIRO_LLD_CFG_VERSION_MINOR < AMIRO_LLD_VERSION_MINOR)
73
#error "incompatible AMiRo-LLD configuration file"
74
#endif
75

  
76
#include <periphAL.h>
77
#if !defined(PERIPHAL_VERSION_MAJOR) || !defined(PERIPHAL_VERSION_MINOR)
78
#error "invalid periphAL implementation"
79
#endif
80
#if (PERIPHAL_VERSION_MAJOR != PERIPHAL_REQUIRED_MAJOR) || (PERIPHAL_VERSION_MINOR < PERIPHAL_REQUIRED_MINOR)
81
#error "incompatible periphAL implementation"
82
#endif
83

  
84
#endif /* _AMIROLLD_H_ */
docs/Doxyfile
1
# Doxyfile 1.7.6.1
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 hash (#) is considered a comment and will be ignored.
7
# The format is:
8
#       TAG = value [value, ...]
9
# For lists items can also be appended using:
10
#       TAG += value [value, ...]
11
# Values that contain spaces should be placed between quotes (" ").
12

  
13
#---------------------------------------------------------------------------
14
# Project related configuration options
15
#---------------------------------------------------------------------------
16

  
17
# This tag specifies the encoding used for all characters in the config file
18
# that follow. The default is UTF-8 which is also the encoding used for all
19
# text before the first occurrence of this tag. Doxygen uses libiconv (or the
20
# iconv built into libc) for the transcoding. See
21
# http://www.gnu.org/software/libiconv for the list of possible encodings.
22

  
23
DOXYFILE_ENCODING      = UTF-8
24

  
25
# The PROJECT_NAME tag is a single word (or sequence of words) that should
26
# identify the project. Note that if you do not use Doxywizard you need
27
# to put quotes around the project name if it contains spaces.
28

  
29
PROJECT_NAME           = "AMiRo-LLD"
30

  
31
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
32
# This could be handy for archiving the generated documentation or
33
# if some version control system is used.
34

  
35
PROJECT_NUMBER         = 1.0
36

  
37
# Using the PROJECT_BRIEF tag one can provide an optional one line description
38
# for a project that appears at the top of each page and should give viewer
39
# a quick idea about the purpose of the project. Keep the description short.
40

  
41
PROJECT_BRIEF          = AMiRo Low Level Drivers
42

  
43
# With the PROJECT_LOGO tag one can specify an logo or icon that is
44
# included in the documentation. The maximum height of the logo should not
45
# exceed 55 pixels and the maximum width should not exceed 200 pixels.
46
# Doxygen will copy the logo to the output directory.
47

  
48
PROJECT_LOGO           =
49

  
50
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
51
# base path where the generated documentation will be put.
52
# If a relative path is entered, it will be relative to the location
53
# where doxygen was started. If left blank the current directory will be used.
54

  
55
OUTPUT_DIRECTORY       = doxygen
56

  
57
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
58
# 4096 sub-directories (in 2 levels) under the output directory of each output
59
# format and will distribute the generated files over these directories.
60
# Enabling this option can be useful when feeding doxygen a huge amount of
61
# source files, where putting all generated files in the same directory would
62
# otherwise cause performance problems for the file system.
63

  
64
CREATE_SUBDIRS         = NO
65

  
66
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
67
# documentation generated by doxygen is written. Doxygen will use this
68
# information to generate all constant output in the proper language.
69
# The default language is English, other supported languages are:
70
# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
71
# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
72
# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
73
# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
74
# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
75
# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
76

  
77
OUTPUT_LANGUAGE        = English
78

  
79
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
80
# include brief member descriptions after the members that are listed in
81
# the file and class documentation (similar to JavaDoc).
82
# Set to NO to disable this.
83

  
84
BRIEF_MEMBER_DESC      = YES
85

  
86
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
87
# the brief description of a member or function before the detailed description.
88
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
89
# brief descriptions will be completely suppressed.
90

  
91
REPEAT_BRIEF           = YES
92

  
93
# This tag implements a quasi-intelligent brief description abbreviator
94
# that is used to form the text in various listings. Each string
95
# in this list, if found as the leading text of the brief description, will be
96
# stripped from the text and the result after processing the whole list, is
97
# used as the annotated text. Otherwise, the brief description is used as-is.
98
# If left blank, the following values are used ("$name" is automatically
99
# replaced with the name of the entity): "The $name class" "The $name widget"
100
# "The $name file" "is" "provides" "specifies" "contains"
101
# "represents" "a" "an" "the"
102

  
103
ABBREVIATE_BRIEF       =
104

  
105
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
106
# Doxygen will generate a detailed section even if there is only a brief
107
# description.
108

  
109
ALWAYS_DETAILED_SEC    = NO
110

  
111
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
112
# inherited members of a class in the documentation of that class as if those
113
# members were ordinary class members. Constructors, destructors and assignment
114
# operators of the base classes will not be shown.
115

  
116
INLINE_INHERITED_MEMB  = NO
117

  
118
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
119
# path before files name in the file list and in the header files. If set
120
# to NO the shortest path that makes the file name unique will be used.
121

  
122
FULL_PATH_NAMES        = YES
123

  
124
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
125
# can be used to strip a user-defined part of the path. Stripping is
126
# only done if one of the specified strings matches the left-hand part of
127
# the path. The tag can be used to show relative paths in the file list.
128
# If left blank the directory from which doxygen is run is used as the
129
# path to strip.
130

  
131
STRIP_FROM_PATH        =
132

  
133
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
134
# the path mentioned in the documentation of a class, which tells
135
# the reader which header file to include in order to use a class.
136
# If left blank only the name of the header file containing the class
137
# definition is used. Otherwise one should specify the include paths that
138
# are normally passed to the compiler using the -I flag.
139

  
140
STRIP_FROM_INC_PATH    =
141

  
142
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
143
# (but less readable) file names. This can be useful if your file system
144
# doesn't support long names like on DOS, Mac, or CD-ROM.
145

  
146
SHORT_NAMES            = NO
147

  
148
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
149
# will interpret the first line (until the first dot) of a JavaDoc-style
150
# comment as the brief description. If set to NO, the JavaDoc
151
# comments will behave just like regular Qt-style comments
152
# (thus requiring an explicit @brief command for a brief description.)
153

  
154
JAVADOC_AUTOBRIEF      = NO
155

  
156
# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
157
# interpret the first line (until the first dot) of a Qt-style
158
# comment as the brief description. If set to NO, the comments
159
# will behave just like regular Qt-style comments (thus requiring
160
# an explicit \brief command for a brief description.)
161

  
162
QT_AUTOBRIEF           = NO
163

  
164
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
165
# treat a multi-line C++ special comment block (i.e. a block of //! or ///
166
# comments) as a brief description. This used to be the default behaviour.
167
# The new default is to treat a multi-line C++ comment block as a detailed
168
# description. Set this tag to YES if you prefer the old behaviour instead.
169

  
170
MULTILINE_CPP_IS_BRIEF = NO
171

  
172
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
173
# member inherits the documentation from any documented member that it
174
# re-implements.
175

  
176
INHERIT_DOCS           = YES
177

  
178
# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
179
# a new page for each member. If set to NO, the documentation of a member will
180
# be part of the file/class/namespace that contains it.
181

  
182
SEPARATE_MEMBER_PAGES  = NO
183

  
184
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
185
# Doxygen uses this value to replace tabs by spaces in code fragments.
186

  
187
TAB_SIZE               = 8
188

  
189
# This tag can be used to specify a number of aliases that acts
190
# as commands in the documentation. An alias has the form "name=value".
191
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
192
# put the command \sideeffect (or @sideeffect) in the documentation, which
193
# will result in a user-defined paragraph with heading "Side Effects:".
194
# You can put \n's in the value part of an alias to insert newlines.
195

  
196
ALIASES                =
197

  
198
# This tag can be used to specify a number of word-keyword mappings (TCL only).
199
# A mapping has the form "name=value". For example adding
200
# "class=itcl::class" will allow you to use the command class in the
201
# itcl::class meaning.
202

  
203
TCL_SUBST              =
204

  
205
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
206
# sources only. Doxygen will then generate output that is more tailored for C.
207
# For instance, some of the names that are used will be different. The list
208
# of all members will be omitted, etc.
209

  
210
OPTIMIZE_OUTPUT_FOR_C  = YES
211

  
212
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
213
# sources only. Doxygen will then generate output that is more tailored for
214
# Java. For instance, namespaces will be presented as packages, qualified
215
# scopes will look different, etc.
216

  
217
OPTIMIZE_OUTPUT_JAVA   = NO
218

  
219
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
220
# sources only. Doxygen will then generate output that is more tailored for
221
# Fortran.
222

  
223
OPTIMIZE_FOR_FORTRAN   = NO
224

  
225
# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
226
# sources. Doxygen will then generate output that is tailored for
227
# VHDL.
228

  
229
OPTIMIZE_OUTPUT_VHDL   = NO
230

  
231
# Doxygen selects the parser to use depending on the extension of the files it
232
# parses. With this tag you can assign which parser to use for a given extension.
233
# Doxygen has a built-in mapping, but you can override or extend it using this
234
# tag. The format is ext=language, where ext is a file extension, and language
235
# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
236
# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
237
# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
238
# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
239
# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
240

  
241
EXTENSION_MAPPING      =
242

  
243
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
244
# to include (a tag file for) the STL sources as input, then you should
245
# set this tag to YES in order to let doxygen match functions declarations and
246
# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
247
# func(std::string) {}). This also makes the inheritance and collaboration
248
# diagrams that involve STL classes more complete and accurate.
249

  
250
BUILTIN_STL_SUPPORT    = NO
251

  
252
# If you use Microsoft's C++/CLI language, you should set this option to YES to
253
# enable parsing support.
254

  
255
CPP_CLI_SUPPORT        = NO
256

  
257
# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
258
# Doxygen will parse them like normal C++ but will assume all classes use public
259
# instead of private inheritance when no explicit protection keyword is present.
260

  
261
SIP_SUPPORT            = NO
262

  
263
# For Microsoft's IDL there are propget and propput attributes to indicate getter
264
# and setter methods for a property. Setting this option to YES (the default)
265
# will make doxygen replace the get and set methods by a property in the
266
# documentation. This will only work if the methods are indeed getting or
267
# setting a simple type. If this is not the case, or you want to show the
268
# methods anyway, you should set this option to NO.
269

  
270
IDL_PROPERTY_SUPPORT   = YES
271

  
272
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
273
# tag is set to YES, then doxygen will reuse the documentation of the first
274
# member in the group (if any) for the other members of the group. By default
275
# all members of a group must be documented explicitly.
276

  
277
DISTRIBUTE_GROUP_DOC   = NO
278

  
279
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
280
# the same type (for instance a group of public functions) to be put as a
281
# subgroup of that type (e.g. under the Public Functions section). Set it to
282
# NO to prevent subgrouping. Alternatively, this can be done per class using
283
# the \nosubgrouping command.
284

  
285
SUBGROUPING            = YES
286

  
287
# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
288
# unions are shown inside the group in which they are included (e.g. using
289
# @ingroup) instead of on a separate page (for HTML and Man pages) or
290
# section (for LaTeX and RTF).
291

  
292
INLINE_GROUPED_CLASSES = NO
293

  
294
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
295
# unions with only public data fields will be shown inline in the documentation
296
# of the scope in which they are defined (i.e. file, namespace, or group
297
# documentation), provided this scope is documented. If set to NO (the default),
298
# structs, classes, and unions are shown on a separate page (for HTML and Man
299
# pages) or section (for LaTeX and RTF).
300

  
301
INLINE_SIMPLE_STRUCTS  = NO
302

  
303
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
304
# is documented as struct, union, or enum with the name of the typedef. So
305
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
306
# with name TypeT. When disabled the typedef will appear as a member of a file,
307
# namespace, or class. And the struct will be named TypeS. This can typically
308
# be useful for C code in case the coding convention dictates that all compound
309
# types are typedef'ed and only the typedef is referenced, never the tag name.
310

  
311
TYPEDEF_HIDES_STRUCT   = YES
312

  
313
# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
314
# determine which symbols to keep in memory and which to flush to disk.
315
# When the cache is full, less often used symbols will be written to disk.
316
# For small to medium size projects (<1000 input files) the default value is
317
# probably good enough. For larger projects a too small cache size can cause
318
# doxygen to be busy swapping symbols to and from disk most of the time
319
# causing a significant performance penalty.
320
# If the system has enough physical memory increasing the cache will improve the
321
# performance by keeping more symbols in memory. Note that the value works on
322
# a logarithmic scale so increasing the size by one will roughly double the
323
# memory usage. The cache size is given by this formula:
324
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
325
# corresponding to a cache size of 2^16 = 65536 symbols.
326

  
327
SYMBOL_CACHE_SIZE      = 0
328

  
329
# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
330
# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
331
# their name and scope. Since this can be an expensive process and often the
332
# same symbol appear multiple times in the code, doxygen keeps a cache of
333
# pre-resolved symbols. If the cache is too small doxygen will become slower.
334
# If the cache is too large, memory is wasted. The cache size is given by this
335
# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
336
# corresponding to a cache size of 2^16 = 65536 symbols.
337

  
338
LOOKUP_CACHE_SIZE      = 0
339

  
340
#---------------------------------------------------------------------------
341
# Build related configuration options
342
#---------------------------------------------------------------------------
343

  
344
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
345
# documentation are documented, even if no documentation was available.
346
# Private class members and static file members will be hidden unless
347
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
348

  
349
EXTRACT_ALL            = YES
350

  
351
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
352
# will be included in the documentation.
353

  
354
EXTRACT_PRIVATE        = NO
355

  
356
# If the EXTRACT_STATIC tag is set to YES all static members of a file
357
# will be included in the documentation.
358

  
359
EXTRACT_STATIC         = NO
360

  
361
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
362
# defined locally in source files will be included in the documentation.
363
# If set to NO only classes defined in header files are included.
364

  
365
EXTRACT_LOCAL_CLASSES  = YES
366

  
367
# This flag is only useful for Objective-C code. When set to YES local
368
# methods, which are defined in the implementation section but not in
369
# the interface are included in the documentation.
370
# If set to NO (the default) only methods in the interface are included.
371

  
372
EXTRACT_LOCAL_METHODS  = NO
373

  
374
# If this flag is set to YES, the members of anonymous namespaces will be
375
# extracted and appear in the documentation as a namespace called
376
# 'anonymous_namespace{file}', where file will be replaced with the base
377
# name of the file that contains the anonymous namespace. By default
378
# anonymous namespaces are hidden.
379

  
380
EXTRACT_ANON_NSPACES   = NO
381

  
382
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
383
# undocumented members of documented classes, files or namespaces.
384
# If set to NO (the default) these members will be included in the
385
# various overviews, but no documentation section is generated.
386
# This option has no effect if EXTRACT_ALL is enabled.
387

  
388
HIDE_UNDOC_MEMBERS     = NO
389

  
390
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
391
# undocumented classes that are normally visible in the class hierarchy.
392
# If set to NO (the default) these classes will be included in the various
393
# overviews. This option has no effect if EXTRACT_ALL is enabled.
394

  
395
HIDE_UNDOC_CLASSES     = NO
396

  
397
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
398
# friend (class|struct|union) declarations.
399
# If set to NO (the default) these declarations will be included in the
400
# documentation.
401

  
402
HIDE_FRIEND_COMPOUNDS  = NO
403

  
404
# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
405
# documentation blocks found inside the body of a function.
406
# If set to NO (the default) these blocks will be appended to the
407
# function's detailed documentation block.
408

  
409
HIDE_IN_BODY_DOCS      = NO
410

  
411
# The INTERNAL_DOCS tag determines if documentation
412
# that is typed after a \internal command is included. If the tag is set
413
# to NO (the default) then the documentation will be excluded.
414
# Set it to YES to include the internal documentation.
415

  
416
INTERNAL_DOCS          = NO
417

  
418
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
419
# file names in lower-case letters. If set to YES upper-case letters are also
420
# allowed. This is useful if you have classes or files whose names only differ
421
# in case and if your file system supports case sensitive file names. Windows
422
# and Mac users are advised to set this option to NO.
423

  
424
CASE_SENSE_NAMES       = YES
425

  
426
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
427
# will show members with their full class and namespace scopes in the
428
# documentation. If set to YES the scope will be hidden.
429

  
430
HIDE_SCOPE_NAMES       = NO
431

  
432
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
433
# will put a list of the files that are included by a file in the documentation
434
# of that file.
435

  
436
SHOW_INCLUDE_FILES     = YES
437

  
438
# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
439
# will list include files with double quotes in the documentation
440
# rather than with sharp brackets.
441

  
442
FORCE_LOCAL_INCLUDES   = NO
443

  
444
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
445
# is inserted in the documentation for inline members.
446

  
447
INLINE_INFO            = YES
448

  
449
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
450
# will sort the (detailed) documentation of file and class members
451
# alphabetically by member name. If set to NO the members will appear in
452
# declaration order.
453

  
454
SORT_MEMBER_DOCS       = YES
455

  
456
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
457
# brief documentation of file, namespace and class members alphabetically
458
# by member name. If set to NO (the default) the members will appear in
459
# declaration order.
460

  
461
SORT_BRIEF_DOCS        = NO
462

  
463
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
464
# will sort the (brief and detailed) documentation of class members so that
465
# constructors and destructors are listed first. If set to NO (the default)
466
# the constructors will appear in the respective orders defined by
467
# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
468
# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
469
# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
470

  
471
SORT_MEMBERS_CTORS_1ST = NO
472

  
473
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
474
# hierarchy of group names into alphabetical order. If set to NO (the default)
475
# the group names will appear in their defined order.
476

  
477
SORT_GROUP_NAMES       = NO
478

  
479
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
480
# sorted by fully-qualified names, including namespaces. If set to
481
# NO (the default), the class list will be sorted only by class name,
482
# not including the namespace part.
483
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
484
# Note: This option applies only to the class list, not to the
485
# alphabetical list.
486

  
487
SORT_BY_SCOPE_NAME     = NO
488

  
489
# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
490
# do proper type resolution of all parameters of a function it will reject a
491
# match between the prototype and the implementation of a member function even
492
# if there is only one candidate or it is obvious which candidate to choose
493
# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
494
# will still accept a match between prototype and implementation in such cases.
495

  
496
STRICT_PROTO_MATCHING  = NO
497

  
498
# The GENERATE_TODOLIST tag can be used to enable (YES) or
499
# disable (NO) the todo list. This list is created by putting \todo
500
# commands in the documentation.
501

  
502
GENERATE_TODOLIST      = YES
503

  
504
# The GENERATE_TESTLIST tag can be used to enable (YES) or
505
# disable (NO) the test list. This list is created by putting \test
506
# commands in the documentation.
507

  
508
GENERATE_TESTLIST      = YES
509

  
510
# The GENERATE_BUGLIST tag can be used to enable (YES) or
511
# disable (NO) the bug list. This list is created by putting \bug
512
# commands in the documentation.
513

  
514
GENERATE_BUGLIST       = YES
515

  
516
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
517
# disable (NO) the deprecated list. This list is created by putting
518
# \deprecated commands in the documentation.
519

  
520
GENERATE_DEPRECATEDLIST= YES
521

  
522
# The ENABLED_SECTIONS tag can be used to enable conditional
523
# documentation sections, marked by \if sectionname ... \endif.
524

  
525
ENABLED_SECTIONS       =
526

  
527
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
528
# the initial value of a variable or macro consists of for it to appear in
529
# the documentation. If the initializer consists of more lines than specified
530
# here it will be hidden. Use a value of 0 to hide initializers completely.
531
# The appearance of the initializer of individual variables and macros in the
532
# documentation can be controlled using \showinitializer or \hideinitializer
533
# command in the documentation regardless of this setting.
534

  
535
MAX_INITIALIZER_LINES  = 30
536

  
537
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
538
# at the bottom of the documentation of classes and structs. If set to YES the
539
# list will mention the files that were used to generate the documentation.
540

  
541
SHOW_USED_FILES        = YES
542

  
543
# If the sources in your project are distributed over multiple directories
544
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
545
# in the documentation. The default is NO.
546

  
547
SHOW_DIRECTORIES       = NO
548

  
549
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
550
# This will remove the Files entry from the Quick Index and from the
551
# Folder Tree View (if specified). The default is YES.
552

  
553
SHOW_FILES             = YES
554

  
555
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
556
# Namespaces page.
557
# This will remove the Namespaces entry from the Quick Index
558
# and from the Folder Tree View (if specified). The default is YES.
559

  
560
SHOW_NAMESPACES        = YES
561

  
562
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
563
# doxygen should invoke to get the current version for each file (typically from
564
# the version control system). Doxygen will invoke the program by executing (via
565
# popen()) the command <command> <input-file>, where <command> is the value of
566
# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
567
# provided by doxygen. Whatever the program writes to standard output
568
# is used as the file version. See the manual for examples.
569

  
570
FILE_VERSION_FILTER    =
571

  
572
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
573
# by doxygen. The layout file controls the global structure of the generated
574
# output files in an output format independent way. The create the layout file
575
# that represents doxygen's defaults, run doxygen with the -l option.
576
# You can optionally specify a file name after the option, if omitted
577
# DoxygenLayout.xml will be used as the name of the layout file.
578

  
579
LAYOUT_FILE            =
580

  
581
# The CITE_BIB_FILES tag can be used to specify one or more bib files
582
# containing the references data. This must be a list of .bib files. The
583
# .bib extension is automatically appended if omitted. Using this command
584
# requires the bibtex tool to be installed. See also
585
# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
586
# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
587
# feature you need bibtex and perl available in the search path.
588

  
589
CITE_BIB_FILES         =
590

  
591
#---------------------------------------------------------------------------
592
# configuration options related to warning and progress messages
593
#---------------------------------------------------------------------------
594

  
595
# The QUIET tag can be used to turn on/off the messages that are generated
596
# by doxygen. Possible values are YES and NO. If left blank NO is used.
597

  
598
QUIET                  = NO
599

  
600
# The WARNINGS tag can be used to turn on/off the warning messages that are
601
# generated by doxygen. Possible values are YES and NO. If left blank
602
# NO is used.
603

  
604
WARNINGS               = YES
605

  
606
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
607
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
608
# automatically be disabled.
609

  
610
WARN_IF_UNDOCUMENTED   = YES
611

  
612
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
613
# potential errors in the documentation, such as not documenting some
614
# parameters in a documented function, or documenting parameters that
615
# don't exist or using markup commands wrongly.
616

  
617
WARN_IF_DOC_ERROR      = YES
618

  
619
# The WARN_NO_PARAMDOC option can be enabled to get warnings for
620
# functions that are documented, but have no documentation for their parameters
621
# or return value. If set to NO (the default) doxygen will only warn about
622
# wrong or incomplete parameter documentation, but not about the absence of
623
# documentation.
624

  
625
WARN_NO_PARAMDOC       = NO
626

  
627
# The WARN_FORMAT tag determines the format of the warning messages that
628
# doxygen can produce. The string should contain the $file, $line, and $text
629
# tags, which will be replaced by the file and line number from which the
630
# warning originated and the warning text. Optionally the format may contain
631
# $version, which will be replaced by the version of the file (if it could
632
# be obtained via FILE_VERSION_FILTER)
633

  
634
WARN_FORMAT            = "$file:$line: $text"
635

  
636
# The WARN_LOGFILE tag can be used to specify a file to which warning
637
# and error messages should be written. If left blank the output is written
638
# to stderr.
639

  
640
WARN_LOGFILE           =
641

  
642
#---------------------------------------------------------------------------
643
# configuration options related to the input files
644
#---------------------------------------------------------------------------
645

  
646
# The INPUT tag can be used to specify the files and/or directories that contain
647
# documented source files. You may enter file names like "myfile.cpp" or
648
# directories like "/usr/src/myproject". Separate the files or directories
649
# with spaces.
650

  
651
INPUT                  = ".."
652

  
653
# This tag can be used to specify the character encoding of the source files
654
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
655
# also the default input encoding. Doxygen uses libiconv (or the iconv built
656
# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
657
# the list of possible encodings.
658

  
659
INPUT_ENCODING         = UTF-8
660

  
661
# If the value of the INPUT tag contains directories, you can use the
662
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
663
# and *.h) to filter out the source-files in the directories. If left
664
# blank the following patterns are tested:
665
# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
666
# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
667
# *.f90 *.f *.for *.vhd *.vhdl
668

  
669
FILE_PATTERNS          = *.c *.h
670

  
671
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
672
# should be searched for input files as well. Possible values are YES and NO.
673
# If left blank NO is used.
674

  
675
RECURSIVE              = YES
676

  
677
# The EXCLUDE tag can be used to specify files and/or directories that should be
678
# excluded from the INPUT source files. This way you can easily exclude a
679
# subdirectory from a directory tree whose root is specified with the INPUT tag.
680
# Note that relative paths are relative to the directory from which doxygen is
681
# run.
682

  
683
EXCLUDE                = "template", "docs"
684

  
685
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
686
# directories that are symbolic links (a Unix file system feature) are excluded
687
# from the input.
688

  
689
EXCLUDE_SYMLINKS       = NO
690

  
691
# If the value of the INPUT tag contains directories, you can use the
692
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
693
# certain files from those directories. Note that the wildcards are matched
694
# against the file with absolute path, so to exclude all test directories
695
# for example use the pattern */test/*
696

  
697
EXCLUDE_PATTERNS       =
698

  
699
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
700
# (namespaces, classes, functions, etc.) that should be excluded from the
701
# output. The symbol name can be a fully qualified name, a word, or if the
702
# wildcard * is used, a substring. Examples: ANamespace, AClass,
703
# AClass::ANamespace, ANamespace::*Test
704

  
705
EXCLUDE_SYMBOLS        =
706

  
707
# The EXAMPLE_PATH tag can be used to specify one or more files or
708
# directories that contain example code fragments that are included (see
709
# the \include command).
710

  
711
EXAMPLE_PATH           =
712

  
713
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
714
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
715
# and *.h) to filter out the source-files in the directories. If left
716
# blank all files are included.
717

  
718
EXAMPLE_PATTERNS       =
719

  
720
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
721
# searched for input files to be used with the \include or \dontinclude
722
# commands irrespective of the value of the RECURSIVE tag.
723
# Possible values are YES and NO. If left blank NO is used.
724

  
725
EXAMPLE_RECURSIVE      = NO
726

  
727
# The IMAGE_PATH tag can be used to specify one or more files or
728
# directories that contain image that are included in the documentation (see
729
# the \image command).
730

  
731
IMAGE_PATH             =
732

  
733
# The INPUT_FILTER tag can be used to specify a program that doxygen should
734
# invoke to filter for each input file. Doxygen will invoke the filter program
735
# by executing (via popen()) the command <filter> <input-file>, where <filter>
736
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
737
# input file. Doxygen will then use the output that the filter program writes
738
# to standard output.
739
# If FILTER_PATTERNS is specified, this tag will be
740
# ignored.
741

  
742
INPUT_FILTER           =
743

  
744
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
745
# basis.
746
# Doxygen will compare the file name with each pattern and apply the
747
# filter if there is a match.
748
# The filters are a list of the form:
749
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
750
# info on how filters are used. If FILTER_PATTERNS is empty or if
751
# non of the patterns match the file name, INPUT_FILTER is applied.
752

  
753
FILTER_PATTERNS        =
754

  
755
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
756
# INPUT_FILTER) will be used to filter the input files when producing source
757
# files to browse (i.e. when SOURCE_BROWSER is set to YES).
758

  
759
FILTER_SOURCE_FILES    = NO
760

  
761
# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
762
# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
763
# and it is also possible to disable source filtering for a specific pattern
764
# using *.ext= (so without naming a filter). This option only has effect when
765
# FILTER_SOURCE_FILES is enabled.
766

  
767
FILTER_SOURCE_PATTERNS =
768

  
769
#---------------------------------------------------------------------------
770
# configuration options related to source browsing
771
#---------------------------------------------------------------------------
772

  
773
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
774
# be generated. Documented entities will be cross-referenced with these sources.
775
# Note: To get rid of all source code in the generated output, make sure also
776
# VERBATIM_HEADERS is set to NO.
777

  
778
SOURCE_BROWSER         = NO
779

  
780
# Setting the INLINE_SOURCES tag to YES will include the body
781
# of functions and classes directly in the documentation.
782

  
783
INLINE_SOURCES         = NO
784

  
785
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
786
# doxygen to hide any special comment blocks from generated source code
787
# fragments. Normal C and C++ comments will always remain visible.
788

  
789
STRIP_CODE_COMMENTS    = YES
790

  
791
# If the REFERENCED_BY_RELATION tag is set to YES
792
# then for each documented function all documented
793
# functions referencing it will be listed.
794

  
795
REFERENCED_BY_RELATION = NO
796

  
797
# If the REFERENCES_RELATION tag is set to YES
798
# then for each documented function all documented entities
799
# called/used by that function will be listed.
800

  
801
REFERENCES_RELATION    = NO
802

  
803
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
804
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
805
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
806
# link to the source code.
807
# Otherwise they will link to the documentation.
808

  
809
REFERENCES_LINK_SOURCE = YES
810

  
811
# If the USE_HTAGS tag is set to YES then the references to source code
812
# will point to the HTML generated by the htags(1) tool instead of doxygen
813
# built-in source browser. The htags tool is part of GNU's global source
814
# tagging system (see http://www.gnu.org/software/global/global.html). You
815
# will need version 4.8.6 or higher.
816

  
817
USE_HTAGS              = NO
818

  
819
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
820
# will generate a verbatim copy of the header file for each class for
821
# which an include is specified. Set to NO to disable this.
822

  
823
VERBATIM_HEADERS       = YES
824

  
825
#---------------------------------------------------------------------------
826
# configuration options related to the alphabetical class index
827
#---------------------------------------------------------------------------
828

  
829
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
830
# of all compounds will be generated. Enable this if the project
831
# contains a lot of classes, structs, unions or interfaces.
832

  
833
ALPHABETICAL_INDEX     = YES
834

  
835
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
836
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
837
# in which this list will be split (can be a number in the range [1..20])
838

  
839
COLS_IN_ALPHA_INDEX    = 5
840

  
841
# In case all classes in a project start with a common prefix, all
842
# classes will be put under the same header in the alphabetical index.
843
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
844
# should be ignored while generating the index headers.
845

  
846
IGNORE_PREFIX          =
847

  
848
#---------------------------------------------------------------------------
849
# configuration options related to the HTML output
850
#---------------------------------------------------------------------------
851

  
852
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
853
# generate HTML output.
854

  
855
GENERATE_HTML          = YES
856

  
857
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
858
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
859
# put in front of it. If left blank `html' will be used as the default path.
860

  
861
HTML_OUTPUT            = html
862

  
863
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
864
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
865
# doxygen will generate files with .html extension.
866

  
867
HTML_FILE_EXTENSION    = .html
868

  
869
# The HTML_HEADER tag can be used to specify a personal HTML header for
870
# each generated HTML page. If it is left blank doxygen will generate a
871
# standard header. Note that when using a custom header you are responsible
872
#  for the proper inclusion of any scripts and style sheets that doxygen
873
# needs, which is dependent on the configuration options used.
874
# It is advised to generate a default header using "doxygen -w html
875
# header.html footer.html stylesheet.css YourConfigFile" and then modify
876
# that header. Note that the header is subject to change so you typically
877
# have to redo this when upgrading to a newer version of doxygen or when
878
# changing the value of configuration settings such as GENERATE_TREEVIEW!
879

  
880
HTML_HEADER            =
881

  
882
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
883
# each generated HTML page. If it is left blank doxygen will generate a
884
# standard footer.
885

  
886
HTML_FOOTER            =
887

  
888
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
889
# style sheet that is used by each HTML page. It can be used to
890
# fine-tune the look of the HTML output. If the tag is left blank doxygen
891
# will generate a default style sheet. Note that doxygen will try to copy
892
# the style sheet file to the HTML output directory, so don't put your own
893
# style sheet in the HTML output directory as well, or it will be erased!
894

  
895
HTML_STYLESHEET        =
896

  
897
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
898
# other source files which should be copied to the HTML output directory. Note
899
# that these files will be copied to the base HTML output directory. Use the
900
# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
901
# files. In the HTML_STYLESHEET file, use the file name only. Also note that
902
# the files will be copied as-is; there are no commands or markers available.
903

  
904
HTML_EXTRA_FILES       =
905

  
906
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
907
# Doxygen will adjust the colors in the style sheet and background images
908
# according to this color. Hue is specified as an angle on a colorwheel,
909
# see http://en.wikipedia.org/wiki/Hue for more information.
910
# For instance the value 0 represents red, 60 is yellow, 120 is green,
911
# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
912
# The allowed range is 0 to 359.
913

  
914
HTML_COLORSTYLE_HUE    = 220
915

  
916
# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
917
# the colors in the HTML output. For a value of 0 the output will use
918
# grayscales only. A value of 255 will produce the most vivid colors.
919

  
920
HTML_COLORSTYLE_SAT    = 100
921

  
922
# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
923
# the luminance component of the colors in the HTML output. Values below
924
# 100 gradually make the output lighter, whereas values above 100 make
925
# the output darker. The value divided by 100 is the actual gamma applied,
926
# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
927
# and 100 does not change the gamma.
928

  
929
HTML_COLORSTYLE_GAMMA  = 80
930

  
931
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
932
# page will contain the date and time when the page was generated. Setting
933
# this to NO can help when comparing the output of multiple runs.
934

  
935
HTML_TIMESTAMP         = YES
936

  
937
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
938
# files or namespaces will be aligned in HTML using tables. If set to
939
# NO a bullet list will be used.
940

  
941
HTML_ALIGN_MEMBERS     = YES
942

  
943
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
944
# documentation will contain sections that can be hidden and shown after the
945
# page has loaded. For this to work a browser that supports
946
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
947
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
948

  
949
HTML_DYNAMIC_SECTIONS  = NO
950

  
951
# If the GENERATE_DOCSET tag is set to YES, additional index files
952
# will be generated that can be used as input for Apple's Xcode 3
953
# integrated development environment, introduced with OSX 10.5 (Leopard).
954
# To create a documentation set, doxygen will generate a Makefile in the
955
# HTML output directory. Running make will produce the docset in that
956
# directory and running "make install" will install the docset in
957
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
958
# it at startup.
959
# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
960
# for more information.
961

  
962
GENERATE_DOCSET        = NO
963

  
964
# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
965
# feed. A documentation feed provides an umbrella under which multiple
966
# documentation sets from a single provider (such as a company or product suite)
967
# can be grouped.
968

  
969
DOCSET_FEEDNAME        = "Doxygen generated docs"
970

  
971
# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
972
# should uniquely identify the documentation set bundle. This should be a
973
# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
974
# will append .docset to the name.
975

  
976
DOCSET_BUNDLE_ID       = org.doxygen.Project
977

  
978
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
979
# the documentation publisher. This should be a reverse domain-name style
980
# string, e.g. com.mycompany.MyDocSet.documentation.
981

  
982
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
983

  
984
# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
985

  
986
DOCSET_PUBLISHER_NAME  = Publisher
987

  
988
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
989
# will be generated that can be used as input for tools like the
990
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
991
# of the generated HTML documentation.
992

  
993
GENERATE_HTMLHELP      = NO
994

  
995
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
996
# be used to specify the file name of the resulting .chm file. You
997
# can add a path in front of the file if the result should not be
998
# written to the html output directory.
999

  
1000
CHM_FILE               =
1001

  
1002
# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
1003
# be used to specify the location (absolute path including file name) of
1004
# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
1005
# the HTML help compiler on the generated index.hhp.
1006

  
1007
HHC_LOCATION           =
1008

  
1009
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
1010
# controls if a separate .chi index file is generated (YES) or that
1011
# it should be included in the master .chm file (NO).
1012

  
1013
GENERATE_CHI           = NO
1014

  
1015
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
1016
# is used to encode HtmlHelp index (hhk), content (hhc) and project file
1017
# content.
1018

  
1019
CHM_INDEX_ENCODING     =
1020

  
1021
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
1022
# controls whether a binary table of contents is generated (YES) or a
1023
# normal table of contents (NO) in the .chm file.
1024

  
1025
BINARY_TOC             = NO
1026

  
1027
# The TOC_EXPAND flag can be set to YES to add extra items for group members
1028
# to the contents of the HTML help documentation and to the tree view.
1029

  
1030
TOC_EXPAND             = NO
1031

  
1032
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
1033
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
1034
# that can be used as input for Qt's qhelpgenerator to generate a
1035
# Qt Compressed Help (.qch) of the generated HTML documentation.
1036

  
1037
GENERATE_QHP           = NO
1038

  
1039
# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
1040
# be used to specify the file name of the resulting .qch file.
1041
# The path specified is relative to the HTML output folder.
1042

  
1043
QCH_FILE               =
1044

  
1045
# The QHP_NAMESPACE tag specifies the namespace to use when generating
1046
# Qt Help Project output. For more information please see
1047
# http://doc.trolltech.com/qthelpproject.html#namespace
1048

  
1049
QHP_NAMESPACE          = org.doxygen.Project
1050

  
1051
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
1052
# Qt Help Project output. For more information please see
1053
# http://doc.trolltech.com/qthelpproject.html#virtual-folders
1054

  
1055
QHP_VIRTUAL_FOLDER     = doc
1056

  
1057
# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
1058
# add. For more information please see
1059
# http://doc.trolltech.com/qthelpproject.html#custom-filters
1060

  
1061
QHP_CUST_FILTER_NAME   =
1062

  
1063
# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
1064
# custom filter to add. For more information please see
1065
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
1066
# Qt Help Project / Custom Filters</a>.
1067

  
1068
QHP_CUST_FILTER_ATTRS  =
1069

  
1070
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
1071
# project's
1072
# filter section matches.
1073
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
1074
# Qt Help Project / Filter Attributes</a>.
1075

  
1076
QHP_SECT_FILTER_ATTRS  =
1077

  
1078
# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
1079
# be used to specify the location of Qt's qhelpgenerator.
1080
# If non-empty doxygen will try to run qhelpgenerator on the generated
1081
# .qhp file.
1082

  
1083
QHG_LOCATION           =
1084

  
1085
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
1086
#  will be generated, which together with the HTML files, form an Eclipse help
1087
# plugin. To install this plugin and make it available under the help contents
1088
# menu in Eclipse, the contents of the directory containing the HTML and XML
1089
# files needs to be copied into the plugins directory of eclipse. The name of
1090
# the directory within the plugins directory should be the same as
1091
# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
1092
# the help appears.
1093

  
1094
GENERATE_ECLIPSEHELP   = NO
1095

  
1096
# A unique identifier for the eclipse help plugin. When installing the plugin
1097
# the directory name containing the HTML and XML files should also have
1098
# this name.
1099

  
1100
ECLIPSE_DOC_ID         = org.doxygen.Project
1101

  
1102
# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
1103
# at top of each HTML page. The value NO (the default) enables the index and
1104
# the value YES disables it. Since the tabs have the same information as the
1105
# navigation tree you can set this option to NO if you already set
1106
# GENERATE_TREEVIEW to YES.
1107

  
1108
DISABLE_INDEX          = NO
1109

  
1110
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1111
# structure should be generated to display hierarchical information.
1112
# If the tag value is set to YES, a side panel will be generated
1113
# containing a tree-like index structure (just like the one that
1114
# is generated for HTML Help). For this to work a browser that supports
1115
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
1116
# Windows users are probably better off using the HTML help feature.
1117
# Since the tree basically has the same information as the tab index you
1118
# could consider to set DISABLE_INDEX to NO when enabling this option.
1119

  
1120
GENERATE_TREEVIEW      = NO
1121

  
1122
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
1123
# (range [0,1..20]) that doxygen will group on one line in the generated HTML
1124
# documentation. Note that a value of 0 will completely suppress the enum
1125
# values from appearing in the overview section.
1126

  
1127
ENUM_VALUES_PER_LINE   = 4
1128

  
1129
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
1130
# and Class Hierarchy pages using a tree view instead of an ordered list.
1131

  
1132
USE_INLINE_TREES       = NO
1133

  
1134
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
1135
# used to set the initial width (in pixels) of the frame in which the tree
1136
# is shown.
1137

  
1138
TREEVIEW_WIDTH         = 250
1139

  
1140
# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
1141
# links to external symbols imported via tag files in a separate window.
1142

  
1143
EXT_LINKS_IN_WINDOW    = NO
1144

  
1145
# Use this tag to change the font size of Latex formulas included
1146
# as images in the HTML documentation. The default is 10. Note that
1147
# when you change the font size after a successful doxygen run you need
1148
# to manually remove any form_*.png images from the HTML output directory
1149
# to force them to be regenerated.
1150

  
1151
FORMULA_FONTSIZE       = 10
1152

  
1153
# Use the FORMULA_TRANPARENT tag to determine whether or not the images
1154
# generated for formulas are transparent PNGs. Transparent PNGs are
1155
# not supported properly for IE 6.0, but are supported on all modern browsers.
1156
# Note that when changing this option you need to delete any form_*.png files
1157
# in the HTML output before the changes have effect.
1158

  
1159
FORMULA_TRANSPARENT    = YES
1160

  
1161
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
1162
# (see http://www.mathjax.org) which uses client side Javascript for the
1163
# rendering instead of using prerendered bitmaps. Use this if you do not
1164
# have LaTeX installed or if you want to formulas look prettier in the HTML
1165
# output. When enabled you also need to install MathJax separately and
1166
# configure the path to it using the MATHJAX_RELPATH option.
1167

  
1168
USE_MATHJAX            = NO
1169

  
1170
# When MathJax is enabled you need to specify the location relative to the
1171
# HTML output directory using the MATHJAX_RELPATH option. The destination
1172
# directory should contain the MathJax.js script. For instance, if the mathjax
1173
# directory is located at the same level as the HTML output directory, then
1174
# MATHJAX_RELPATH should be ../mathjax. The default value points to the
1175
# mathjax.org site, so you can quickly see the result without installing
1176
# MathJax, but it is strongly recommended to install a local copy of MathJax
1177
# before deployment.
1178

  
1179
MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
1180

  
1181
# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
1182
# names that should be enabled during MathJax rendering.
1183

  
1184
MATHJAX_EXTENSIONS     =
1185

  
1186
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
1187
# for the HTML output. The underlying search engine uses javascript
1188
# and DHTML and should work on any modern browser. Note that when using
1189
# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
1190
# (GENERATE_DOCSET) there is already a search function so this one should
1191
# typically be disabled. For large projects the javascript based search engine
1192
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
1193

  
1194
SEARCHENGINE           = YES
1195

  
1196
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
1197
# implemented using a PHP enabled web server instead of at the web client
1198
# using Javascript. Doxygen will generate the search PHP script and index
1199
# file to put on the web server. The advantage of the server
1200
# based approach is that it scales better to large projects and allows
1201
# full text search. The disadvantages are that it is more difficult to setup
1202
# and does not have live searching capabilities.
1203

  
1204
SERVER_BASED_SEARCH    = NO
1205

  
1206
#---------------------------------------------------------------------------
1207
# configuration options related to the LaTeX output
1208
#---------------------------------------------------------------------------
1209

  
1210
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
1211
# generate Latex output.
1212

  
1213
GENERATE_LATEX         = YES
1214

  
1215
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
1216
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1217
# put in front of it. If left blank `latex' will be used as the default path.
1218

  
1219
LATEX_OUTPUT           = latex
1220

  
1221
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
1222
# invoked. If left blank `latex' will be used as the default command name.
1223
# Note that when enabling USE_PDFLATEX this option is only used for
1224
# generating bitmaps for formulas in the HTML output, but not in the
1225
# Makefile that is written to the output directory.
1226

  
1227
LATEX_CMD_NAME         = latex
1228

  
1229
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
1230
# generate index for LaTeX. If left blank `makeindex' will be used as the
1231
# default command name.
1232

  
1233
MAKEINDEX_CMD_NAME     = makeindex
1234

  
1235
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
1236
# LaTeX documents. This may be useful for small projects and may help to
1237
# save some trees in general.
1238

  
1239
COMPACT_LATEX          = NO
1240

  
1241
# The PAPER_TYPE tag can be used to set the paper type that is used
1242
# by the printer. Possible values are: a4, letter, legal and
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff