Index: /trunk/lib/FlairCore/src/Object.cpp
===================================================================
--- /trunk/lib/FlairCore/src/Object.cpp	(revision 293)
+++ /trunk/lib/FlairCore/src/Object.cpp	(revision 294)
@@ -91,9 +91,11 @@
   if (rt_task_self() != NULL) {
     rt_fprintf(stderr, "\033[%dm", color);
-    if (line) {
-      rt_fprintf(stderr, "%s - line %d, %s: ", function, line,
-                 pimpl_->name.c_str());
-    } else {
-      rt_fprintf(stderr, "%s, %s: ", function, pimpl_->name.c_str());
+    if(function) {
+      if (line) {
+        rt_fprintf(stderr, "%s - line %d, %s: ", function, line,
+                   pimpl_->name.c_str());
+      } else {
+        rt_fprintf(stderr, "%s, %s: ", function, pimpl_->name.c_str());
+      }
     }
     rt_vfprintf(stderr, format, *args);
@@ -103,9 +105,11 @@
   {
     fprintf(stderr, "\033[%dm", color);
-    if (line) {
-      fprintf(stderr, "%s - line %d, %s: ", function, line,
-              pimpl_->name.c_str());
-    } else {
-      fprintf(stderr, "%s, %s: ", function, pimpl_->name.c_str());
+    if(function) {
+      if (line) {
+        fprintf(stderr, "%s - line %d, %s: ", function, line,
+                pimpl_->name.c_str());
+      } else {
+        fprintf(stderr, "%s, %s: ", function, pimpl_->name.c_str());
+      }
     }
     vfprintf(stderr, format, *args);
Index: /trunk/lib/FlairCore/src/Object.h
===================================================================
--- /trunk/lib/FlairCore/src/Object.h	(revision 293)
+++ /trunk/lib/FlairCore/src/Object.h	(revision 294)
@@ -18,7 +18,13 @@
 #include <stdarg.h>
 
+//orange printf, with function call and object name display
 #define Warn(...) Warning(__PRETTY_FUNCTION__, __VA_ARGS__)
+//red printf, with function call and object name display
 #define Err(...) Error(__PRETTY_FUNCTION__, __VA_ARGS__)
+//green printf, with function call and object name display
 #define Info(...) Information(__PRETTY_FUNCTION__, __LINE__, __VA_ARGS__)
+
+//orange printf
+#define SimpleWarn(...) Warning(NULL, __VA_ARGS__)
 
 #define TIME_INFINITE 0
@@ -140,5 +146,5 @@
   * Green colored Printf(). \n
   * Note that it is better to call Info macro, which automatically fills
-  *function parameter.
+  * calling function parameter.
   *
   * \param function name of calling function
@@ -154,5 +160,5 @@
   * Orange colored Printf(). \n
   * Note that it is better to call Warn macro, which automatically fills
-  *function parameter.
+  * calling function parameter.
   *
   * \param function name of calling function
@@ -166,5 +172,5 @@
   * Red colored Printf(). \n
   * Note that it is better to call Err macro, which automatically fills function
-  *parameter. \n
+  * calling parameter. \n
   * After calling this method, ErrorOccured() will always return true.
   *
Index: /trunk/lib/FlairCore/src/Unix_SerialPort.h
===================================================================
--- /trunk/lib/FlairCore/src/Unix_SerialPort.h	(revision 293)
+++ /trunk/lib/FlairCore/src/Unix_SerialPort.h	(revision 294)
@@ -35,5 +35,5 @@
   * \param parent parent
   * \param name name
-  * \param device serial device (ex rtser1)
+  * \param device serial device (ex /dev/ttyS0)
   */
   Unix_SerialPort(const Object *parent, std::string port_name,
Index: /trunk/lib/FlairSensorActuator/src/VrpnClient.cpp
===================================================================
--- /trunk/lib/FlairSensorActuator/src/VrpnClient.cpp	(revision 293)
+++ /trunk/lib/FlairSensorActuator/src/VrpnClient.cpp	(revision 294)
@@ -39,9 +39,10 @@
     : Thread(getFrameworkManager(), name, priority) {
 	if (singleton != NULL) {
-    Err("VrpnClient must be instanced only one time\n");
-    return;
+    SimpleWarn("VrpnClient should be instanced only one time!\n");
+    SimpleWarn("Next calls to GetVrpnClient() will return the first created VrpnClient (%s)\n",singleton->ObjectName().c_str());
+  } else {
+    singleton = this;
   }
 
-  singleton = this;
   pimpl_ = new VrpnClient_impl(this, name, address);
 }
@@ -52,9 +53,10 @@
     : Thread(getFrameworkManager(), name, priority) {
 	if (singleton != NULL) {
-    Err("VrpnClient must be instanced only one time\n");
-    return;
+    SimpleWarn("VrpnClient should be instanced only one time!\n");
+    SimpleWarn("Next calls to GetVrpnClient() will return the first created VrpnClient (%s)\n",singleton->ObjectName().c_str());
+  } else {
+    singleton = this;
   }
-
-  singleton = this;
+  
   pimpl_ = new VrpnClient_impl(this, name, serialport, us_period);
 }
Index: /trunk/lib/FlairSensorActuator/src/VrpnClient_impl.cpp
===================================================================
--- /trunk/lib/FlairSensorActuator/src/VrpnClient_impl.cpp	(revision 293)
+++ /trunk/lib/FlairSensorActuator/src/VrpnClient_impl.cpp	(revision 294)
@@ -41,4 +41,5 @@
                                  std::string address) {
   this->self = self;
+  this->address = address;
   serialport = NULL;
 	isConnected=false;
@@ -55,4 +56,6 @@
   rotation_1 = new OneAxisRotation(setup_tab->NewRow(), "post rotation 1",OneAxisRotation::PreRotation);
   rotation_2 = new OneAxisRotation(setup_tab->NewRow(), "post rotation 2",OneAxisRotation::PreRotation);
+  
+  Printf("Connecting to VRPN server on %s\n",address.c_str());
 }
 
@@ -75,4 +78,6 @@
   rotation_1 = new OneAxisRotation(setup_tab->NewRow(), "post rotation 1",OneAxisRotation::PreRotation);
   rotation_2 = new OneAxisRotation(setup_tab->NewRow(), "post rotation 2",OneAxisRotation::PreRotation);
+  
+  Printf("Connecting to VRPN server on %s\n",serialport->ObjectName().c_str());
 }
 
@@ -172,5 +177,5 @@
         // self->Warn("erreur rt_dev_read (%s)\n",strerror(-read));
       } else if (read != sizeof(response)) {
-        self->Warn("erreur rt_dev_read %i/%i\n", read, sizeof(response));
+        self->Warn("serial read error %i/%i\n", read, sizeof(response));
       } else {
         // for(ssize_t i=0;i<read;i++) printf("%x ",response[i]);
@@ -209,9 +214,9 @@
         if(connection->connected()==vrpn_true && !isConnected) {
             isConnected=true;
-            Printf("VRPN connected\n");
+            Printf("VRPN connected to %s\n",address.c_str());
         }
         if(connection->connected()==vrpn_false && isConnected) {
             isConnected=false;
-            Printf("VRPN disconnected\n");
+            Printf("VRPN disconnected to %s\n",address.c_str());
         }
         //timeout in mainloop is not well handled if not connected...
@@ -219,5 +224,5 @@
             //this is when trackables callbacks are called:
             if(connection->mainloop(&timeout)!=0) {
-                self->Warn("connection dropped\n");
+                self->Warn("connection dropped from\n",address.c_str());
             }
             //printf("%lld\n",GetTime()/(1000*1000));
Index: /trunk/lib/FlairSensorActuator/src/unexported/VrpnClient_impl.h
===================================================================
--- /trunk/lib/FlairSensorActuator/src/unexported/VrpnClient_impl.h	(revision 293)
+++ /trunk/lib/FlairSensorActuator/src/unexported/VrpnClient_impl.h	(revision 294)
@@ -77,4 +77,5 @@
   flair::core::SerialPort *serialport;
 	bool isConnected;//only for ip connection, not for xbee
+  std::string address;
 };
 
Index: /trunk/lib/FlairSimulator/src/Gui_impl.cpp
===================================================================
--- /trunk/lib/FlairSimulator/src/Gui_impl.cpp	(revision 293)
+++ /trunk/lib/FlairSimulator/src/Gui_impl.cpp	(revision 294)
@@ -378,5 +378,5 @@
   std::ostringstream text;
 
-  text << "Cam: " << cameras.at(cam_id)->getName().c_str()
+  text << getSimulator()->ObjectName().c_str()  << ", active cam: " << cameras.at(cam_id)->getName().c_str()
      << ", FPS: " << fps;
 
Index: /trunk/lib/FlairSimulator/src/Simulator_impl.cpp
===================================================================
--- /trunk/lib/FlairSimulator/src/Simulator_impl.cpp	(revision 293)
+++ /trunk/lib/FlairSimulator/src/Simulator_impl.cpp	(revision 294)
@@ -36,4 +36,5 @@
   this->optitrack_mstime = optitrack_mstime;
   yaw_rad = Euler::ToRadian(yaw_deg);
+  Printf("Starting VRPN server on port %i\n",port);
 }
 
