Index: trunk/include/FlairSensorActuator/AfroBldc.h
===================================================================
--- trunk/include/FlairSensorActuator/AfroBldc.h	(revision 47)
+++ trunk/include/FlairSensorActuator/AfroBldc.h	(revision 50)
@@ -18,5 +18,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class I2cPort;
 }
Index: trunk/include/FlairSensorActuator/BatteryMonitor.h
===================================================================
--- trunk/include/FlairSensorActuator/BatteryMonitor.h	(revision 47)
+++ trunk/include/FlairSensorActuator/BatteryMonitor.h	(revision 50)
@@ -21,4 +21,5 @@
 class Label;
 class DoubleSpinBox;
+class SpinBox;
 }
 }
@@ -56,5 +57,5 @@
   *
   */
-  bool IsBatteryLow(void) const;
+  bool IsBatteryLow(void);
 
   /*!
@@ -77,5 +78,8 @@
   float batteryvalue;
   gui::DoubleSpinBox *battery_thresh;
+  gui::SpinBox *thresholdTime;
   gui::Label *battery;
+  core::Time underThersholdStartTime;
+  bool isUnderThershold;
 };
 } // end namespace sensor
Index: trunk/include/FlairSensorActuator/BlCtrlV2.h
===================================================================
--- trunk/include/FlairSensorActuator/BlCtrlV2.h	(revision 47)
+++ trunk/include/FlairSensorActuator/BlCtrlV2.h	(revision 50)
@@ -18,5 +18,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class I2cPort;
 }
Index: trunk/include/FlairSensorActuator/BlCtrlV2_x4_speed.h
===================================================================
--- trunk/include/FlairSensorActuator/BlCtrlV2_x4_speed.h	(revision 47)
+++ trunk/include/FlairSensorActuator/BlCtrlV2_x4_speed.h	(revision 50)
@@ -25,5 +25,4 @@
 namespace core {
 class cvmatrix;
-class FrameworkManager;
 class I2cPort;
 }
@@ -44,5 +43,5 @@
 
 public:
-  BlCtrlV2_x4_speed(core::FrameworkManager *parent, std::string name,
+  BlCtrlV2_x4_speed(std::string name,
                     core::I2cPort *i2cport, uint8_t base_address,
                     uint8_t priority);
Index: trunk/include/FlairSensorActuator/Bldc.h
===================================================================
--- trunk/include/FlairSensorActuator/Bldc.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Bldc.h	(revision 50)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class cvmatrix;
 }
@@ -186,4 +185,4 @@
 };
 } // end namespace actuator
-} // end namespace framewor
+} // end namespace flair
 #endif // BLDC_H
Index: trunk/include/FlairSensorActuator/Camera.h
===================================================================
--- trunk/include/FlairSensorActuator/Camera.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Camera.h	(revision 50)
@@ -43,6 +43,6 @@
   *
   * Construct a Camera.
-  *
-  * \param parent parent
+  * It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param width width
@@ -50,5 +50,5 @@
   * \param format image format
   */
-  Camera(const core::FrameworkManager *parent, std::string name, uint16_t width,
+  Camera(std::string name, uint16_t width,
          uint16_t height, core::cvimage::Type::Format format);
 
Index: trunk/include/FlairSensorActuator/EmulatedController.h
===================================================================
--- trunk/include/FlairSensorActuator/EmulatedController.h	(revision 47)
+++ trunk/include/FlairSensorActuator/EmulatedController.h	(revision 50)
@@ -21,5 +21,4 @@
 namespace flair {
     namespace core {
-        class FrameworkManager;
         class cvmatrix;
     }
@@ -39,5 +38,5 @@
     class EmulatedController : public TargetController {
     public:
-        EmulatedController(const core::FrameworkManager* parent,std::string name,uint8_t priority=0);
+        EmulatedController(std::string name,uint8_t priority=0);
         ~EmulatedController();
         enum class ButtonType : uint16_t {
Index: trunk/include/FlairSensorActuator/Gx3_25_imu.h
===================================================================
--- trunk/include/FlairSensorActuator/Gx3_25_imu.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Gx3_25_imu.h	(revision 50)
@@ -50,7 +50,6 @@
   * \brief Constructor
   *
-  * Construct a Gx3_25_imu.
+  * Construct a Gx3_25_imu. It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param serialport SerialPort
@@ -58,5 +57,5 @@
   * \param priority priority of the Thread
   */
-  Gx3_25_imu(const core::FrameworkManager *parent, std::string name,
+  Gx3_25_imu(std::string name,
              core::SerialPort *serialport, Command_t command, uint8_t priority);
 
Index: trunk/include/FlairSensorActuator/HokuyoUTM30Lx.h
===================================================================
--- trunk/include/FlairSensorActuator/HokuyoUTM30Lx.h	(revision 47)
+++ trunk/include/FlairSensorActuator/HokuyoUTM30Lx.h	(revision 50)
@@ -24,5 +24,4 @@
 namespace core {
 class cvmatrix;
-class FrameworkManager;
 class SerialPort;
 class Mutex;
@@ -47,11 +46,11 @@
  *
  * Construct a Hokuyo UTM30-Lx.
- *
- * \param parent parent
+ * It will be child of the FrameworkManage
+ * 
  * \param name name
  * \param serialport serialport
  * \param priority priority of the Thread
  */
-  HokuyoUTM30Lx(const core::FrameworkManager *parent, std::string name,
+  HokuyoUTM30Lx(std::string name,
                 core::SerialPort *serialport, uint8_t priority);
   void getMesure(int startStep, int endStep, int clusterCount, int interval,
@@ -168,4 +167,4 @@
 };
 } // end namespace sensor
-} // end namespace framewor
+} // end namespace flair
 #endif // HOKUYOUTM30LX_H
Index: trunk/include/FlairSensorActuator/HostEthController.h
===================================================================
--- trunk/include/FlairSensorActuator/HostEthController.h	(revision 47)
+++ trunk/include/FlairSensorActuator/HostEthController.h	(revision 50)
@@ -26,8 +26,7 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class cvmatrix;
 class TcpSocket;
-class Socket;
+class UdpSocket;
 class Mutex;
 }
@@ -56,5 +55,5 @@
 class HostEthController : public core::Thread, public core::IODevice {
 public:
-  HostEthController(const core::FrameworkManager *parent, std::string name,
+  HostEthController(std::string name,
                     std::string address, int port, uint32_t period = 10,
                     uint32_t _bitsPerAxis = 7, uint8_t priority = 0);
@@ -65,5 +64,5 @@
   std::string controllerName;
   core::TcpSocket *controlSocket; // connection to the target
-  core::Socket *dataSocket;
+  core::UdpSocket *dataSocket;
   std::string targetAddress;
   int targetPort;
Index: trunk/include/FlairSensorActuator/Imu.h
===================================================================
--- trunk/include/FlairSensorActuator/Imu.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Imu.h	(revision 50)
@@ -15,4 +15,5 @@
 
 #include <IODevice.h>
+#include <Vector3D.h>
 
 namespace flair {
@@ -49,9 +50,9 @@
   *
   * Construct an Imu.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   */
-  Imu(const core::FrameworkManager *parent, std::string name);
+  Imu(std::string name);
 
   /*!
@@ -71,4 +72,12 @@
   */
   ~Imu();
+  
+  /*!
+  * \brief Get IMU datas
+  *
+  * \return ImuData
+  */
+  const core::ImuData *GetDatas(void) const;
+
 
   /*!
@@ -121,16 +130,28 @@
 
   /*!
-  * \brief UpdateImu
+  * \brief ApplyRotation
   *
-  * The reimplemented class must call this function as soon as IMU datas are
-  *available. \n
+  * The reimplemented class must call this function to rotate IMU datas, before filling the ImuData. \n
   * It handles the data rotation if it was defined.
   *
+  * \param vector vector to apply rotation to
   */
-  void UpdateImu();
+  void ApplyRotation(core::Vector3Df& vector);
+  
+  /*!
+  * \brief ApplyRotation
+  *
+  * The reimplemented class must call this function to rotate IMU datas, before filling the ImuData. \n
+  * It handles the data rotation if it was defined.
+  *
+  * \param quaternion quaternion to apply rotation to
+  */
+  void ApplyRotation(core::Quaternion& quaternion);
 
   /*!
   * \brief Get imu datas
   *
+  * Can be used by dervied class to fill core::ImuData
+  * 
   * \param imuData imu datas
   */
Index: trunk/include/FlairSensorActuator/LaserRangeFinder.h
===================================================================
--- trunk/include/FlairSensorActuator/LaserRangeFinder.h	(revision 47)
+++ trunk/include/FlairSensorActuator/LaserRangeFinder.h	(revision 50)
@@ -42,9 +42,9 @@
   *
   * Construct a Laser Range Finder.
+	* It will be child of the FrameworkManager
   *
-  * \param parent parent
   * \param name name
   */
-  LaserRangeFinder(const core::FrameworkManager *parent, std::string name);
+  LaserRangeFinder(std::string name);
   /*!
   * \brief Constructor
@@ -129,4 +129,4 @@
 };
 } // end namespace sensor
-} // end namespace framewor
+} // end namespace flair
 #endif // LASERRANGEFINDER_H
Index: trunk/include/FlairSensorActuator/Mb800.h
===================================================================
--- trunk/include/FlairSensorActuator/Mb800.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Mb800.h	(revision 50)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class SerialPort;
 }
@@ -36,6 +35,6 @@
   *
   * Construct a Mb800.
-  *
-  * \param parent parent
+  * It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param serialport serialport
@@ -43,5 +42,5 @@
   * \param priority priority of the Thread
   */
-  Mb800(const core::FrameworkManager *parent, std::string name,
+  Mb800(std::string name,
         core::SerialPort *serialport, NmeaGps::NMEAFlags_t NMEAFlags,
         uint8_t priority);
@@ -75,4 +74,4 @@
 };
 } // end namespace sensor
-} // end namespace framewor
+} // end namespace flair
 #endif // MB800_H
Index: trunk/include/FlairSensorActuator/NmeaGps.h
===================================================================
--- trunk/include/FlairSensorActuator/NmeaGps.h	(revision 47)
+++ trunk/include/FlairSensorActuator/NmeaGps.h	(revision 50)
@@ -15,4 +15,5 @@
 
 #include <IODevice.h>
+#include <Vector3D.h>
 #include <nmea/nmea.h>
 
@@ -21,5 +22,4 @@
     class FrameworkManager;
     class GeoCoordinate;
-    class Vector3D;
     class GpsData;
   }
@@ -53,4 +53,5 @@
     VTG = 0x02, /*!< VTG */
     GST = 0x04, /*!< GST */
+    GSA = 0x08, /*!< GSA */
   };
 
@@ -59,20 +60,20 @@
   *
   * Construct a NmeaGps.
+  *	It will be child of the FrameworkManager.
+	* 
+  * \param name name
+  * \param NMEAFlags NMEA sentances to enable
+  */
+  NmeaGps(std::string name,
+      NMEAFlags_t NMEAFlags);
+
+  /*!
+  * \brief Constructor
+  *
+  * Construct a NmeaGps. \n
+  * This contructor must only be called for a simulated device.
   *
   * \param parent parent
   * \param name name
-  * \param NMEAFlags NMEA sentances to enable
-  */
-  NmeaGps(const core::FrameworkManager *parent, std::string name,
-      NMEAFlags_t NMEAFlags);
-
-  /*!
-  * \brief Constructor
-  *
-  * Construct a NmeaGps. \n
-  * This contructor must only be called for a simulated device.
-  *
-  * \param parent parent
-  * \param name name
   */
   NmeaGps(const core::IODevice *parent, std::string name);
@@ -168,5 +169,5 @@
   * \param point to store position
   */
-  void GetEnu(core::Vector3D *point);
+  void GetEnu(core::Vector3Df *point);
 
 protected:
@@ -222,4 +223,4 @@
 };
 } // end namespace sensor
-} // end namespace framewor
+} // end namespace flair
 #endif // NMEAGPS_H
Index: trunk/include/FlairSensorActuator/Novatel.h
===================================================================
--- trunk/include/FlairSensorActuator/Novatel.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Novatel.h	(revision 50)
@@ -36,6 +36,6 @@
   *
   * Construct a Novatel.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param serialport serialport
@@ -43,5 +43,5 @@
   * \param priority priority of the Thread
   */
-  Novatel(const core::FrameworkManager *parent, std::string name,
+  Novatel(std::string name,
           core::SerialPort *serialport, NmeaGps::NMEAFlags_t NMEAFlags,
           uint8_t priority);
@@ -75,4 +75,4 @@
 };
 } // end namespace sensor
-} // end namespace framewor
+} // end namespace flair
 #endif // Novatel_H
Index: trunk/include/FlairSensorActuator/Ps3Eye.h
===================================================================
--- trunk/include/FlairSensorActuator/Ps3Eye.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Ps3Eye.h	(revision 50)
@@ -17,16 +17,4 @@
 
 namespace flair {
-namespace core {
-class cvimage;
-class FrameworkManager;
-}
-namespace gui {
-class GridLayout;
-class DoubleSpinBox;
-class CheckBox;
-}
-}
-
-namespace flair {
 namespace sensor {
 /*! \class Ps3Eye
@@ -41,11 +29,11 @@
   *
   * Construct a Ps3Eye.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param camera_index index of the camera, ie /dev/videox
   * \param priority priority of the Thread
   */
-  Ps3Eye(const core::FrameworkManager *parent, std::string name,
+  Ps3Eye(std::string name,
          int camera_index, uint8_t priority);
 
Index: trunk/include/FlairSensorActuator/RadioReceiver.h
===================================================================
--- trunk/include/FlairSensorActuator/RadioReceiver.h	(revision 47)
+++ trunk/include/FlairSensorActuator/RadioReceiver.h	(revision 50)
@@ -19,5 +19,4 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class cvmatrix;
 }
@@ -41,10 +40,10 @@
   *
   * Construct a RadioReceiver.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param nb_channels number of supported channels
   */
-  RadioReceiver(const core::FrameworkManager *parent, std::string name,
+  RadioReceiver(std::string name,
                 unsigned int nb_channels);
 
Index: trunk/include/FlairSensorActuator/SimuBldc.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuBldc.h	(revision 47)
+++ trunk/include/FlairSensorActuator/SimuBldc.h	(revision 50)
@@ -46,8 +46,9 @@
   * \param name name
   * \param motors_count number of motors
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId Bldc id of the Model
   */
   SimuBldc(const core::IODevice *parent, gui::Layout *layout, std::string name,
-           uint8_t motors_count, uint32_t dev_id);
+           uint8_t motors_count, uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -59,8 +60,9 @@
   * \param name name
   * \param motors_count number of motors
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId Bldc id of the Model
   */
   SimuBldc(const core::Object *parent, std::string name, uint8_t motors_count,
-           uint32_t dev_id);
+           uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -107,5 +109,6 @@
   */
   void SetMotors(float *value);
-
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
   core::SharedMem *shmem;
   gui::DoubleSpinBox *k;
Index: trunk/include/FlairSensorActuator/SimuCamera.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuCamera.h	(revision 47)
+++ trunk/include/FlairSensorActuator/SimuCamera.h	(revision 50)
@@ -19,10 +19,7 @@
 
 namespace flair {
-namespace core {
-class SharedMem;
-}
-namespace gui {
-class SpinBox;
-}
+  namespace core {
+    class SharedMem;
+  }
 }
 
@@ -39,15 +36,16 @@
   *
   * Construct a SimuCamera. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param width width
   * \param height height
   * \param channels number of channels
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId Camera id of the Model
   * \param priority priority of the Thread
   */
-  SimuCamera(const core::FrameworkManager *parent, std::string name,
-             uint16_t width, uint16_t height, uint8_t channels, uint32_t dev_id,
+  SimuCamera(std::string name,
+             uint16_t width, uint16_t height, uint8_t channels, uint32_t modelId,uint32_t deviceId,
              uint8_t priority);
 
@@ -63,8 +61,9 @@
   * \param height height
   * \param channels number of channels
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId Camera id of the Model
   */
   SimuCamera(const core::IODevice *parent, std::string name, uint16_t width,
-             uint16_t height, uint8_t channels, uint32_t dev_id);
+             uint16_t height, uint8_t channels, uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -98,8 +97,9 @@
   */
   void UpdateFrom(const core::io_data *data){};
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
 
-  gui::SpinBox *data_rate;
   size_t buf_size;
-  IplImage *img;
+  char* shmemReadBuf;
 };
 } // end namespace sensor
Index: trunk/include/FlairSensorActuator/SimuGps.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuGps.h	(revision 47)
+++ trunk/include/FlairSensorActuator/SimuGps.h	(revision 50)
@@ -19,5 +19,4 @@
 namespace flair {
   namespace core {
-    class FrameworkManager;
     class SharedMem;
   }
@@ -40,13 +39,14 @@
   *
   * Construct a simulation GPS. Control part.
-  *
-  * \param parent parent
+  * It will be child of the FrameworkManager.
+	* 
   * \param name name
   * \param NMEAFlags NMEA sentances to enable
-  * \param deviceId device id
+  * \param modelId Model id
+  * \param deviceId Gps id of the Model
   * \param priority priority of the Thread
   */
-  SimuGps(const core::FrameworkManager *parent, std::string name,
-          NmeaGps::NMEAFlags_t NMEAFlags, uint32_t deviceId,uint8_t priority);
+  SimuGps(std::string name,
+          NmeaGps::NMEAFlags_t NMEAFlags, uint32_t modelId,uint32_t deviceId,uint8_t priority);
 
   /*!
@@ -58,7 +58,8 @@
   * \param parent parent
   * \param name name
-  * \param deviceId device id
+  * \param modelId Model id
+  * \param deviceId Gps id of the Model
   */
-  SimuGps(const core::IODevice *parent, std::string name, uint32_t deviceId);
+  SimuGps(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -93,4 +94,6 @@
     float vn;
   } gps_states_t;
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
 
   core::SharedMem *shmem;
@@ -99,4 +102,4 @@
 };
 } // end namespace sensor
-} // end namespace framewor
+} // end namespace flair
 #endif // SIMUGPS_H
Index: trunk/include/FlairSensorActuator/SimuImu.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuImu.h	(revision 47)
+++ trunk/include/FlairSensorActuator/SimuImu.h	(revision 50)
@@ -39,12 +39,13 @@
   *
   * Construct a SimuImu. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId Imu id of the Model
   * \param priority priority of the Thread
   */
-  SimuImu(const core::FrameworkManager *parent, std::string name,
-          uint32_t dev_id, uint8_t priority);
+  SimuImu(std::string name,
+          uint32_t modelId,uint32_t deviceId, uint8_t priority);
 
   /*!
@@ -56,7 +57,8 @@
   * \param parent parent
   * \param name name
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId Imu id of the Model
   */
-  SimuImu(const core::IODevice *parent, std::string name, uint32_t dev_id);
+  SimuImu(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -93,4 +95,6 @@
     float wz;
   } imu_states_t;
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
 
   gui::SpinBox *dataRate;
Index: trunk/include/FlairSensorActuator/SimuLaser.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuLaser.h	(revision 47)
+++ trunk/include/FlairSensorActuator/SimuLaser.h	(revision 50)
@@ -38,12 +38,13 @@
   *
   * Construct a SimuUs. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId LaserRangeFinder id of the Model
   * \param priority priority of the Thread
   */
-  SimuLaser(const core::FrameworkManager *parent, std::string name,
-            uint32_t dev_id, uint8_t priority);
+  SimuLaser(std::string name,
+            uint32_t modelId,uint32_t deviceId, uint8_t priority);
 
   /*!
@@ -55,7 +56,8 @@
   * \param parent parent
   * \param name name
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId LaserRangeFinder id of the Model
   */
-  SimuLaser(const core::IODevice *parent, std::string name, uint32_t dev_id);
+  SimuLaser(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -89,5 +91,6 @@
   */
   void Run(void);
-
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
   gui::SpinBox *data_rate;
 };
Index: trunk/include/FlairSensorActuator/SimuUs.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuUs.h	(revision 47)
+++ trunk/include/FlairSensorActuator/SimuUs.h	(revision 50)
@@ -38,12 +38,13 @@
   *
   * Construct a SimuUs. Control part.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId UsRangeFinder id of the Model
   * \param priority priority of the Thread
   */
-  SimuUs(const core::FrameworkManager *parent, std::string name,
-         uint32_t dev_id, uint8_t priority);
+  SimuUs(std::string name,
+         uint32_t modelId,uint32_t deviceId, uint8_t priority);
 
   /*!
@@ -55,7 +56,8 @@
   * \param parent parent
   * \param name name
-  * \param dev_id device id
+  * \param modelId Model id
+  * \param deviceId UsRangeFinder id of the Model
   */
-  SimuUs(const core::IODevice *parent, std::string name, uint32_t dev_id);
+  SimuUs(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
 
   /*!
@@ -89,5 +91,6 @@
   */
   void Run(void);
-
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
   gui::SpinBox *data_rate;
 };
Index: trunk/include/FlairSensorActuator/Srf08.h
===================================================================
--- trunk/include/FlairSensorActuator/Srf08.h	(revision 47)
+++ trunk/include/FlairSensorActuator/Srf08.h	(revision 50)
@@ -19,10 +19,8 @@
 namespace flair {
 namespace core {
-class FrameworkManager;
 class I2cPort;
 }
 namespace gui {
 class SpinBox;
-;
 }
 }
@@ -41,6 +39,6 @@
   *
   * Construct a SRF08 sensor
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param i2cport i2c port
@@ -48,5 +46,5 @@
   * \param priority priority of the Thread
   */
-  Srf08(const core::FrameworkManager *parent, std::string name,
+  Srf08(std::string name,
         core::I2cPort *i2cport, uint16_t address, uint8_t priority);
 
Index: trunk/include/FlairSensorActuator/TargetController.h
===================================================================
--- trunk/include/FlairSensorActuator/TargetController.h	(revision 47)
+++ trunk/include/FlairSensorActuator/TargetController.h	(revision 50)
@@ -49,6 +49,5 @@
 class TargetController : public core::Thread, public core::IODevice {
 public:
-  TargetController(const core::FrameworkManager *parent, std::string name,
-                   uint8_t priority = 0);
+  TargetController(std::string name,uint8_t priority = 0);
   ~TargetController();
   // void DrawUserInterface();
Index: trunk/include/FlairSensorActuator/TargetEthController.h
===================================================================
--- trunk/include/FlairSensorActuator/TargetEthController.h	(revision 47)
+++ trunk/include/FlairSensorActuator/TargetEthController.h	(revision 50)
@@ -29,5 +29,5 @@
 class cvmatrix;
 class TcpSocket;
-class Socket;
+class UdpSocket;
 }
 namespace gui {
@@ -47,5 +47,5 @@
 class TargetEthController : public TargetController {
 public:
-  TargetEthController(const core::FrameworkManager *parent, std::string name,
+  TargetEthController(std::string name,
                       uint16_t port, uint8_t priority = 0);
   ~TargetEthController();
@@ -78,5 +78,5 @@
   int listeningPort;
   core::TcpSocket *controlSocket = NULL;
-  core::Socket *dataSocket;
+  core::UdpSocket *dataSocket;
   std::string *axisName = NULL;
   std::string *buttonName = NULL;
Index: trunk/include/FlairSensorActuator/UsRangeFinder.h
===================================================================
--- trunk/include/FlairSensorActuator/UsRangeFinder.h	(revision 47)
+++ trunk/include/FlairSensorActuator/UsRangeFinder.h	(revision 50)
@@ -44,9 +44,9 @@
   *
   * Construct a UsRangeFinder. Control part.
-  *
-  * \param parent parent
+	* It will be child of the FrameworkManager.
+	* 
   * \param name name
   */
-  UsRangeFinder(const core::FrameworkManager *parent, std::string name);
+  UsRangeFinder(std::string name);
 
   /*!
Index: trunk/include/FlairSensorActuator/V4LCamera.h
===================================================================
--- trunk/include/FlairSensorActuator/V4LCamera.h	(revision 47)
+++ trunk/include/FlairSensorActuator/V4LCamera.h	(revision 50)
@@ -21,8 +21,6 @@
 namespace core {
 class cvimage;
-class FrameworkManager;
 }
 namespace gui {
-class GridLayout;
 class DoubleSpinBox;
 class CheckBox;
@@ -43,6 +41,6 @@
   *
   * Construct a Camera.
+	* It will be child of the FrameworkManager.
   *
-  * \param parent parent
   * \param name name
   * \param camera_index camera index
@@ -52,5 +50,5 @@
   * \param priority priority of the Thread
   */
-  V4LCamera(const core::FrameworkManager *parent, std::string name,
+  V4LCamera(std::string name,
             uint8_t camera_index, uint16_t width, uint16_t height,
             core::cvimage::Type::Format format, uint8_t priority);
@@ -61,4 +59,8 @@
   */
   ~V4LCamera();
+  
+    //hack for ps3eye in hds uav
+  //TODO: put this in ps3eye class
+  bool HasProblems(void);
 
 protected:
@@ -118,5 +120,5 @@
   */
   virtual void SetContrast(float value);
-
+  
 private:
   /*!
@@ -140,8 +142,8 @@
 
   gui::Tab *sensor_tab;
-  gui::DoubleSpinBox *bright, *exposure, *gain, *contrast, *hue, *sharpness,
-      *sat;
+  gui::DoubleSpinBox *bright, *exposure, *gain, *contrast, *hue, *sharpness,*sat;
   gui::CheckBox *autogain, *awb, *autoexposure;
   gui::Label *fps;
+  bool hasProblems;
 };
 } // end namespace sensor
Index: trunk/include/FlairSensorActuator/VrpnClient.h
===================================================================
--- trunk/include/FlairSensorActuator/VrpnClient.h	(revision 47)
+++ trunk/include/FlairSensorActuator/VrpnClient.h	(revision 50)
@@ -49,9 +49,8 @@
   * \param name name
   * \param address server address
-  * \param us_period Thread period in us
   * \param priority priority of the Thread
   */
   VrpnClient(std::string name,
-             std::string address, uint16_t us_period, uint8_t priority);
+             std::string address,  uint8_t priority);
 
   /*!
Index: trunk/include/FlairSensorActuator/VrpnObject.h
===================================================================
--- trunk/include/FlairSensorActuator/VrpnObject.h	(revision 47)
+++ trunk/include/FlairSensorActuator/VrpnObject.h	(revision 50)
@@ -16,4 +16,5 @@
 
 #include <IODevice.h>
+#include <Vector3D.h>
 #include <stdint.h>
 
@@ -21,6 +22,4 @@
 	namespace core {
 		class cvmatrix;
-		class Vector3D;
-		class Euler;
 		class Quaternion;
 	}
@@ -101,11 +100,4 @@
 
   /*!
-  * \brief Get Euler angles
-  *
-  * \param euler output datas
-  */
-  void GetEuler(core::Euler &euler) const;
-
-  /*!
   * \brief Get Quaternion
   *
@@ -118,5 +110,5 @@
   * \param point output datas
   */
-  void GetPosition(core::Vector3D &point) const;
+  void GetPosition(core::Vector3Df &point) const;
 
   /*!
@@ -124,12 +116,13 @@
   *
   * Matrix is of type float and as follows: \n
-  * (0,0) roll (rad) \n
-  * (1,0) pitch (rad) \n
-  * (2,0) yaw (rad) \n
-  * (3,0) x \n
-  * (4,0) y \n
-  * (5,0) z \n
+  * (0,0) q0 \n
+  * (1,0) q1 \n
+  * (2,0) q2 \n
+	* (3,0) q3 \n
+  * (4,0) x \n
+  * (5,0) y \n
+  * (6,0) z \n
   *
-  * \return Output metrix
+  * \return Output matrix
   */
   core::cvmatrix *Output(void) const;
@@ -138,4 +131,5 @@
   * \brief State matrix
   *
+	* Used for plotting on ground station. \n
   * Matrix is of type float and as follows: \n
   * (0,0) roll (deg) \n
@@ -143,5 +137,5 @@
   * (2,0) yaw (deg) \n
   *
-  * \return State metrix
+  * \return State matrix
   */
   core::cvmatrix *State(void) const;
@@ -178,5 +172,4 @@
   void UpdateFrom(const core::io_data *data){};
 
-  void mainloop(void);
   class VrpnObject_impl *pimpl_;
 };
