Flair
Framework Libre Air
Ahrs.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 AHRS_H
14 #define AHRS_H
15 
16 #include <IODevice.h>
17 #include <DataPlot.h>
18 
19 namespace flair {
20  namespace core {
21  class Euler;
22  class Vector3D;
23  class ImuData;
24  class Quaternion;
25  class AhrsData;
26  }
27  namespace gui {
28  class Tab;
29  class DataPlot1D;
30  }
31  namespace sensor {
32  class Imu;
33  }
34 }
35 
36 class Ahrs_impl;
37 
38 namespace flair {
39 namespace filter {
48 class Ahrs : public core::IODevice {
49 public:
58  Ahrs(const sensor::Imu *parent, std::string name);
59 
64  ~Ahrs();
65 
71  const sensor::Imu *GetImu(void) const;
72 
78  const core::AhrsData *GetDatas(void) const;
79 
86  void LockUserInterface(void) const;
87 
92  void UnlockUserInterface(void) const;
93 
101  void UseDefaultPlot(void);
102 
111  void AddPlot(const core::AhrsData *ahrsData, gui::DataPlot::Color_t color);
112 
121  gui::DataPlot1D *RollPlot(void) const;
122 
131  gui::DataPlot1D *PitchPlot(void) const;
132 
141  gui::DataPlot1D *YawPlot(void) const;
142 
151  gui::DataPlot1D *WXPlot(void) const;
152 
161  gui::DataPlot1D *WYPlot(void) const;
162 
171  gui::DataPlot1D *WZPlot(void) const;
172 
173 protected:
179  void GetDatas(core::AhrsData **ahrsData) const;
180 
181 private:
182  class Ahrs_impl *pimpl_;
183 };
184 } // end namespace filter
185 } // end namespace flair
186 #endif // AHRS_H
gui::DataPlot1D * YawPlot(void) const
Yaw plot.
void AddPlot(const core::AhrsData *ahrsData, gui::DataPlot::Color_t color)
Add plot.
Abstract class for input/ouput system.
Definition: IODevice.h:44
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a 3D vector.
Definition: Vector3D.h:28
void LockUserInterface(void) const
Lock the graphical user interface.
Class defining euler angles.
Definition: Euler.h:27
Class defining AHRS datas.
Definition: AhrsData.h:30
Base class for Imu.
Definition: Imu.h:43
Abstract class for input/ouput system.
gui::DataPlot1D * WXPlot(void) const
Rotation speed around x axis plot.
Abstract class for AHRS.
Definition: Ahrs.h:48
gui::DataPlot1D * RollPlot(void) const
Roll plot.
void UseDefaultPlot(void)
Use default plot.
gui::DataPlot1D * WZPlot(void) const
Rotation speed around z axis plot.
gui::DataPlot1D * WYPlot(void) const
Rotation speed around y axis plot.
void UnlockUserInterface(void) const
Unlock the graphical user interface.
const sensor::Imu * GetImu(void) const
Get parent Imu.
Color_t
Types of colors.
Definition: DataPlot.h:40
Abstract class to display plots on ground station.
gui::DataPlot1D * PitchPlot(void) const
Pitch plot.
Class displaying a 1D plot on the ground station.
Definition: DataPlot1D.h:33
Class defining a quaternion.
Definition: Quaternion.h:25
Class displaying a QTab on the ground station.
Definition: Tab.h:29
Class defining IMU datas.
Definition: ImuData.h:31
~Ahrs()
Destructor.
const core::AhrsData * GetDatas(void) const
Get ahrs datas.
Ahrs(const sensor::Imu *parent, std::string name)
Constructor.