Difference between revisions of "Doxygen"

From PaparazziUAV
Jump to navigation Jump to search
(new url for github pages is paparazzi.github.io)
(add info on doxygen backport for precise and make dox)
Line 1: Line 1:
[http://www.doxygen.org Doxygen] is a documentation system that also extracts information from the source files directly.
[http://www.doxygen.org 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 [http://paparazzi.github.io/docs paparazzi.github.io/docs].
'''Daily generated docs for the development and stable branches can be found on [http://paparazzi.github.io/docs paparazzi.github.io/docs].'''


== Generating Doxygen Code Documentation yourself ==
== 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:
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
  sudo apt-get install doxygen graphviz


run the generation tool from the paparazzi/ directory:
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
  doxygen


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


To look at a list of all of the files used by the airborne software:
The main documentation page is:
  paparazzi/doc/html/docs/files.html
  paparazzi/doc/generated/html/index.html
The main_ap.c will also interest you.
paparazzi/doc/html/docs/main__ap_8c.html


This is a sample of a Doxygen Graph:
This is a sample of a Doxygen Graph:

Revision as of 08:40, 30 August 2013

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 paparazzi.github.io/docs.

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;
}