Difference between revisions of "Doxygen"
m  | 
				m (→Doxygen Style)  | 
				||
| (3 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.  | ||
Daily generated docs for the development and stable branches can be found on [http://  | '''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   | 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  | 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/  |   paparazzi/doc/generated/html/index.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://  | 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:
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;
}