Index: trunk/include/FlairSensorActuator/SimuBldc.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuBldc.h	(revision 76)
+++ 	(revision )
@@ -1,97 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuBldc.h
- * \brief Class for a simulation bldc
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2014/02/07
- * \version 4.0
- */
-
-#ifndef SIMUBLDC_H
-#define SIMUBLDC_H
-
-#include <Bldc.h>
-
-namespace flair {
-namespace core {
-class SharedMem;
-class IODevice;
-class Matrix;
-}
-namespace gui {
-class DoubleSpinBox;
-class Layout;
-}
-}
-
-namespace flair {
-namespace actuator {
-/*! \class SimuBldc
-*
-* \brief Class for a simulation bldc
-*
-*/
-class SimuBldc : public Bldc {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a SimuBldc
-  *
-  * \param parent parent
-  * \param layout layout
-  * \param name name
-  * \param motors_count number of motors
-  * \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 modelId,uint32_t deviceId);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuBldc();
-
-  /*!
-  * \brief Has speed measurement
-  *
-  * Reimplemented from Bldc. \n
-  *
-  * \return true if it has speed measurement
-  */
-  bool HasSpeedMeasurement(void) const { return false; };
-
-  /*!
-  * \brief Has current measurement
-  *
-  * Reimplemented from Bldc. \n
-  *
-  * \return true if it has current measurement
-  */
-  bool HasCurrentMeasurement(void) const { return false; };
-
-private:
-  /*!
-  * \brief Set motors values
-  *
-  * Reimplemented from Bldc. \n
-  * Values size must be the same as MotorsCount()
-  *
-  * \param values motor values
-  */
-  void SetMotors(float *value);
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-  core::SharedMem *shmem;
-  gui::DoubleSpinBox *k;
-  char *buf;
-
-};
-} // end namespace actuator
-} // end namespace flair
-#endif // SIMUBLDC_H
Index: trunk/include/FlairSensorActuator/SimuCamera.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuCamera.h	(revision 76)
+++ 	(revision )
@@ -1,91 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuCamera.h
- * \brief Class for a simulation camera
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2014/03/06
- * \version 4.0
- */
-
-#ifndef SIMUCAMERA_H
-#define SIMUCAMERA_H
-
-#include <Camera.h>
-#include <Thread.h>
-#include <cxcore.h>
-
-namespace flair {
-  namespace core {
-    class SharedMem;
-  }
-}
-
-namespace flair {
-namespace sensor {
-/*! \class SimuCamera
-*
-* \brief Class for a simulation camera
-*/
-class SimuCamera : public core::Thread, public Camera {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a SimuCamera.
-	* It will be child of the FrameworkManager.
-  *
-  * \param name name
-  * \param width width
-  * \param height height
-  * \param channels number of channels
-  * \param modelId Model id
-  * \param deviceId Camera id of the Model
-  * \param priority priority of the Thread
-  */
-  SimuCamera(std::string name,
-             uint16_t width, uint16_t height, uint8_t channels, uint32_t modelId,uint32_t deviceId,
-             uint8_t priority);
-
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuCamera();
-
-protected:
-  /*!
-  * \brief SharedMem to access datas
-  *
-  */
-  core::SharedMem *shmem;
-
-private:
-  /*!
-  * \brief Run function
-  *
-  * Reimplemented from Thread.
-  *
-  */
-  void Run(void);
-
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data){};
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-
-  size_t buf_size;
-  char* shmemReadBuf;
-};
-} // end namespace sensor
-} // end namespace flair
-#endif // SIMUCAMERA_H
Index: trunk/include/FlairSensorActuator/SimuGps.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuGps.h	(revision 76)
+++ 	(revision )
@@ -1,92 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuGps.h
- * \brief Class for a simulation GPS
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2013/08/23
- * \version 4.0
- */
-
-#ifndef SIMUGPS_H
-#define SIMUGPS_H
-
-#include <Thread.h>
-#include <NmeaGps.h>
-
-namespace flair {
-  namespace core {
-    class SharedMem;
-  }
-  namespace gui {
-    class SpinBox;
-    class DoubleSpinBox;
-  }
-}
-
-namespace flair {
-namespace sensor {
-/*! \class SimuGps
-*
-* \brief Class for a simulation GPS
-*/
-class SimuGps : public core::Thread, public NmeaGps {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a simulation GPS
-  * It will be child of the FrameworkManager.
-	* 
-  * \param name name
-  * \param NMEAFlags NMEA sentances to enable
-  * \param modelId Model id
-  * \param deviceId Gps id of the Model
-  * \param priority priority of the Thread
-  */
-  SimuGps(std::string name,
-          NmeaGps::NMEAFlags_t NMEAFlags, uint32_t modelId,uint32_t deviceId,uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuGps();
-
-private:
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data){};
-
-  /*!
-  * \brief Run function
-  *
-  * Reimplemented from Thread.
-  *
-  */
-  void Run(void);
-
-  typedef struct {
-    float e;
-    float n;
-    float u;
-    float ve;
-    float vn;
-  } gps_states_t;
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-
-  core::SharedMem *shmem;
-  gui::SpinBox *dataRate,*fixQuality,*numberOfSatellites;
-  gui::DoubleSpinBox *latitudeRef,*longitudeRef,*altitudeRef,*magneticDeclination;
-};
-} // end namespace sensor
-} // end namespace flair
-#endif // SIMUGPS_H
Index: trunk/include/FlairSensorActuator/SimuImu.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuImu.h	(revision 76)
+++ 	(revision )
@@ -1,99 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuImu.h
- * \brief Class for a simulation Imu
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2014/02/07
- * \version 4.0
- */
-
-#ifndef SIMUIMU_H
-#define SIMUIMU_H
-
-#include <Imu.h>
-#include <Thread.h>
-
-namespace flair {
-  namespace core {
-    class SharedMem;
-    class AhrsData;
-  }
-  namespace gui {
-    class SpinBox;
-  }
-}
-
-namespace flair {
-namespace sensor {
-/*! \class SimuImu
-*
-* \brief Class for a simulation Imu
-*/
-class SimuImu : public Imu, public core::Thread {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a SimuImu.
-	* It will be child of the FrameworkManager.
-  *
-  * \param name name
-  * \param modelId Model id
-  * \param deviceId Imu id of the Model
-  * \param priority priority of the Thread
-  */
-  SimuImu(std::string name,
-          uint32_t modelId,uint32_t deviceId, uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuImu();
-
-private:
-  /*!
-  * \brief Run function
-  *
-  * Reimplemented from Thread.
-  *
-  */
-  void Run(void);
-
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data){};
-
-  typedef struct {
-    float q0;
-    float q1;
-    float q2;
-    float q3;
-    float wx;
-    float wy;
-    float wz;
-    float ax;
-    float ay;
-    float az;
-    float mx;
-    float my;
-    float mz;
-  } imu_states_t;
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-
-  gui::SpinBox *dataRate;
-  core::SharedMem *shmem;
-  core::AhrsData *ahrsData;
-};
-} // end namespace sensor
-} // end namespace flair
-#endif // SIMUIMU_H
Index: trunk/include/FlairSensorActuator/SimuLaser.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuLaser.h	(revision 76)
+++ 	(revision )
@@ -1,85 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuUs.h
- * \brief Class for a simulation UsRangeFinder
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2014/02/07
- * \version 4.0
- */
-
-#ifndef SIMULASER_H
-#define SIMULASER_H
-
-#include <LaserRangeFinder.h>
-#include <Thread.h>
-
-namespace flair {
-namespace core {
-class SharedMem;
-}
-namespace gui {
-class SpinBox;
-}
-}
-
-namespace flair {
-namespace sensor {
-/*! \class SimuUs
-*
-* \brief Class for a simulation UsRangeFinder
-*/
-class SimuLaser : public core::Thread, public LaserRangeFinder {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a SimuUs.
-  *
-  * \param name name
-  * \param modelId Model id
-  * \param deviceId LaserRangeFinder id of the Model
-  * \param priority priority of the Thread
-  */
-  SimuLaser(std::string name,
-            uint32_t modelId,uint32_t deviceId, uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuLaser();
-
-protected:
-  /*!
-  * \brief SharedMem to access datas
-  *
-  */
-  core::SharedMem *shmem;
-
-private:
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data){};
-
-  /*!
-  * \brief Run function
-  *
-  * Reimplemented from Thread.
-  *
-  */
-  void Run(void);
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-  gui::SpinBox *data_rate;
-};
-} // end namespace sensor
-} // end namespace flair
-#endif // SIMULASER_H
Index: trunk/include/FlairSensorActuator/SimuPressureSensor.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuPressureSensor.h	(revision 76)
+++ 	(revision )
@@ -1,86 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuPressureSensor.h
- * \brief Class for a simulation PressureSensor
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2018/05/24
- * \version 4.0
- */
-
-#ifndef SIMUPRESSURESENSOR_H
-#define SIMUPRESSURESENSOR_H
-
-#include <PressureSensor.h>
-#include <Thread.h>
-
-namespace flair {
-namespace core {
-class SharedMem;
-}
-namespace gui {
-class SpinBox;
-}
-}
-
-namespace flair {
-namespace sensor {
-/*! \class SimuPressureSensor
-*
-* \brief Class for a simulation PressureSensor
-*/
-class SimuPressureSensor : public core::Thread, public PressureSensor {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a SimuPressureSensor.
-	* It will be child of the FrameworkManager.
-  *
-  * \param name name
-  * \param modelId Model id
-  * \param deviceId PressureSensor id of the Model
-  * \param priority priority of the Thread
-  */
-  SimuPressureSensor(std::string name,
-         uint32_t modelId,uint32_t deviceId, uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuPressureSensor();
-
-protected:
-  /*!
-  * \brief SharedMem to access datas
-  *
-  */
-  core::SharedMem *shmem;
-
-private:
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data){};
-
-  /*!
-  * \brief Run function
-  *
-  * Reimplemented from Thread.
-  *
-  */
-  void Run(void);
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-  gui::SpinBox *data_rate;
-};
-} // end namespace sensor
-} // end namespace flair
-#endif // SIMUPRESSURESENSOR_H
Index: trunk/include/FlairSensorActuator/SimuUs.h
===================================================================
--- trunk/include/FlairSensorActuator/SimuUs.h	(revision 76)
+++ 	(revision )
@@ -1,86 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimuUs.h
- * \brief Class for a simulation UsRangeFinder
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2014/02/07
- * \version 4.0
- */
-
-#ifndef SIMUUS_H
-#define SIMUUS_H
-
-#include <UsRangeFinder.h>
-#include <Thread.h>
-
-namespace flair {
-namespace core {
-class SharedMem;
-}
-namespace gui {
-class SpinBox;
-}
-}
-
-namespace flair {
-namespace sensor {
-/*! \class SimuUs
-*
-* \brief Class for a simulation UsRangeFinder
-*/
-class SimuUs : public core::Thread, public UsRangeFinder {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a SimuUs.
-	* It will be child of the FrameworkManager.
-  *
-  * \param name name
-  * \param modelId Model id
-  * \param deviceId UsRangeFinder id of the Model
-  * \param priority priority of the Thread
-  */
-  SimuUs(std::string name,
-         uint32_t modelId,uint32_t deviceId, uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimuUs();
-
-protected:
-  /*!
-  * \brief SharedMem to access datas
-  *
-  */
-  core::SharedMem *shmem;
-
-private:
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data){};
-
-  /*!
-  * \brief Run function
-  *
-  * Reimplemented from Thread.
-  *
-  */
-  void Run(void);
-  
-  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
-  gui::SpinBox *data_rate;
-};
-} // end namespace sensor
-} // end namespace flair
-#endif // SIMUUS_H
Index: trunk/include/FlairSensorActuator/SimulatedBldc.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedBldc.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedBldc.h	(revision 94)
@@ -0,0 +1,97 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedBldc.h
+ * \brief Class for a simulation bldc
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2014/02/07
+ * \version 4.0
+ */
+
+#ifndef SIMULATEDBLDC_H
+#define SIMULATEDBLDC_H
+
+#include <Bldc.h>
+
+namespace flair {
+namespace core {
+class SharedMem;
+class IODevice;
+class Matrix;
+}
+namespace gui {
+class DoubleSpinBox;
+class Layout;
+}
+}
+
+namespace flair {
+namespace actuator {
+/*! \class SimulatedBldc
+*
+* \brief Class for a simulation bldc
+*
+*/
+class SimulatedBldc : public Bldc {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a SimulatedBldc
+  *
+  * \param parent parent
+  * \param layout layout
+  * \param name name
+  * \param motors_count number of motors
+  * \param modelId Model id
+  * \param deviceId Bldc id of the Model
+  */
+  SimulatedBldc(const core::IODevice *parent, gui::Layout *layout, std::string name,
+           uint8_t motors_count, uint32_t modelId,uint32_t deviceId);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedBldc();
+
+  /*!
+  * \brief Has speed measurement
+  *
+  * Reimplemented from Bldc. \n
+  *
+  * \return true if it has speed measurement
+  */
+  bool HasSpeedMeasurement(void) const { return false; };
+
+  /*!
+  * \brief Has current measurement
+  *
+  * Reimplemented from Bldc. \n
+  *
+  * \return true if it has current measurement
+  */
+  bool HasCurrentMeasurement(void) const { return false; };
+
+private:
+  /*!
+  * \brief Set motors values
+  *
+  * Reimplemented from Bldc. \n
+  * Values size must be the same as MotorsCount()
+  *
+  * \param values motor values
+  */
+  void SetMotors(float *value);
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+  core::SharedMem *shmem;
+  gui::DoubleSpinBox *k;
+  char *buf;
+
+};
+} // end namespace actuator
+} // end namespace flair
+#endif // SIMULATEDBLDC_H
Index: trunk/include/FlairSensorActuator/SimulatedCamera.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedCamera.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedCamera.h	(revision 94)
@@ -0,0 +1,91 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedCamera.h
+ * \brief Class for a simulation camera
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2014/03/06
+ * \version 4.0
+ */
+
+#ifndef SIMULATEDCAMERA_H
+#define SIMULATEDCAMERA_H
+
+#include <Camera.h>
+#include <Thread.h>
+#include <cxcore.h>
+
+namespace flair {
+  namespace core {
+    class SharedMem;
+  }
+}
+
+namespace flair {
+namespace sensor {
+/*! \class SimulatedCamera
+*
+* \brief Class for a simulation camera
+*/
+class SimulatedCamera : public core::Thread, public Camera {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a SimulatedCamera.
+	* It will be child of the FrameworkManager.
+  *
+  * \param name name
+  * \param width width
+  * \param height height
+  * \param channels number of channels
+  * \param modelId Model id
+  * \param deviceId Camera id of the Model
+  * \param priority priority of the Thread
+  */
+  SimulatedCamera(std::string name,
+             uint16_t width, uint16_t height, uint8_t channels, uint32_t modelId,uint32_t deviceId,
+             uint8_t priority);
+
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedCamera();
+
+protected:
+  /*!
+  * \brief SharedMem to access datas
+  *
+  */
+  core::SharedMem *shmem;
+
+private:
+  /*!
+  * \brief Run function
+  *
+  * Reimplemented from Thread.
+  *
+  */
+  void Run(void);
+
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data){};
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+
+  size_t buf_size;
+  char* shmemReadBuf;
+};
+} // end namespace sensor
+} // end namespace flair
+#endif // SIMULATEDCAMERA_H
Index: trunk/include/FlairSensorActuator/SimulatedGps.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedGps.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedGps.h	(revision 94)
@@ -0,0 +1,92 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedGps.h
+ * \brief Class for a simulation GPS
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2013/08/23
+ * \version 4.0
+ */
+
+#ifndef SimulatedGPS_H
+#define SimulatedGPS_H
+
+#include <Thread.h>
+#include <NmeaGps.h>
+
+namespace flair {
+  namespace core {
+    class SharedMem;
+  }
+  namespace gui {
+    class SpinBox;
+    class DoubleSpinBox;
+  }
+}
+
+namespace flair {
+namespace sensor {
+/*! \class SimulatedGps
+*
+* \brief Class for a simulation GPS
+*/
+class SimulatedGps : public core::Thread, public NmeaGps {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a simulation GPS
+  * It will be child of the FrameworkManager.
+	* 
+  * \param name name
+  * \param NMEAFlags NMEA sentances to enable
+  * \param modelId Model id
+  * \param deviceId Gps id of the Model
+  * \param priority priority of the Thread
+  */
+  SimulatedGps(std::string name,
+          NmeaGps::NMEAFlags_t NMEAFlags, uint32_t modelId,uint32_t deviceId,uint8_t priority);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedGps();
+
+private:
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data){};
+
+  /*!
+  * \brief Run function
+  *
+  * Reimplemented from Thread.
+  *
+  */
+  void Run(void);
+
+  typedef struct {
+    float e;
+    float n;
+    float u;
+    float ve;
+    float vn;
+  } gps_states_t;
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+
+  core::SharedMem *shmem;
+  gui::SpinBox *dataRate,*fixQuality,*numberOfSatellites;
+  gui::DoubleSpinBox *latitudeRef,*longitudeRef,*altitudeRef,*magneticDeclination;
+};
+} // end namespace sensor
+} // end namespace flair
+#endif // SIMULATEDGPS_H
Index: trunk/include/FlairSensorActuator/SimulatedImu.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedImu.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedImu.h	(revision 94)
@@ -0,0 +1,99 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedImu.h
+ * \brief Class for a simulation Imu
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2014/02/07
+ * \version 4.0
+ */
+
+#ifndef SIMULATEDIMU_H
+#define SIMULATEDIMU_H
+
+#include <Imu.h>
+#include <Thread.h>
+
+namespace flair {
+  namespace core {
+    class SharedMem;
+    class AhrsData;
+  }
+  namespace gui {
+    class SpinBox;
+  }
+}
+
+namespace flair {
+namespace sensor {
+/*! \class SimulatedImu
+*
+* \brief Class for a simulation Imu
+*/
+class SimulatedImu : public Imu, public core::Thread {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a SimulatedImu.
+	* It will be child of the FrameworkManager.
+  *
+  * \param name name
+  * \param modelId Model id
+  * \param deviceId Imu id of the Model
+  * \param priority priority of the Thread
+  */
+  SimulatedImu(std::string name,
+          uint32_t modelId,uint32_t deviceId, uint8_t priority);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedImu();
+
+private:
+  /*!
+  * \brief Run function
+  *
+  * Reimplemented from Thread.
+  *
+  */
+  void Run(void);
+
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data){};
+
+  typedef struct {
+    float q0;
+    float q1;
+    float q2;
+    float q3;
+    float wx;
+    float wy;
+    float wz;
+    float ax;
+    float ay;
+    float az;
+    float mx;
+    float my;
+    float mz;
+  } imu_states_t;
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+
+  gui::SpinBox *dataRate;
+  core::SharedMem *shmem;
+  core::AhrsData *ahrsData;
+};
+} // end namespace sensor
+} // end namespace flair
+#endif // SIMULATEDIMU_H
Index: trunk/include/FlairSensorActuator/SimulatedLaser.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedLaser.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedLaser.h	(revision 94)
@@ -0,0 +1,85 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedUs.h
+ * \brief Class for a simulation UsRangeFinder
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2014/02/07
+ * \version 4.0
+ */
+
+#ifndef SIMULATEDLASER_H
+#define SIMULATEDLASER_H
+
+#include <LaserRangeFinder.h>
+#include <Thread.h>
+
+namespace flair {
+namespace core {
+class SharedMem;
+}
+namespace gui {
+class SpinBox;
+}
+}
+
+namespace flair {
+namespace sensor {
+/*! \class SimulatedUs
+*
+* \brief Class for a simulation UsRangeFinder
+*/
+class SimulatedLaser : public core::Thread, public LaserRangeFinder {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a SimulatedUs.
+  *
+  * \param name name
+  * \param modelId Model id
+  * \param deviceId LaserRangeFinder id of the Model
+  * \param priority priority of the Thread
+  */
+  SimulatedLaser(std::string name,
+            uint32_t modelId,uint32_t deviceId, uint8_t priority);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedLaser();
+
+protected:
+  /*!
+  * \brief SharedMem to access datas
+  *
+  */
+  core::SharedMem *shmem;
+
+private:
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data){};
+
+  /*!
+  * \brief Run function
+  *
+  * Reimplemented from Thread.
+  *
+  */
+  void Run(void);
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+  gui::SpinBox *data_rate;
+};
+} // end namespace sensor
+} // end namespace flair
+#endif // SIMULATEDLASER_H
Index: trunk/include/FlairSensorActuator/SimulatedPressureSensor.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedPressureSensor.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedPressureSensor.h	(revision 94)
@@ -0,0 +1,86 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedPressureSensor.h
+ * \brief Class for a simulation PressureSensor
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2018/05/24
+ * \version 4.0
+ */
+
+#ifndef SIMULATEDPRESSURESENSOR_H
+#define SIMULATEDPRESSURESENSOR_H
+
+#include <PressureSensor.h>
+#include <Thread.h>
+
+namespace flair {
+namespace core {
+class SharedMem;
+}
+namespace gui {
+class SpinBox;
+}
+}
+
+namespace flair {
+namespace sensor {
+/*! \class SimulatedPressureSensor
+*
+* \brief Class for a simulation PressureSensor
+*/
+class SimulatedPressureSensor : public core::Thread, public PressureSensor {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a SimulatedPressureSensor.
+	* It will be child of the FrameworkManager.
+  *
+  * \param name name
+  * \param modelId Model id
+  * \param deviceId PressureSensor id of the Model
+  * \param priority priority of the Thread
+  */
+  SimulatedPressureSensor(std::string name,
+         uint32_t modelId,uint32_t deviceId, uint8_t priority);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedPressureSensor();
+
+protected:
+  /*!
+  * \brief SharedMem to access datas
+  *
+  */
+  core::SharedMem *shmem;
+
+private:
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data){};
+
+  /*!
+  * \brief Run function
+  *
+  * Reimplemented from Thread.
+  *
+  */
+  void Run(void);
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+  gui::SpinBox *data_rate;
+};
+} // end namespace sensor
+} // end namespace flair
+#endif // SIMULATEDPRESSURESENSOR_H
Index: trunk/include/FlairSensorActuator/SimulatedUs.h
===================================================================
--- trunk/include/FlairSensorActuator/SimulatedUs.h	(revision 94)
+++ trunk/include/FlairSensorActuator/SimulatedUs.h	(revision 94)
@@ -0,0 +1,86 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file SimulatedUs.h
+ * \brief Class for a simulation UsRangeFinder
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2014/02/07
+ * \version 4.0
+ */
+
+#ifndef SIMULATEDUS_H
+#define SIMULATEDUS_H
+
+#include <UsRangeFinder.h>
+#include <Thread.h>
+
+namespace flair {
+namespace core {
+class SharedMem;
+}
+namespace gui {
+class SpinBox;
+}
+}
+
+namespace flair {
+namespace sensor {
+/*! \class SimulatedUs
+*
+* \brief Class for a simulation UsRangeFinder
+*/
+class SimulatedUs : public core::Thread, public UsRangeFinder {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a SimulatedUs.
+	* It will be child of the FrameworkManager.
+  *
+  * \param name name
+  * \param modelId Model id
+  * \param deviceId UsRangeFinder id of the Model
+  * \param priority priority of the Thread
+  */
+  SimulatedUs(std::string name,
+         uint32_t modelId,uint32_t deviceId, uint8_t priority);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~SimulatedUs();
+
+protected:
+  /*!
+  * \brief SharedMem to access datas
+  *
+  */
+  core::SharedMem *shmem;
+
+private:
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data){};
+
+  /*!
+  * \brief Run function
+  *
+  * Reimplemented from Thread.
+  *
+  */
+  void Run(void);
+  
+  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
+  gui::SpinBox *data_rate;
+};
+} // end namespace sensor
+} // end namespace flair
+#endif // SIMULATEDUS_H
Index: trunk/include/FlairSensorActuator/VrpnObject.h
===================================================================
--- trunk/include/FlairSensorActuator/VrpnObject.h	(revision 76)
+++ trunk/include/FlairSensorActuator/VrpnObject.h	(revision 94)
@@ -16,4 +16,5 @@
 
 #include <IODevice.h>
+#include <VrpnClient.h>
 #include <Vector3D.h>
 #include <stdint.h>
@@ -32,5 +33,4 @@
 
 class VrpnObject_impl;
-class VrpnClient_impl;
 
 namespace flair {
@@ -45,5 +45,4 @@
 class VrpnObject : public core::IODevice {
   friend class ::VrpnObject_impl;
-  friend class ::VrpnClient_impl;
 
 public:
@@ -55,19 +54,21 @@
   * \param name VRPN object name, should be the same as defined in the server
   * \param tab Tab for the user interface
+  * \param client VrpnClient of the connection, if unspecified, use the default one
   */
   VrpnObject(std::string name,
-             const gui::TabWidget *tab);
+             const gui::TabWidget *tab,sensor::VrpnClient *client=GetVrpnClient());
 
   /*!
   * \brief Constructor
   *
-  * Construct a VrpnObject. Connection is done by IP.
+  * Construct a VrpnObject. Connection is done by xbee.
   *
   * \param name name
-  * \param id VRPN object id, should be the same as defined in the server
+  * \param id VRPN object id, should be the same as defined in the xbee bridge
   * \param tab Tab for the user interface
+  * \param client VrpnClient of the connection, if unspecified, use the default one
   */
   VrpnObject(std::string name, uint8_t id,
-             const gui::TabWidget *tab);
+             const gui::TabWidget *tab,sensor::VrpnClient *client=GetVrpnClient());
 
   /*!
