# Doxygen configuration for H753_CPP_Device_Electronic_Signature

PROJECT_NAME           = "H753_CPP_Device_Electronic_Signature"
PROJECT_NUMBER         = 1.0
PROJECT_BRIEF          = "STM32H753 96-bit device unique ID read and print tutorial"
OUTPUT_DIRECTORY       = docs

# Custom tag so source files can self-identify their project folder name
# via @project, rendered as its own labeled section rather than buried in
# @brief text.
ALIASES                = project="@par Project:"

INPUT                  = project_mainpage.dox \
                         README.md \
                         Core/Inc \
                         Core/Src
FILE_PATTERNS          = *.h *.c *.hpp *.cpp *.dox *.md
RECURSIVE              = YES

# README.md is included as a browsable page (build instructions, hardware
# pinout table, debug output sample) -- deliberately NOT set as
# USE_MDFILE_AS_MAINPAGE, since project_mainpage.dox is the curated,
# Doxygen-reader-specific mainpage and the two would conflict (only one
# @mainpage is allowed).

# Skip CubeMX/ST boilerplate: its own documentation conventions differ from ours.
EXCLUDE                = Core/Src/syscalls.c \
                         Core/Src/sysmem.c \
                         Core/Src/system_stm32h7xx.c \
                         Core/Src/stm32h7xx_hal_msp.c \
                         Core/Src/stm32h7xx_it.c \
                         Core/Inc/stm32h7xx_hal_conf.h \
                         Core/Inc/stm32h7xx_it.h

# Revisit once real code exists: this project may end up plain-C-in-a-C++
# project (no dedicated driver class needed for something this small), in
# which case OPTIMIZE_OUTPUT_FOR_C should be turned on -- unlike the QSPI/SPI
# W25Q projects, which have genuine C++ classes worth documenting as classes.

EXTRACT_ALL            = NO
EXTRACT_STATIC         = YES
HIDE_UNDOC_MEMBERS     = NO
HIDE_UNDOC_CLASSES     = NO
WARN_IF_UNDOCUMENTED   = YES
WARN_IF_DOC_ERROR      = YES
WARN_NO_PARAMDOC       = YES

GENERATE_HTML          = YES
GENERATE_LATEX         = NO
FULL_PATH_NAMES        = NO
STRIP_FROM_PATH        = .
QUIET                  = NO

# Reader navigation and clickable source for the tutorial.
GENERATE_TREEVIEW      = YES
SOURCE_BROWSER         = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION    = YES

# Optional: call / caller graphs. Requires Graphviz (the 'dot' tool) installed.
# HAVE_DOT             = YES
# CALL_GRAPH           = YES
# CALLER_GRAPH         = YES
