Main / Doxygen
Please refer to this style guide for using Doxygen file and function header tags I prefer to use the @tag style. Here is a list of available tags (i.e. special commands): http://www.doxygen.nl/manual/commands.html. Commonly Used Tags
We could also make use of various attention-getting or listing tags in order to notate important work items that need to be handled, such as @bug and @todo. SamplesPlace descriptive headers above each .c file function. New code files you create will need a file header as well. Sample function header: /* @brief Sets a PMIC register to the given value * * Sets a PMIC control register value. This is a blocking * call in which SPI transaction completion is awaited. * * @param addr :register address * @param data :byte payload that is to be sent */ Sample file headers: /** * @file file.h * @brief SPI module I/O map * * @version <versionnum if applicable> * @copyright Copyright (c) 2019 My Company. All rights reserved. * * * IMPORTANT NOTICE * * * <legalese text here> * */ /** * @file <e.g. filename.c> * * @brief <add short description> * * @author <e.g. Bob or initials bbb> * * @date <add creation date or list of modification dates, no format specified> * @date <may use multiple date tags if desired> * * @version <version number if relevant> * * @details <detailed description, log changes, etc> * Version Date Author Details * <add lines as necessary> * * @copyright Copyright (c) 2020 My Company, all rights reserved. * * @remark <if appropriate, include clarifying rights statements or instructions * for partners/customers receiving source, etc.> * */ You may want to sometimes comment a variable for Doxygen, and put it AFTER the declaration. This is done one of two ways: int var; /**< Brief description after the member */ int var; //!< Brief description after the member Running Doxygen IndependentlyInstall Doxygen in your development environment. On Ubuntu, this can be done with sudo apt install doxygen. Doxygen uses a configuration file to know how to build the documentation set. A default version of this file can be generated with doxygen -g <filename>. Edit this Doxyfile to identify the source path, document output path and other options to set up the file generation correctly. Recommended minimum set of options to review:
Run the document generation using doxygen Doxyfile and the documentation will go to the location specified with OUTPUT_DIRECTORY. Adding Doxygen to SconsTop Level # Give user the option to generate Doxygen files # Always builds if option is selected AddOption('--dox', dest='dox', action='store_true', default=False, help='If given, generate Doxygen files') if GetOption('dox'): print '## DOXYGEN IS ON ##' else: print '## DOXYGEN IS OFF ##' Project Level # LOCATIONS PROJECT_DIR = Dir(".") SOURCE_DIR = PROJECT_DIR.Dir("src") OUTPUT_DIR = PROJECT_DIR.Dir("output") VARIANT_DIR = OUTPUT_DIR.Dir("build") # DOXYGEN DOXYGEN_DIR = OUTPUT_DIR.Dir("doxygen") DOXYFILE_NAME = PROJECT_DIR.File("Doxyfile") """ Perform Doxygen doc generation with --dox command option """ if GetOption('dox'): doxyfile_builder = Builder(action = 'doxygen $SOURCE' ) env.Append(BUILDERS = {'Doxygen' : doxyfile_builder}) env.Doxygen(DOXYGEN_DIR, DOXYFILE_NAME) # Always builds if --dox is given env.AlwaysBuild(DOXYGEN_DIR) # Always cleans if -c regardless of --dox command line option env.Clean(DOXYGEN_DIR, DOXYGEN_DIR) |