Index: trunk/lib/FlairFilter/src/Gx3_25_ahrs.cpp
===================================================================
--- trunk/lib/FlairFilter/src/Gx3_25_ahrs.cpp	(revision 397)
+++ 	(revision )
@@ -1,58 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-//  created:    2013/01/16
-//  filename:   Gx3_25_ahrs.cpp
-//
-//  author:     Guillaume Sanahuja
-//              Copyright Heudiasyc UMR UTC/CNRS 7253
-//
-//  version:    $Id: $
-//
-//  purpose:    class for 3dmgx3-25 ahrs
-//
-//
-/*********************************************************************/
-#ifdef ARMV7A
-
-#include "Gx3_25_ahrs.h"
-#include <AhrsData.h>
-#include <OneAxisRotation.h>
-
-using std::string;
-using namespace flair::core;
-using namespace flair::sensor;
-
-namespace flair {
-namespace filter {
-
-Gx3_25_ahrs::Gx3_25_ahrs(string name,
-                         SerialPort *serialport, Gx3_25_imu::Command_t command,
-                         uint8_t priority)
-    : Ahrs(new Gx3_25_imu( "imu", serialport, command, priority), name) {
-
-  SetIsReady(true);
-}
-
-Gx3_25_ahrs::~Gx3_25_ahrs() {}
-
-// datas outputed from Gx3_25_imu are AhrsData!
-void Gx3_25_ahrs::UpdateFrom(const io_data *data) {
-  AhrsData *input = (AhrsData *)data;
-  AhrsData *output;
-  GetDatas(&output);
-
-  Quaternion quaternion;
-  Vector3Df filteredAngRates;
-  input->GetQuaternionAndAngularRates(quaternion, filteredAngRates);
-  output->SetQuaternionAndAngularRates(quaternion, filteredAngRates);
-  output->SetDataTime(input->DataTime());
-
-  ProcessUpdate(output);
-}
-
-} // end namespace filter
-} // end namespace flair
-
-#endif
Index: trunk/lib/FlairFilter/src/Gx3_25_ahrs.h
===================================================================
--- trunk/lib/FlairFilter/src/Gx3_25_ahrs.h	(revision 397)
+++ 	(revision )
@@ -1,61 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file Gx3_25_ahrs.h
- * \brief Class for 3dmgx3-25 ahrs
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2013/01/16
- * \version 4.0
- */
-
-#ifndef GX3_25_AHRS_H
-#define GX3_25_AHRS_H
-
-#include <Ahrs.h>
-#include <Gx3_25_imu.h>
-
-namespace flair {
-namespace filter {
-/*! \class Gx3_25_ahrs
-*
-* \brief Class for 3dmgx3-25 ahrs
-*
-* This class constructs a Gx3_25_imu as Imu of this Ahrs.
-*/
-class Gx3_25_ahrs : public Ahrs {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct an Ahrs for 3dmgx3-25. It will be child of the FrameworkManager.
-  *
-  * \param name name
-  * \param serialport Imu SerialPort
-  * \param command command for the Gx3_25_imu continuous mode
-  * \param priority priority of the Gx3_25_imu Thread
-  */
-  Gx3_25_ahrs(std::string name,
-              core::SerialPort *serialport,
-              sensor::Gx3_25_imu::Command_t command, uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~Gx3_25_ahrs();
-
-private:
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data);
-};
-} // end namespace filter
-} // end namespace flair
-#endif // GX3_25_AHRS_H
Index: trunk/lib/FlairFilter/src/PassthroughAhrs.cpp
===================================================================
--- trunk/lib/FlairFilter/src/PassthroughAhrs.cpp	(revision 417)
+++ trunk/lib/FlairFilter/src/PassthroughAhrs.cpp	(revision 417)
@@ -0,0 +1,53 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+//  created:    2021/04/15
+//  filename:   PassthroughAhrs.cpp
+//
+//  author:     Guillaume Sanahuja
+//              Copyright Heudiasyc UMR UTC/CNRS 7253
+//
+//  version:    $Id: $
+//
+//  purpose:    Class for passthrough imu to ahrs. When imu can already delivers ahrs datas
+//
+//
+/*********************************************************************/
+
+#include "PassthroughAhrs.h"
+#include <AhrsData.h>
+
+
+using std::string;
+using namespace flair::core;
+using namespace flair::sensor;
+
+namespace flair {
+namespace filter {
+
+PassthroughAhrs::PassthroughAhrs(Imu *imu,string name)
+    : Ahrs(imu, name) {
+
+  SetIsReady(true);
+}
+
+PassthroughAhrs::~PassthroughAhrs() {}
+
+// datas outputed imu are AhrsData!
+void PassthroughAhrs::UpdateFrom(const io_data *data) {
+  AhrsData *input = (AhrsData *)data;
+  AhrsData *output;
+  GetDatas(&output);
+
+  Quaternion quaternion;
+  Vector3Df filteredAngRates;
+  input->GetQuaternionAndAngularRates(quaternion, filteredAngRates);
+  output->SetQuaternionAndAngularRates(quaternion, filteredAngRates);
+  output->SetDataTime(input->DataTime());
+
+  ProcessUpdate(output);
+}
+
+} // end namespace filter
+} // end namespace flair
Index: trunk/lib/FlairFilter/src/PassthroughAhrs.h
===================================================================
--- trunk/lib/FlairFilter/src/PassthroughAhrs.h	(revision 417)
+++ trunk/lib/FlairFilter/src/PassthroughAhrs.h	(revision 417)
@@ -0,0 +1,61 @@
+// %flair:license{
+// This file is part of the Flair framework distributed under the
+// CECILL-C License, Version 1.0.
+// %flair:license}
+/*!
+ * \file PassthroughAhrs.h
+ * \brief Class for passthrough imu to ahrs. When imu can already delivers ahrs datas
+ * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
+ * \date 2021/04/15
+ * \version 4.0
+ */
+
+#ifndef PASSTHROUGHAHRS_H
+#define PASSTHROUGHAHRS_H
+
+#include <Ahrs.h>
+
+namespace flair {
+  namespace sensor {
+    class Imu;
+  }
+}
+
+namespace flair {
+namespace filter {
+/*! \class PassthroughAhrs
+*
+* \brief Class for passthrough imu to ahrs. When imu can already delivers ahrs datas
+*
+*/
+class PassthroughAhrs : public Ahrs {
+public:
+  /*!
+  * \brief Constructor
+  *
+  * Construct a PassthroughAhrs
+  *
+  * \param imu Imu
+  * \param name name
+  */
+  PassthroughAhrs(sensor::Imu* imu,std::string name);
+
+  /*!
+  * \brief Destructor
+  *
+  */
+  ~PassthroughAhrs();
+
+private:
+  /*!
+  * \brief Update using provided datas
+  *
+  * Reimplemented from IODevice.
+  *
+  * \param data data from the parent to process
+  */
+  void UpdateFrom(const core::io_data *data);
+};
+} // end namespace filter
+} // end namespace flair
+#endif // PASSTHROUGHAHRS_H
Index: trunk/lib/FlairFilter/src/SimulatedAhrs.cpp
===================================================================
--- trunk/lib/FlairFilter/src/SimulatedAhrs.cpp	(revision 397)
+++ 	(revision )
@@ -1,56 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-//  created:    2014/02/07
-//  filename:   SimulatedAhrs.cpp
-//
-//  author:     Guillaume Sanahuja
-//              Copyright Heudiasyc UMR UTC/CNRS 7253
-//
-//  version:    $Id: $
-//
-//  purpose:    Class for a simulation ahrs
-//
-//
-/*********************************************************************/
-#ifdef CORE2_64
-
-#include "SimulatedAhrs.h"
-#include "SimulatedImu.h"
-#include <AhrsData.h>
-
-using std::string;
-using namespace flair::core;
-using namespace flair::sensor;
-
-namespace flair {
-namespace filter {
-
-SimulatedAhrs::SimulatedAhrs(string name, uint32_t modelId,uint32_t deviceId,
-                   uint8_t priority)
-    : Ahrs(new SimulatedImu("imu", modelId,deviceId, priority), name) {
-  SetIsReady(true);
-}
-
-SimulatedAhrs::~SimulatedAhrs() {}
-
-// datas from SimulatedImu are AhrsData!
-void SimulatedAhrs::UpdateFrom(const io_data *data) {
-  AhrsData *input = (AhrsData *)data;
-  AhrsData *output;
-  GetDatas(&output);
-
-  Quaternion quaternion;
-  Vector3Df filteredAngRates;
-  input->GetQuaternionAndAngularRates(quaternion, filteredAngRates);
-  output->SetQuaternionAndAngularRates(quaternion, filteredAngRates);
-  output->SetDataTime(input->DataTime());
-
-  ProcessUpdate(output);
-}
-
-} // end namespace filter
-} // end namespace flair
-
-#endif
Index: trunk/lib/FlairFilter/src/SimulatedAhrs.h
===================================================================
--- trunk/lib/FlairFilter/src/SimulatedAhrs.h	(revision 397)
+++ 	(revision )
@@ -1,59 +1,0 @@
-// %flair:license{
-// This file is part of the Flair framework distributed under the
-// CECILL-C License, Version 1.0.
-// %flair:license}
-/*!
- * \file SimulatedAhrs.h
- * \brief Class for a simulation Ahrs
- * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
- * \date 2014/02/07
- * \version 4.0
- */
-
-#ifndef SIMUAHRS_H
-#define SIMUAHRS_H
-
-#include <Ahrs.h>
-
-namespace flair {
-namespace filter {
-/*! \class SimulatedAhrs
-*
-* \brief Class for a simulation Ahrs
-*
-* This class constructs a SimulatedImu as Imu of this Ahrs.
-*/
-class SimulatedAhrs : public filter::Ahrs {
-public:
-  /*!
-  * \brief Constructor
-  *
-  * Construct a simulation Ahrs. It will be child of the FrameworkManager.
-  *
-  * \param name name
-  * \param modelId Model id
-  * \param deviceId Ahrs id of the Model
-  * \param priority priority of the SimulatedImu Thread
-  */
-  SimulatedAhrs(std::string name,
-           uint32_t modelId,uint32_t deviceId, uint8_t priority);
-
-  /*!
-  * \brief Destructor
-  *
-  */
-  ~SimulatedAhrs();
-
-private:
-  /*!
-  * \brief Update using provided datas
-  *
-  * Reimplemented from IODevice.
-  *
-  * \param data data from the parent to process
-  */
-  void UpdateFrom(const core::io_data *data);
-};
-} // end namespace filter
-} // end namespace flair
-#endif // SIMUAHRS_H
