source: flair-src/branches/sanscv/lib/FlairSimulator/src/SimuImu.h@ 334

Last change on this file since 334 was 324, checked in by Sanahuja Guillaume, 5 years ago

removing opencv dependency

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.