Flair
Framework Libre Air
AhrsComplementaryFilter.h
Go to the documentation of this file.
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
13 #ifndef AHRSCOMPLEMENTARYFILTER_H
14 #define AHRSCOMPLEMENTARYFILTER_H
15 
16 #include <Ahrs.h>
17 #include <Vector3D.h>
18 #include <Quaternion.h>
19 
20 namespace flair {
21  namespace sensor {
22  class Imu;
23  }
24  namespace gui {
25  class DoubleSpinBox;
26  class Vector3DSpinBox;
27  }
28 }
29 
30 namespace flair { namespace filter {
37  class AhrsComplementaryFilter : public Ahrs {
38  public:
47  AhrsComplementaryFilter(const sensor::Imu* parent,std::string name);
48 
54 
55  private:
63  void UpdateFrom(const core::io_data *data);
64 
65  core::Quaternion QHat;
66  core::Vector3Df BHat;
67  gui::DoubleSpinBox *ka[3];
68  gui::DoubleSpinBox *kb[3];
69  gui::DoubleSpinBox *km[3];
70  gui::Vector3DSpinBox *magRef;
71  };
72 } // end namespace filter
73 } // end namespace flair
74 #endif // AHRSCOMPLEMENTARYFILTER_H
Abstract class for data types.
Definition: io_data.h:94
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a 3D vector.
Base class for Imu.
Definition: Imu.h:44
Abstract class for AHRS.
Definition: Ahrs.h:44
Class defining a quaternion.
Class displaying a QDoubleSpinBox on the ground station.
Definition: DoubleSpinBox.h:28
Abstract class for AHRS.
AhrsComplementaryFilter(const sensor::Imu *parent, std::string name)
Constructor.
Class displaying 3 QDoubleSpinBox for x,y,z on the ground station.
Definition: Vector3DSpinBox.h:28
Class defining an Ahrs complementary filter.
Definition: AhrsComplementaryFilter.h:37
Class defining a quaternion.
Definition: Quaternion.h:26