Doxygen

From PaparazziUAV
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Doxygen is a documentation system that also extracts information from the source files directly.

Daily generated docs for the development and stable branches can be found on docs.paparazziuav.org.

Generating Doxygen Code Documentation yourself

A way to look at the includes and dependencies is to use the graphs generated with doxygen. After installing Paparazzi, install Doxygen:

For Ubuntu precise a backport of doxygen_1.8.4 is available in the ppa:flixr/backports:

sudo add-apt-repository ppa:flixr/backports
sudo apt-get update
sudo apt-get install doxygen graphviz

run the documentation generation from the paparazzi/ directory (will generate module descriptions and run doxygen):

make dox

Prior to paparazzi_version v5.1_devel-234-gb1eb25e run doxygen manually from the paparazzi/ directory:

doxygen

Now Doxygen will have generated html documentation (open this with any web browser) in your paparazzi/docs/generated/html folder.

The main documentation page is:

paparazzi/doc/generated/html/index.html

This is a sample of a Doxygen Graph: Include dependency graph for autopilot.h

Doxygen Style

The Paparazzi Doxygen style guide is of course written in doxygen as well ;-)

Please document the code using doxygen comments instead of normal comments where appropriate.

See the Doxygen Manual for more details.

File

/**
 * @file subsystems/nav.h
 * Navigation library.
 *
 * This collection of macros and functions is used by the C code generated
 * from the XML flight plan.
 */

Function

/**
 * A brief one line description.
 *
 * Detailed description
 * May span multiple lines or paragraphs as needed
 *
 * @param  Description of method's or function's input parameter
 * @param  ...
 * @return Description of the return value
 */
int function(int parameter)
{
    printf("Parameter: %d", parameter);

    return 0;
}