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

Last change on this file since 456 was 137, checked in by Sanahuja Guillaume, 7 years ago

singleton manager

File size: 1.8 KB
RevLine 
[3]1// %flair:license{
[15]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[3]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 {
[15]20namespace core {
21class FrameworkManager;
22class SerialPort;
[3]23}
[15]24}
[3]25
26class Gx3_25_imu_impl;
27
[15]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;
[3]36
[15]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 */
[102]46 Quaternion = 0xdf, /*!< Quaternion */
[15]47 };
[3]48
[15]49 /*!
50 * \brief Constructor
51 *
[137]52 * Construct a Gx3_25_imu. It will be child of the FrameworkManager.
[15]53 *
54 * \param name name
55 * \param serialport SerialPort
56 * \param command command for continuous mode
57 * \param priority priority of the Thread
58 */
[137]59 Gx3_25_imu(std::string name,
[15]60 core::SerialPort *serialport, Command_t command, uint8_t priority);
[3]61
[15]62 /*!
63 * \brief Destructor
64 *
65 */
66 ~Gx3_25_imu();
[3]67
[15]68private:
69 /*!
70 * \brief Run function
71 *
72 * Reimplemented from Thread.
73 *
74 */
75 void Run(void);
[3]76
[15]77 /*!
78 * \brief Update using provided datas
79 *
80 * Reimplemented from IODevice.
81 *
82 * \param data data from the parent to process
83 */
84 void UpdateFrom(const core::io_data *data){};
[3]85
[15]86 class Gx3_25_imu_impl *pimpl_;
87};
[3]88} // end namespace sensor
89} // end namespace flair
90
91#endif // GX3_25_IMU_H
Note: See TracBrowser for help on using the repository browser.