source: flair-dev/trunk/include/FlairSimulator/SimuImu.h @ 68

Last change on this file since 68 was 68, checked in by Sanahuja Guillaume, 3 years ago

maj for armv5te

File size: 1.5 KB
Line 
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}
5/*!
6 * \file SimuImu.h
7 * \brief Class for a simulation Imu
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/02/07
10 * \version 4.0
11 */
12
13#ifndef SIMUIMU_H
14#define SIMUIMU_H
15
16#include <IODevice.h>
17
18namespace flair {
19  namespace core {
20    class SharedMem;
21  }
22}
23
24namespace flair {
25namespace sensor {
26/*! \class SimuImu
27*
28* \brief Class for a simulation Imu
29*/
30class SimuImu : public core::IODevice {
31public:
32  /*!
33  * \brief Constructor
34  *
35  * Construct a SimuImu.
36  *
37  * \param parent parent
38  * \param name name
39  * \param modelId Model id
40  * \param deviceId Imu id of the Model
41  */
42  SimuImu(const core::IODevice *parent, std::string name, uint32_t modelId,uint32_t deviceId);
43
44  /*!
45  * \brief Destructor
46  *
47  */
48  ~SimuImu();
49
50private:
51  /*!
52  * \brief Update using provided datas
53  *
54  * Reimplemented from IODevice.
55  *
56  * \param data data from the parent to process
57  */
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
Note: See TracBrowser for help on using the repository browser.