Difference between revisions of "Doxygen"

From PaparazziUAV
Jump to navigation Jump to search
 
 
(7 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].'''


== Doxygen Comments ==
== 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:
[[Image:Autopilot_8h_incl.png|Include dependency graph for autopilot.h]]
 
== Doxygen Style ==
 
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.
Line 11: Line 39:
=== File ===
=== File ===


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


=== Function ===
=== Function ===
  /**
  /**
   * \brief <A short one line description>
   * A brief one line description.
   *
   *
   * <Longer description>
   * Detailed description
   * <May span multiple lines or paragraphs as needed>
   * May span multiple lines or paragraphs as needed
   *
   *
   * \param  Description of method's or function's input parameter
   * @param  Description of method's or function's input parameter
   * \param  ...
   * @param  ...
   * \return Description of the return value
   * @return Description of the return value
   */
   */
  int function(int parameter)
  int function(int parameter)
Line 36: Line 65:
  }
  }


== 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:
sudo apt-get install doxygen graphviz
run the generation tool from the paparazzi/ directory:
doxygen
Now Doxygen will have generated html documentation(open this with any web browser) in your paparazzi/html/docs folder.
To look at a list of all of the files used by the airborne software:
paparazzi/html/docs/files.html
The main_ap.c will also interest you.
paparazzi/html/docs/main__ap_8c.html
This is a sample of a Doxygen Graph:
[[Image:Autopilot_8h_incl.png|Include dependency graph for autopilot.h]]


[[Category:Software]] [[Category:Developer_Documentation]]
[[Category:Software]] [[Category:Developer_Documentation]]

Latest revision as of 10: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;
}