Flair
Framework Libre Air
SimuImu.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 SIMUIMU_H
14 #define SIMUIMU_H
15 
16 #include <IODevice.h>
17 
18 namespace flair {
19  namespace core {
20  class SharedMem;
21  }
22 }
23 
24 namespace flair {
25 namespace sensor {
30 class SimuImu : public core::IODevice {
31 public:
42  SimuImu(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
43 
48  ~SimuImu();
49 
50 private:
58  void UpdateFrom(const core::io_data *data);
59 
60  typedef struct {
61  float q0;
62  float q1;
63  float q2;
64  float q3;
65  float wx;
66  float wy;
67  float wz;
68  float ax;
69  float ay;
70  float az;
71  float mx;
72  float my;
73  float mz;
74  } imu_states_t;
75 
76  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
77 
78  core::SharedMem *shmem;
79 };
80 } // end namespace sensor
81 } // end namespace flair
82 #endif // SIMUIMU_H
Abstract class for data types.
Definition: io_data.h:94
Abstract class for input/ouput system.
Definition: IODevice.h:45
namespace of the flair Framework
Definition: Ahrs.h:19
~SimuImu()
Destructor.
Abstract class for input/ouput system.
Class for a simulation Imu.
Definition: SimuImu.h:30
Class defining a shared memory.
Definition: SharedMem.h:32
SimuImu(const core::IODevice *parent, std::string name, uint32_t modelId, uint32_t deviceId)
Constructor.