Index: trunk/ReleaseNotes
===================================================================
--- trunk/ReleaseNotes	(revision 106)
+++ trunk/ReleaseNotes	(revision 107)
@@ -1,7 +1,11 @@
 * Actual Version:
 
+-----------------------------------------------------------
+* Tag 0.0.2:
+
+- src/SensorActuator: quaternion support for 3dmgx3
 - tool/FlairGCS: added rx rate display
 - demos/SimpleFleet: new demo, 2 UAVs coordination
-- srs/FlairSimulator: added fixed camera
+- src/FlairSimulator: added fixed camera
 
 -----------------------------------------------------------
Index: trunk/lib/FlairMeta/src/HdsX8.cpp
===================================================================
--- trunk/lib/FlairMeta/src/HdsX8.cpp	(revision 106)
+++ trunk/lib/FlairMeta/src/HdsX8.cpp	(revision 107)
@@ -62,5 +62,5 @@
           }
   */
-  //SetVerticalCamera(new Ps3Eye(parent, "camv", 0, 50));
+  SetVerticalCamera(new Ps3Eye(parent, "camv", 0, 50));
 }
 
@@ -70,5 +70,5 @@
   ((Gx3_25_ahrs *)GetAhrs())->Start();
   ((Srf08 *)GetUsRangeFinder())->Start();
-  //((Ps3Eye *)GetVerticalCamera())->Start();
+  ((Ps3Eye *)GetVerticalCamera())->Start();
   Uav::StartSensors();
 }
Index: trunk/lib/FlairSimulator/src/FixedCamera.cpp
===================================================================
--- trunk/lib/FlairSimulator/src/FixedCamera.cpp	(revision 106)
+++ trunk/lib/FlairSimulator/src/FixedCamera.cpp	(revision 107)
@@ -43,4 +43,5 @@
   camera->setPosition(vector3df(ToIrrlichtCoordinates(position)));
   camera->setTarget(vector3df(ToIrrlichtCoordinates(lookat)));
+  target=vector3df(ToIrrlichtCoordinates(lookat));
   init=false;
   rotation=camera->getRotation();
@@ -62,4 +63,5 @@
   ICameraSceneNode *camera = static_cast<ICameraSceneNode *>(node);
   vector3df newRotation=rotation;
+  vector3df newTarget=target;
 
 if(init==false) {
@@ -76,10 +78,14 @@
       Rotating = true;
       //nRotY = rotation.Y;
-      nRotZ = rotation.Z;
+      //nRotZ =0;// rotation.Z;
     } else {
       nRotY = (RotateStart.Y - MousePos.Y) * rotateSpeed;
-      nRotZ += (RotateStart.X - MousePos.X) * rotateSpeed;
+      nRotZ = (RotateStart.X - MousePos.X) * rotateSpeed;
       newRotation.rotateXZBy(-nRotY);
       //nRotY = sat(nRotY);
+
+      //newTarget.rotateXZBy(-nRotY,camera->getPosition());
+      newTarget.rotateXYBy( nRotZ,camera->getPosition());
+      camera->setTarget(newTarget);
     }
   } else if (Rotating) {
@@ -88,6 +94,9 @@
     //rotation.Y = sat(rotation.Y);
     //nRotY = rotation.Y;
-    nRotZ = rotation.Z;
+    //nRotZ = rotation.Z;
     Rotating = false;
+    target=camera->getTarget();
+    rotation=camera->getRotation();
+  printf("%f %f %f\n",rotation.X,rotation.Y,rotation.Z);
   }
 
@@ -102,11 +111,12 @@
   }
 
-
+//newTarget.rotateXZBy(-nRotY,camera->getPosition());
+//  newTarget.rotateXYBy( nRotZ,camera->getPosition());
 
   //camera->setRotation(vector3df(rotation.X,-180-nRotY,nRotZ));
   //camera->setRotation(vector3df(rotation.X,nRotY,0));
   //camera->bindTargetAndRotation(true);
-  camera->setRotation(rotation);
-  //camera->setTarget(vector3df(ToIrrlichtCoordinates(core::Vector3D(0,0,-2))));
+ // camera->setRotation(rotation);
+ // camera->setTarget(newTarget);
   //rotation=camera->getRotation();
   //printf("%f %f %f\n",rotation.X,rotation.Y,rotation.Z);
Index: trunk/lib/FlairSimulator/src/FixedCamera.h
===================================================================
--- trunk/lib/FlairSimulator/src/FixedCamera.h	(revision 106)
+++ trunk/lib/FlairSimulator/src/FixedCamera.h	(revision 107)
@@ -34,5 +34,5 @@
   float sat(float value);
   irr::core::position2df RotateStart;
-  irr::core::vector3df rotation;
+  irr::core::vector3df rotation,target;
   bool Rotating;
   float rotateSpeed;
Index: trunk/tools/Controller/DualShock3/CMakeLists.txt
===================================================================
--- trunk/tools/Controller/DualShock3/CMakeLists.txt	(revision 106)
+++ trunk/tools/Controller/DualShock3/CMakeLists.txt	(revision 107)
@@ -1,8 +1,9 @@
 PROJECT(dualshock3)
 cmake_minimum_required(VERSION 2.8)
+include($ENV{FLAIR_ROOT}/flair-dev/cmake-modules/GlobalCmakeFlair.cmake)
+
+if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i686" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i586" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64")
 
 SET(FLAIR_USE_SENSOR_ACTUATOR TRUE)
-
-include($ENV{FLAIR_ROOT}/flair-dev/cmake-modules/GlobalCmakeFlair.cmake)
 include(${FLAIR_USE_FILE})
 
@@ -31,2 +32,6 @@
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
+
+else()
+warn("${PROJECT_NAME} will not be built for ${CMAKE_SYSTEM_PROCESSOR} architecture")
+endif()
Index: trunk/tools/Controller/Mavlink/CMakeLists.txt
===================================================================
--- trunk/tools/Controller/Mavlink/CMakeLists.txt	(revision 106)
+++ trunk/tools/Controller/Mavlink/CMakeLists.txt	(revision 107)
@@ -1,6 +1,8 @@
 PROJECT(MavPlanner)
 cmake_minimum_required(VERSION 2.8)
+include($ENV{FLAIR_ROOT}/flair-dev/cmake-modules/GlobalCmakeFlair.cmake)
 
-include($ENV{FLAIR_ROOT}/flair-dev/cmake-modules/GlobalCmakeFlair.cmake)
+if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i686" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i586" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64")
+
 include(${FLAIR_USE_FILE})
 
@@ -27,2 +29,6 @@
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
+
+else()
+warn("${PROJECT_NAME} will not be built for ${CMAKE_SYSTEM_PROCESSOR} architecture")
+endif()
Index: trunk/tools/Dbt2csv/CMakeLists.txt
===================================================================
--- trunk/tools/Dbt2csv/CMakeLists.txt	(revision 106)
+++ trunk/tools/Dbt2csv/CMakeLists.txt	(revision 107)
@@ -2,4 +2,6 @@
 cmake_minimum_required(VERSION 2.8)
 include($ENV{FLAIR_ROOT}/flair-dev/cmake-modules/GlobalCmakeFlair.cmake)
+
+if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i686" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i586" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64")
 
 SET(PROJECT_SOURCE_FILES
@@ -47,2 +49,6 @@
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
+
+else()
+warn("${PROJECT_NAME} will not be built for ${CMAKE_SYSTEM_PROCESSOR} architecture")
+endif()
Index: trunk/tools/FlairGCS/CMakeLists.txt
===================================================================
--- trunk/tools/FlairGCS/CMakeLists.txt	(revision 106)
+++ trunk/tools/FlairGCS/CMakeLists.txt	(revision 107)
@@ -2,4 +2,6 @@
 cmake_minimum_required(VERSION 2.8)
 include($ENV{FLAIR_ROOT}/flair-dev/cmake-modules/GlobalCmakeFlair.cmake)
+
+if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i686" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i586" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64")
 
 execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
@@ -85,2 +87,6 @@
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
+
+else()
+warn("${PROJECT_NAME} will not be built for ${CMAKE_SYSTEM_PROCESSOR} architecture")
+endif()
