Tutorial yarp

From Asociación de Robótica UC3M
Revision as of 12:29, 10 November 2011 by Smorante (talk | contribs) (Created page with '=== Lección 1: "yarp server", "yarp write", y "yarp read" === consola1~$ yarp server consola2~$ yarp read /read consola3~$ yarp write /write /read Ahora escribimos (casi) cual…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Lección 1: "yarp server", "yarp write", y "yarp read"

consola1~$ yarp server consola2~$ yarp read /read consola3~$ yarp write /write /read

Ahora escribimos (casi) cualquier cosa en consola3 y vemos cómo aparece mágicamente en consola2.

Lección 2: "yarp read" con función de "quit"

Paso 1) Crea un archivo llamado "loquesea.cpp" con este código:

#include <yarp/os/Network.h>
#include <yarp/os/Port.h>
#include <yarp/os/Bottle.h>
#include <stdio.h>
using namespace yarp::os;
int main() {
   Network yarp;
   Bottle bot;
   Port input;
   input.open("/read");
   while(1) {
       input.read(bot);
       printf("Got message: %s\n", bot.toString().c_str());
       // Now exit the loop if first element (this is, 0), treated as a string, equals "quit":
       if(bot.get(0).asString() == "quit") break;
   }
   input.close();
   return 0;
}

Paso 2) Abre una consola (que llamaremos consola1) en donde tengas ese archivo. consola1~$ yarp cmake consola1~$ mkdir build; cd build; cmake ..; make consola2~$ yarp server consola1~$ ./yarpy

consola3~$ yarp write /write /read

Paso 3) Ahora escribimos (casi) cualquier cosa en consola3 y vemos cómo aparece mágicamente en consola1. Si escribimos "quit" en la consola3, vemos que el módulo de la consola1 se cierra, tal y como está explícito en el código que le hemos implementado.