welcome: please sign in

No pages like "QuickStart"!

Clear message
location: QuickStart

Requirements:

LAAS/OpenRobots tools

External tools

These tools are generally available on most systems. If not, download them from the indicated web sites.

User environment:

Three environment variables need to be set in order to use the OpenRobots tools, when they are installed in a specific directory (ie not directly in /usr).

For instance at LAAS we install all the softwares in /usr/local/openrobots. Is is this value, ${prefix}, which is given to the option --prefix for GNU configure script. By default, the path for the architecture-dependent files, ${exec_prefix}, is equal to ${prefix}. However, this path can also be explicitely specified using the option --exec-prefix (eg, ${prefix}/i386-linux). It can be usefull if you compile for different architectures.

Quick start guide

For a new module

  1. write module.gen, moduleConst.h, moduleStruct.h

  2. generate empty module + tcl client with genom -i -t module.gen

  3. if your module foo depends on another module bar:

    • use -Pbar on the genom command line. One -P for each dependency

    • or better, you can use the require directive in the .gen file.

  4. create a build dir and cd to it
     <path_to_src_dir>/configure --prefix=/home/<me>/openrobots/installed
     make
     make install

* This prefix means simply that your executable files will be placed there prefix/bin

Adding code files

  1. You put your files in codels/
  2. Edit the codels/Makefile.in ,adding at codels_src= the name of these files.

Modyfying a module

from the build/ directory of the module.

For an existing module, just checked out of git

Running the module & a simple client

 h2 init
 <module> -b
 <module>Test 1

Running the module & tcl client

 h2 init
 tclserv
 <module> -b
 eltclsh -package genom
 connect localhost
 lm <module>
 mboxInit

Now it's ready to send requests: ::<module>::....

End:

In eltclsh:

 kill <module>
 exit

You can also use the die command, which kills tclserv and returns from the tcl interpreter

 h2 end