# Doxygen configuration for H753_CPP_W25Q_QSPI_Flash_Read_Write_01

PROJECT_NAME           = "H753_CPP_W25Q_QSPI_Flash_Read_Write_01"
PROJECT_NUMBER         = 1.0
PROJECT_BRIEF          = "STM32H753 W25Q QSPI flash (Adafruit 5632/5633/5634) read/write 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 \
                         W25Q
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

# NOT setting OPTIMIZE_OUTPUT_FOR_C here, unlike the BMP390/MPL3115A2
# Doxyfiles this is adapted from: Doxygen's own docs describe that flag as
# for "C sources only" projects, and this one has genuine C++ classes
# (W25QFlashQSPI, W25QValidation, with constructors and member functions)
# that need documenting as classes, not flattened into plain C-style
# functions.

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
