Index: trunk/demos/CircleFollower/uav/src/CircleFollower.cpp
===================================================================
--- trunk/demos/CircleFollower/uav/src/CircleFollower.cpp	(revision 33)
+++ trunk/demos/CircleFollower/uav/src/CircleFollower.cpp	(revision 38)
@@ -13,4 +13,5 @@
 
 #include "CircleFollower.h"
+#include <TargetController.h>
 #include <Uav.h>
 #include <GridLayout.h>
@@ -33,8 +34,9 @@
 using namespace flair::core;
 using namespace flair::gui;
+using namespace flair::sensor;
 using namespace flair::filter;
 using namespace flair::meta;
 
-CircleFollower::CircleFollower(Uav* uav): UavStateMachine(uav), behaviourMode(BehaviourMode_t::Default), vrpnLost(false) {
+CircleFollower::CircleFollower(Uav* uav,TargetController *controller): UavStateMachine(uav,controller), behaviourMode(BehaviourMode_t::Default), vrpnLost(false) {
     uav->SetupVRPNAutoIP(uav->ObjectName());
 
Index: trunk/demos/CircleFollower/uav/src/CircleFollower.h
===================================================================
--- trunk/demos/CircleFollower/uav/src/CircleFollower.h	(revision 33)
+++ trunk/demos/CircleFollower/uav/src/CircleFollower.h	(revision 38)
@@ -27,9 +27,12 @@
         class MetaVrpnObject;
     }
+    namespace sensor {
+        class TargetController;
+    }
 }
 
 class CircleFollower : public flair::meta::UavStateMachine {
     public:
-        CircleFollower(flair::meta::Uav* uav);
+        CircleFollower(flair::meta::Uav* uav,flair::sensor::TargetController *controller);
         ~CircleFollower();
 
Index: trunk/demos/CircleFollower/uav/src/main.cpp
===================================================================
--- trunk/demos/CircleFollower/uav/src/main.cpp	(revision 33)
+++ trunk/demos/CircleFollower/uav/src/main.cpp	(revision 38)
@@ -17,4 +17,5 @@
 #include <stdio.h>
 #include <tclap/CmdLine.h>
+#include <TargetEthController.h>
 
 using namespace TCLAP;
@@ -22,8 +23,10 @@
 using namespace flair::core;
 using namespace flair::meta;
+using namespace flair::sensor;
 
 string uav_type;
 string log_path;
 int port;
+int ds3port;
 string xml_file;
 string name;
@@ -43,5 +46,6 @@
 
     Uav* drone=CreateUav(manager,name,uav_type);
-    CircleFollower* demo=new CircleFollower(drone);
+    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    CircleFollower* demo=new CircleFollower(drone,controller);
 
     demo->Start();
@@ -74,4 +78,7 @@
         cmd.add( addressArg );
 
+        ValueArg<int> ds3portArg("d","ds3_port","port pour ds3",false,20000,"int");
+        cmd.add( ds3portArg );
+
         cmd.parse( argc, argv );
 
@@ -79,4 +86,5 @@
         log_path = logsArg.getValue();
         port=portArg.getValue();
+        ds3port=ds3portArg.getValue();
         xml_file = xmlArg.getValue();
         name=nameArg.getValue();
Index: trunk/demos/SimpleFleet/uav/src/SimpleFleet.cpp
===================================================================
--- trunk/demos/SimpleFleet/uav/src/SimpleFleet.cpp	(revision 33)
+++ trunk/demos/SimpleFleet/uav/src/SimpleFleet.cpp	(revision 38)
@@ -13,4 +13,5 @@
 
 #include "SimpleFleet.h"
+#include <TargetController.h>
 #include <Uav.h>
 #include <GridLayout.h>
@@ -49,5 +50,5 @@
 
 
-SimpleFleet::SimpleFleet(flair::meta::Uav* uav,string broadcast,uint16_t ds3port): UavStateMachine(uav,ds3port), behaviourMode(BehaviourMode_t::Default), vrpnLost(false) {
+SimpleFleet::SimpleFleet(flair::meta::Uav* uav,string broadcast,TargetController *controller): UavStateMachine(uav,controller), behaviourMode(BehaviourMode_t::Default), vrpnLost(false) {
     uav->SetupVRPNAutoIP(uav->ObjectName());
 
Index: trunk/demos/SimpleFleet/uav/src/SimpleFleet.h
===================================================================
--- trunk/demos/SimpleFleet/uav/src/SimpleFleet.h	(revision 33)
+++ trunk/demos/SimpleFleet/uav/src/SimpleFleet.h	(revision 38)
@@ -34,5 +34,5 @@
 class SimpleFleet : public flair::meta::UavStateMachine {
     public:
-        SimpleFleet(flair::meta::Uav* uav,std::string broadcast,uint16_t ds3port);
+        SimpleFleet(flair::meta::Uav* uav,std::string broadcast,flair::sensor::TargetController *controller);
         ~SimpleFleet();
 
Index: trunk/demos/SimpleFleet/uav/src/main.cpp
===================================================================
--- trunk/demos/SimpleFleet/uav/src/main.cpp	(revision 33)
+++ trunk/demos/SimpleFleet/uav/src/main.cpp	(revision 38)
@@ -17,4 +17,5 @@
 #include <stdio.h>
 #include <tclap/CmdLine.h>
+#include <TargetEthController.h>
 
 using namespace TCLAP;
@@ -22,4 +23,5 @@
 using namespace flair::core;
 using namespace flair::meta;
+using namespace flair::sensor;
 
 string uav_type;
@@ -45,5 +47,6 @@
 
     Uav* drone=CreateUav(manager,name,uav_type);
-    SimpleFleet* demo=new SimpleFleet(drone,broadcast,ds3port);
+    TargetEthController *controller=new TargetEthController(manager,"Dualshock3",ds3port);
+    SimpleFleet* demo=new SimpleFleet(drone,broadcast,controller);
 
     demo->Start();
