# Doxygen configuration for H753_CPP_W25Q_SPI_Flash_Read_Write_01

PROJECT_NAME           = "H753_CPP_W25Q_SPI_Flash_Read_Write_01"
PROJECT_NUMBER         = 1.0
PROJECT_BRIEF          = "STM32H753 W25Q SPI flash (Adafruit 5632/5633/5634) read/write tutorial"
OUTPUT_DIRECTORY       = docs

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

# Add README.md to INPUT and set USE_MDFILE_AS_MAINPAGE = README.md once one
# exists for this project -- neither exists yet (2026-08-30).

# Skip CubeMX/ST boilerplate and the frozen pre-refactor driver snapshots:
# their own documentation conventions differ from ours (or, for the
# snapshots, aren't meant to be documented at all).
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 \
                         W25Q/W25QFlashSPI.hpp.bak-2026-08-30-pre-status-refactor \
                         W25Q/W25QFlashSPI.cpp.bak-2026-08-30-pre-status-refactor

# 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
# (W25QFlashSPI, 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
