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  }
27 }
28 
29 namespace flair { namespace filter {
36  class AhrsComplementaryFilter : public Ahrs {
37  public:
46  AhrsComplementaryFilter(const sensor::Imu* parent,std::string name);
47 
53 
54  private:
62  void UpdateFrom(const core::io_data *data);
63 
64  core::Time previous_time;
65 
66  bool isInit;
67  core::Quaternion QHat;
68  core::Vector3D BHat;
69  gui::DoubleSpinBox *ka[3];
70  gui::DoubleSpinBox *kb[3];
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.
Definition: Vector3D.h:28
unsigned long long Time
Time definition, in ns.
Definition: Object.h:49
Class defining a 3D vector.
Base class for Imu.
Definition: Imu.h:43
Abstract class for AHRS.
Definition: Ahrs.h:48
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 defining an Ahrs complementary filter.
Definition: AhrsComplementaryFilter.h:36
Class defining a quaternion.
Definition: Quaternion.h:25