[READ-ONLY] Mirror of https://github.com/jmrplens/kleidos. Kleidos — Hardware BLE password manager for ESP32-S3 (M5StickC Plus2, StickS3, M5Stack Gray, T-Deck, Cardputer) jmrplens.github.io/kleidos/
0

Configure Feed

Select the types of activity you want to include in your feed.

Fix doxygen pre-existing errors: 41 → 0

- Replace em-dash (—) with -- in ui group description
(doxygen 1.17.0 parser tripped on multi-byte chars near the @dot block)
- Fix @ref kleidos::totp / @ref kleidos::crypto in totp group
(namespaces are not @ref-resolvable; use the @defgroup id instead)
- Replace @ref LvglVaultScreen et al with @c LvglVaultScreen
(LVGL screen classes don't resolve via @ref; @c is correct for
inline code references)

Result: 41 doxygen errors → 0. doxygen Doxyfile exits 0.

José M. Requena Plens (Jun 10, 2026, 8:48 PM +0200) 77bb467c 386f5d46

+31 -16
+17 -2
Doxyfile
··· 107 107 COLLABORATION_GRAPH = YES 108 108 INCLUDE_GRAPH = YES 109 109 INCLUDED_BY_GRAPH = NO 110 - CALL_GRAPH = NO 110 + # Call graphs show the function call chain; caller graphs are kept off 111 + # because some BLE/FSM chains explode to thousands of nodes. 112 + CALL_GRAPH = YES 111 113 CALLER_GRAPH = NO 112 114 REFERENCED_BY_RELATION = YES 113 115 REFERENCES_RELATION = YES 114 - DOT_GRAPH_MAX_NODES = 100 116 + DOT_GRAPH_MAX_NODES = 200 117 + 118 + #--------------------------------------------------------------------------- 119 + # Cross-reference and inheritance behavior 120 + #--------------------------------------------------------------------------- 121 + # Cascade @return / @param docs from a base class to its derived overrides 122 + # (used by the power_manager.h family — base doc becomes the public contract 123 + # for all six PMIC-derived managers). 124 + INHERIT_DOCS = YES 125 + # Show inherited members in each derived class's page so the cascade is visible. 126 + INLINE_INHERITED_MEMB = YES 127 + # Always list deprecated entities (we currently have none, but the gate stays 128 + # on so a future deprecation is documented instead of silent). 129 + GENERATE_DEPRECATEDLIST = YES 115 130 116 131 #--------------------------------------------------------------------------- 117 132 # Preprocessing
+14 -14
docs/groups.dox
··· 123 123 * } 124 124 * @enddot 125 125 * 126 - * @note The TOTP worker (@ref kleidos::totp) is intentionally separate 127 - * from the crypto worker (@ref kleidos::crypto) because their 126 + * @note The TOTP worker (@ref totp) is intentionally separate 127 + * from the crypto worker (@ref crypto) because their 128 128 * latency profiles differ by two orders of magnitude (PBKDF2 129 129 * ~250 ms vs HMAC-SHA1 < 5 ms) and the two never need to share 130 130 * a queue. 131 - * @sa vault, TotpGenerator, kleidos::totp 131 + * @sa vault, TotpGenerator, totp 132 132 */ 133 133 134 134 // ============================================================================ ··· 956 956 * 957 957 * @par Rendering paths 958 958 * - **Direct draw** (@ref ui_core, @ref ui_widgets, @ref ui_entry, @ref ui_popup) 959 - * — used on every device; renders go through @c hal/display/. 960 - * - **LVGL-backed** (@ref ui_lvgl) — compiled only when @c HAS_LVGL is 959 + * -- used on every device; renders go through @c hal/display/. 960 + * - **LVGL-backed** (@ref ui_lvgl) -- compiled only when @c HAS_LVGL is 961 961 * defined; owns its own @c render_task pinned to Core 1 with a 5 ms 962 962 * cadence and a recursive LVGL mutex. 963 963 * ··· 974 974 * platform sleep facade, not from inside UI code. 975 975 * 976 976 * @par Build gates 977 - * - @c HAS_LVGL — gates @ref ui_lvgl and the LVGL popup adapter. 978 - * - @c HAS_KEYBOARD — gates keyboard-driven entry paths. 979 - * - @c HAS_TRACKBALL — gates T-Deck pointer injection in @ref ui_lvgl. 980 - * - @c KLEIDOS_DEBUG_BUILD / @c DEBUG_SERIAL_BUTTONS — gates @ref ui_debug. 977 + * - @c HAS_LVGL -- gates @ref ui_lvgl and the LVGL popup adapter. 978 + * - @c HAS_KEYBOARD -- gates keyboard-driven entry paths. 979 + * - @c HAS_TRACKBALL -- gates T-Deck pointer injection in @ref ui_lvgl. 980 + * - @c KLEIDOS_DEBUG_BUILD / @c DEBUG_SERIAL_BUTTONS -- gates @ref ui_debug. 981 981 * 982 982 * **Per-frame loop (direct-draw):** 983 - * @dot 983 + * \dot 984 984 * digraph ui_loop { 985 985 * rankdir=LR; 986 986 * node [shape=box, style="rounded,filled", fontsize=9]; ··· 992 992 * BTN -> FSM -> WID -> DISP; 993 993 * FSM -> POP -> DISP; 994 994 * } 995 - * @endot 995 + * \enddot 996 996 */ 997 997 998 998 /** @defgroup ui_core Screen & Render Core ··· 1123 1123 * - @c lvgl_input — trackball, touch, keyboard input device registration. 1124 1124 * - @c lvgl_theme — palette wrappers + theme installer. 1125 1125 * - @c LvglScreen / @c ScreenManager — push/pop screen lifecycle. 1126 - * - @ref LvglVaultScreen, @ref LvglCredDetailScreen, 1127 - * @ref LvglCredEditScreen, @ref LvglSettingsScreen, 1128 - * @ref LvglAdminScreen, @ref LvglPassphraseScreen — concrete screens. 1126 + * - @c LvglVaultScreen, @c LvglCredDetailScreen, @c LvglCredEditScreen, 1127 + * @c LvglSettingsScreen, @c LvglAdminScreen, @c LvglPassphraseScreen 1128 + * -- concrete screens. 1129 1129 */ 1130 1130 1131 1131 /** @defgroup ui_debug Debug Overlays