Index: trunk/demos/CircleFollower/uav/src/CircleFollower.cpp
===================================================================
--- trunk/demos/CircleFollower/uav/src/CircleFollower.cpp	(revision 430)
+++ trunk/demos/CircleFollower/uav/src/CircleFollower.cpp	(revision 431)
@@ -40,5 +40,5 @@
     Uav* uav=GetUav();
 
-    VrpnClient* vrpnclient=new VrpnClient("vrpn", uav->GetDefaultVrpnAddress(),80);
+    VrpnClient* vrpnclient=new VrpnClient("vrpn", uav->GetDefaultVrpnAddress(),80,uav->GetDefaultVrpnConnectionType());
     
     if(vrpnclient->ConnectionType()==VrpnClient::Xbee) {
@@ -49,6 +49,6 @@
         targetVrpn=new MetaVrpnObject("target");
     } else if (vrpnclient->ConnectionType()==VrpnClient::VrpnLite) {
-        uavVrpn = new MetaVrpnObject(uav->ObjectName(),(uint8_t)0);
-        targetVrpn=new MetaVrpnObject("target",1);
+        uavVrpn = new MetaVrpnObject(uav->ObjectName());
+        targetVrpn=new MetaVrpnObject("target");
     }
     
Index: trunk/demos/MixedReality/real/uav/src/CircleFollower.cpp
===================================================================
--- trunk/demos/MixedReality/real/uav/src/CircleFollower.cpp	(revision 430)
+++ trunk/demos/MixedReality/real/uav/src/CircleFollower.cpp	(revision 431)
@@ -41,6 +41,12 @@
     Uav* uav=GetUav();
 
-    VrpnClient* realVrpnClient=new VrpnClient("real_vrpn", uav->GetDefaultVrpnAddress(),80);
-    uavVrpn = new MetaVrpnObject(uav->ObjectName());
+    VrpnClient* realVrpnClient=new VrpnClient("real_vrpn", uav->GetDefaultVrpnAddress(),80,uav->GetDefaultVrpnConnectionType());
+    if(realVrpnClient->ConnectionType()==VrpnClient::Xbee) {
+        uavVrpn = new MetaVrpnObject(uav->ObjectName(),(uint8_t)0);
+    } else if (realVrpnClient->ConnectionType()==VrpnClient::Vrpn) {
+        uavVrpn = new MetaVrpnObject(uav->ObjectName());
+    } else if (realVrpnClient->ConnectionType()==VrpnClient::VrpnLite) {
+        uavVrpn = new MetaVrpnObject(uav->ObjectName());
+    }
     getFrameworkManager()->AddDeviceToLog(uavVrpn);
     uav->GetAhrs()->YawPlot()->AddCurve(uavVrpn->State()->Element(2),DataPlot::Green);
@@ -52,6 +58,6 @@
     VrpnClient* simuVrpnClient=new VrpnClient("simu_vrpn", vrpn,80);//simu_simu vrpn server
     targetVrpn=new MetaVrpnObject("Drone_1",simuVrpnClient);
-		simuVrpnClient->Start();
-		realVrpnClient->Start();
+	simuVrpnClient->Start();
+	realVrpnClient->Start();
 
     getFrameworkManager()->AddDeviceToLog(targetVrpn);
Index: trunk/demos/SimpleFleet/uav/src/SimpleFleet.cpp
===================================================================
--- trunk/demos/SimpleFleet/uav/src/SimpleFleet.cpp	(revision 430)
+++ trunk/demos/SimpleFleet/uav/src/SimpleFleet.cpp	(revision 431)
@@ -53,6 +53,12 @@
     Uav* uav=GetUav();
 		
-	VrpnClient* vrpnclient=new VrpnClient("vrpn", uav->GetDefaultVrpnAddress(),80);
-	uavVrpn = new MetaVrpnObject(uav->ObjectName());
+	VrpnClient* vrpnclient=new VrpnClient("vrpn", uav->GetDefaultVrpnAddress(),80,uav->GetDefaultVrpnConnectionType());
+    if(vrpnclient->ConnectionType()==VrpnClient::Xbee) {
+        uavVrpn = new MetaVrpnObject(uav->ObjectName(),(uint8_t)0);
+    } else if (vrpnclient->ConnectionType()==VrpnClient::Vrpn) {
+        uavVrpn = new MetaVrpnObject(uav->ObjectName());
+    } else if (vrpnclient->ConnectionType()==VrpnClient::VrpnLite) {
+        uavVrpn = new MetaVrpnObject(uav->ObjectName());
+    }
 	getFrameworkManager()->AddDeviceToLog(uavVrpn);
 	uav->GetAhrs()->YawPlot()->AddCurve(uavVrpn->State()->Element(2),DataPlot::Green);
Index: trunk/lib/FlairMeta/src/Uav.h
===================================================================
--- trunk/lib/FlairMeta/src/Uav.h	(revision 430)
+++ trunk/lib/FlairMeta/src/Uav.h	(revision 431)
@@ -15,4 +15,5 @@
 
 #include <Object.h>
+#include <VrpnClient.h>
 
 namespace flair {
@@ -66,4 +67,5 @@
   sensor::PressureSensor *GetPressureSensor(void) const;
 	virtual std::string GetDefaultVrpnAddress(void) const{return "127.0.0.1:3883";}
+	virtual sensor::VrpnClient::ConnectionType_t GetDefaultVrpnConnectionType(void) const{return sensor::VrpnClient::ConnectionType_t::Vrpn;}
   virtual bool isReadyToFly(void) const { return true;}
   virtual std::string GetType(void) const=0;
