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

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

sensoractuator

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