## 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

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