Skip to content

docs: Doxygen documentation with module sections (device stack) - #22

Merged
w1ne merged 3 commits into
developfrom
claude/iolinki-doxygen-docs-qve91t
Jul 5, 2026
Merged

docs: Doxygen documentation with module sections (device stack)#22
w1ne merged 3 commits into
developfrom
claude/iolinki-doxygen-docs-qve91t

Conversation

@w1ne

@w1ne w1ne commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

Makes the device stack readable by adding proper Doxygen documentation with browsable module sections. Documentation-only change — no code was modified (verified by diffing macro name/value tokens).

What changed

  • All 19 public headers now have a @file header and a @defgroup module wrapper, so Doxygen's Modules page becomes a table of contents — one module per subsystem (DLL, PHY, ISDU, params, Data Storage, events, protocol, platform, core, config, CRC, …).
  • Full API coverage: @brief/@param/@return on every public function, plus @brief and per-field / per-enumerator docs on all structs and enums. device.h and utils.h (previously undocumented) are now fully covered; existing docs in dll.h, data_storage.h, etc. were preserved and gap-filled.
  • protocol.h macro tables are split into @ingroup sub-modules (nested groups, chosen to avoid a doxygen "unbalanced grouping" quirk with macro-only member groups).
  • Source files: @file headers plus one-line @brief on 59 file-local helper functions across src/.
  • Doxyfile: recursive input, README as the main page, static-function extraction, treeview navigation.

Verification

Ran doxygen 1.9.8: exit 0, 0 "undocumented" warnings, 0 grouping warnings. Modules and sub-sections render correctly. Remaining warnings are pre-existing README.md markdown cross-links, unrelated to the code docs. Generated HTML is gitignored, so this diff is documentation source only.

🤖 Generated with Claude Code

https://claude.ai/code/session_011HtTjyNXc88LgCQvYkbzXq


Generated by Claude Code

claude added 3 commits July 5, 2026 01:34
Add @file headers and @defgroup module wrappers to all 19 public headers so
Doxygen's Modules page becomes a browsable table of contents, one module per
subsystem (DLL, PHY, ISDU, params, data storage, events, protocol, etc.).
Fill in full @brief/@param/@return coverage on every public function plus
@brief and per-field/-enumerator docs on all structs and enums; device.h and
utils.h had no Doxygen at all. protocol.h's macro tables are split into
@InGroup sub-modules. Add @file headers and one-line briefs for file-local
helpers across the source files. Tune the Doxyfile (recursive input, README
main page, static extraction, treeview navigation).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011HtTjyNXc88LgCQvYkbzXq
Align the newly added trailing /**< */ member comments per .clang-format so
the docker-validation clang-format check passes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011HtTjyNXc88LgCQvYkbzXq
check_quality.sh fails on any doxygen warning. Using README.md as the main
page pulled its markdown cross-links into doxygen, producing unresolved \ref
warnings. Drop the main-page mapping; the @defgroup module sections already
provide navigation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011HtTjyNXc88LgCQvYkbzXq
@w1ne
w1ne merged commit f5f9bd0 into develop Jul 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants