Flair
Framework Libre Air
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties
Imu.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 IMU_H
14 #define IMU_H
15 
16 #include <IODevice.h>
17 
18 namespace flair {
19 namespace core {
20 class ImuData;
21 class OneAxisRotation;
22 }
23 namespace gui {
24 class Tab;
25 class TabWidget;
26 class GroupBox;
27 class Layout;
28 class DataPlot1D;
29 }
30 }
31 
32 class Ahrs_impl;
33 
34 namespace flair {
35 namespace sensor {
43 class Imu : public core::IODevice {
44  friend class ::Ahrs_impl;
45 
46 public:
55  Imu(const core::FrameworkManager *parent, std::string name);
56 
66  Imu(const core::IODevice *parent, std::string name);
67 
72  ~Imu();
73 
79  gui::Layout *GetLayout(void) const;
80 
85  void LockUserInterface(void) const;
86 
91  void UnlockUserInterface(void) const;
92 
97  void UseDefaultPlot(void);
98 
104  gui::Tab *GetPlotTab(void) const;
105 
106 protected:
112  gui::GroupBox *GetGroupBox(void) const;
113 
122  void UpdateImu();
123 
129  void GetDatas(core::ImuData **imuData) const;
130 
131 private:
132  gui::Tab *mainTab, *sensorTab, *plotTab;
133  gui::TabWidget *tab;
134  gui::GroupBox *setupGroupbox;
135  core::OneAxisRotation *rotation;
136  core::ImuData *imuData;
137 
138  gui::DataPlot1D *axPlot, *ayPlot, *azPlot;
139  gui::DataPlot1D *gxPlot, *gyPlot, *gzPlot;
140  gui::DataPlot1D *mxPlot, *myPlot, *mzPlot;
141 };
142 } // end namespace sensor
143 } // end namespace flair
144 
145 #endif // IMU_H
void UnlockUserInterface(void) const
Unlock user interface.
Abstract class for input/ouput system.
Definition: IODevice.h:44
gui::GroupBox * GetGroupBox(void) const
Setup GroupBox.
Class displaying a QGroupBox on the ground station.
Definition: GroupBox.h:27
~Imu()
Destructor.
Imu(const core::FrameworkManager *parent, std::string name)
Constructor.
gui::Layout * GetLayout(void) const
Setup Layout.
Class defining a rotation around one axis.
Definition: OneAxisRotation.h:38
void UseDefaultPlot(void)
Use default plot.
Base class for Imu.
Definition: Imu.h:43
Abstract class for input/ouput system.
void LockUserInterface(void) const
Lock user interface.
Abstract class to display a layout on the ground station.
Definition: Layout.h:33
Main class of the Framework library.
Definition: FrameworkManager.h:45
gui::Tab * GetPlotTab(void) const
Plot tab.
Class displaying a QTabWidget on the ground station.
Definition: TabWidget.h:29
void UpdateImu()
UpdateImu.
Class displaying a 1D plot on the ground station.
Definition: DataPlot1D.h:33
Class displaying a QTab on the ground station.
Definition: Tab.h:29
void GetDatas(core::ImuData **imuData) const
Get imu datas.
Class defining IMU datas.
Definition: ImuData.h:31