source: flair-src/trunk/lib/FlairSensorActuator/src/Gx3_25_imu.h @ 102

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

3dmgx3 quaternion

File size: 1.8 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 Gx3_25_imu.h
7 * \brief Class for 3dmgx3-25 Imu
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2011/08/19
10 * \version 4.0
11 */
12
13#ifndef GX3_25_IMU_H
14#define GX3_25_IMU_H
15
16#include <Imu.h>
17#include <Thread.h>
18
19namespace flair {
20namespace core {
21class FrameworkManager;
22class SerialPort;
23}
24}
25
26class Gx3_25_imu_impl;
27
28namespace flair {
29namespace sensor {
30/*! \class Gx3_25_imu
31*
32* \brief Class for 3dmgx3-25 Imu
33*/
34class Gx3_25_imu : public Imu, public core::Thread {
35  friend class ::Gx3_25_imu_impl;
36
37public:
38  /*!
39  \enum Command_t
40  \brief Command for the continuous mode
41  */
42  enum Command_t {
43    EulerAnglesAndAngularRates = 0xcf, /*!< Euler angles and angular rates */
44    AccelerationAngularRateAndOrientationMatrix =
45        0xc8, /*!< Acceleration, angular rate and orientation matrix */
46    Quaternion = 0xdf, /*!< Quaternion */
47  };
48
49  /*!
50  * \brief Constructor
51  *
52  * Construct a Gx3_25_imu.
53  *
54  * \param parent parent
55  * \param name name
56  * \param serialport SerialPort
57  * \param command command for continuous mode
58  * \param priority priority of the Thread
59  */
60  Gx3_25_imu(const core::FrameworkManager *parent, std::string name,
61             core::SerialPort *serialport, Command_t command, uint8_t priority);
62
63  /*!
64  * \brief Destructor
65  *
66  */
67  ~Gx3_25_imu();
68
69private:
70  /*!
71  * \brief Run function
72  *
73  * Reimplemented from Thread.
74  *
75  */
76  void Run(void);
77
78  /*!
79  * \brief Update using provided datas
80  *
81  * Reimplemented from IODevice.
82  *
83  * \param data data from the parent to process
84  */
85  void UpdateFrom(const core::io_data *data){};
86
87  class Gx3_25_imu_impl *pimpl_;
88};
89} // end namespace sensor
90} // end namespace flair
91
92#endif // GX3_25_IMU_H
Note: See TracBrowser for help on using the repository browser.