Difference between revisions of "Doxygen"

From PaparazziUAV
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
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.


Current documentation generated from the master branch can be found under [http://paparazzi.github.com/docs paparazzi.github.com/docs].
'''Daily generated docs for the development and stable branches can be found on [http://docs.paparazziuav.org docs.paparazziuav.org].'''


== 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:
Line 25: Line 31:
== Doxygen Style ==
== Doxygen Style ==


The [http://paparazzi.github.com/docs/styledoxygen.html Paparazzi Doxygen style guide] is of course written in doxygen as well ;-)
The [http://docs.paparazziuav.org/latest/styledoxygen.html Paparazzi Doxygen style guide] is of course written in doxygen as well ;-)


Please [http://www.stack.nl/~dimitri/doxygen/docblocks.html document the code using doxygen comments] instead of normal comments where appropriate.
Please [http://www.stack.nl/~dimitri/doxygen/docblocks.html document the code using doxygen comments] instead of normal comments where appropriate.

Latest revision as of 09:52, 22 November 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 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;
}