|
px-fwlib 0.10.0
Cross-platform embedded library and documentation for 8/16/32-bit microcontrollers generated with Doxygen 1.9.2
|
Doxygen is a tool that generates documentation from source code. Click here for the online Doxygen manual. The offline PDF manual is even better.
The comments embedded in the source code must be formatted in a special way, which may decrease readability for users not familiar with the special syntax. Markdown formatting is human readable and easy to grasp and has been included since Doxygen 1.8.0. Files with regular markdown syntax (as used by GitHub) are indicated with a *.md extension. Files using specialised Doxygen syntax are indicated with a *.dox extension.
The JavaDoc comment style was selected for this library. Although harder to type, an @ (at) character was selected to mark special commands instead of the \ (backslash) character to make these commands more prominent.
The Doxygen configuration file ("Doxyfile") can be found in the doc subdirectory. An excellent cross-platform Doxygen GUI frontend called doxywizard is included with the Doxygen package to manage settings and generate output. Each setting is meticulously documented in the wizard and configuration file.

Settings that differ from the default are highlighted in red.
This section provides a quick cheat sheet of the Doxygen documentation style selected for this library.
A brief comment block is marked with three slash characters (///). Example:
A brief comment after a member is indicated with three slash characters and a smaller than sign (///<). Example:
The start of a detailed description comment block is indicated with a slash and double star sequence (/**). To make the block stand out as a unit, the star is continued at the start of each line. The JAVADOC_AUTOBRIEF setting is set to YES in the Doxygen configuration file ("px-fwlib/doc/Doxyfile"). With this setting a detailed description block always starts with a brief description. Example:
All Doxygen special commands are prefixed with an @ (at) sign, for example @ingroup and @defgroup:
Here is a list of special commands that are used frequently in the library:
| Command | Description |
|---|---|
| @ref | Add a hyperlinked reference to a named section, page or anchor |
| @param | Document a function parameter |
| @retval | Document the function return value |
| @ingroup | Make an entity a member of a specific group |
| @defgroup | Define a group |
| @addtogroup | Add additional members to a group |
Here is an example that shows how a function, it's parameters and return value are documented:
C modules are documented in the H file using explicit grouping commands. The tree hierarchy is maintained in "px-fwlib/doc/module_tree.doc". Here is an example of the grouping at the start of the H file:
Observe that a @{ start marker and a @} end marker is used to indicate that all of the definitions, typedefs, variables and functions in between are part of that group.
Documentation pages are grouped into sections and sub sections by refering to a child page anywhere on the parent page using the @subpage command.
For example "px-fwlib/doc/5___best_practice.dox":