docs: Doxygen documentation with module sections (device stack) - #22
Merged
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
@fileheader and a@defgroupmodule 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, …).@brief/@param/@returnon every public function, plus@briefand per-field / per-enumerator docs on all structs and enums.device.handutils.h(previously undocumented) are now fully covered; existing docs indll.h,data_storage.h, etc. were preserved and gap-filled.protocol.hmacro tables are split into@ingroupsub-modules (nested groups, chosen to avoid a doxygen "unbalanced grouping" quirk with macro-only member groups).@fileheaders plus one-line@briefon 59 file-local helper functions acrosssrc/.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