iCub-main
Loading...
Searching...
No Matches
Module Documentation

This is a template you can use to document your module.

Replace "exampleModule" with the name of your module.

Look here to see the documentation produced by this code once it is parsed by Doxygen: exampleModule \endref

/**
*
@ingroup icub_module
\defgroup icub_yourModule yourModule

Place here a short description of the module. This will
appear in the list of the modules.

\section intro_sec Description
This module is not implemented, it is only a template for writing
the documentation of modules.

Place here a description of your module. You might want to use a list as in:

The module does:
-   this
-   that
-   ...

You might find it convenient to include an image:
\image html EXAMPLE.jpg
\image latex EXAMPLE.eps "MODULENAME running on Linux" width=10cm

\section lib_sec Libraries
List here dependencies. Often these are just YARP libraries.

\section parameters_sec Parameters
Provide a comprehensive list of the parameters you can pass to the module. For example:

--file mymodule.ini: configuration file to use
 
\section portsa_sec Ports Accessed
This is important. List here ports accessed by the module. This is useful to build a list of dependencies between modules.

\section portsc_sec Ports Created
Provide the list of ports created by the module. Separate them in input and output ports, specify expected data format.

Example:

Output ports:
- /mymodule/head/out: streams out a yarp::sig::vector which contains the commanded velocity of the head, the size of the vector matches the number of joints of the head
- /mymodule/right_arm/out: ...

Input ports:
- /mymodule/rpc:i: input ports to control the module, accept a yarp::os::Bottle which contains commands to start/stop/quit the module.
    -   [start]: start the module
    -   [stop]: stop the module (resume with start)
    -   [quit]: quit the module (exit)

\section in_files_sec Input Data Files
If your module expect data from a file, say so.

\section out_data_sec Output Data Files
If your module writes data to a file, say so.
 
\section conf_file_sec Configuration Files
If parameters to your module can be passed through a txt file, describe it here. 

For example:
The module requires a description of the robot through the parameter 
--file.

The file consists in a few sections:
\code
name        myModule
rate        20
\endcode

\e name determines the name of the module

\e rate specifies the rate (ms) of the thread

...

\section tested_os_sec Tested OS
Specify the operating systems on which the module was tested
Example:

Linux and Windows.

\section example_sec Example Instantiation of the Module
Provide here a typical example of use of your module.
Example:

myModule --from module.ini

\author your name

Copyright (C) 2008 RobotCub Consortium

CopyPolicy: Released under the terms of the GNU GPL v2.0.

This file can be edited at src/myModule/main.cpp.
**/

A few notes about the content of the Doxygen documentation:

  • Please describe the command line options carefully. It is important to specify how to run the module.
  • Please use Doxygen throughout the code. Public classes should be documented. Classes for internal usage (of the module) would be a plus.
  • Please use namespaces (see existing iCub code): e.g. iCub::contrib.
  • Your images (JPEG and EPS, see template) should be placed in iCub/src/doc.
  • Please list all input and output ports with description of the data types. For complex protocols and/or message definition you can resort to additional pages (they can be also placed in /iCub/src/doc and referenced through \ref from the module documentation page).
  • Please add links when appropriate by using \ref PAGENAME.
  • Examples of existing pages can be found in /iCub/src/doc.