source: flair-dev/trunk/include/FlairMeta/MetaDualShock3.h@ 9

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

lic

File size: 2.1 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 MetaDualShock3.h
7 * \brief Classe intégrant la manette DualShock3 et les consignes joystick
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/01/14
10 * \version 3.4
11 */
12
13#ifndef METADUALSHOCK3_H
14#define METADUALSHOCK3_H
15
16#include <TargetEthController.h>
17
18namespace flair {
19 namespace core {
20 class AhrsData;
21 class Quaternion;
22 }
23 namespace filter {
24 class Ahrs;
25 }
26}
27
28class MetaDualShock3_impl;
29
30namespace flair {
31namespace meta {
32
33 /*! \class MetaDualShock3
34 *
35 * \brief Classe intégrant la manette MetaDualShock3
36 */
37 class MetaDualShock3 : public sensor::TargetEthController {
38 friend class ::MetaDualShock3_impl;
39
40 public:
41 MetaDualShock3(core::FrameworkManager* parent,std::string name,uint16_t port,uint8_t priority);
42 ~MetaDualShock3();
43 core::AhrsData* GetReferenceOrientation(void) const;
44 float ZRef(void) const;
45 float DzRef(void) const;
46 void SetYawRef(float value);
47 /*!
48 * \brief Set yaw reference
49 *
50 * Yaw part of the output quaternion is obtained by integrating the wz desired angular speed.\n
51 * This method reset the yaw.
52 *
53 * \param value value, only the yaw part of the quaternion is used
54 */
55 void SetYawRef(core::Quaternion const &value);
56 void SetZRef(float value);
57 float RollTrim(void) const;
58 float PitchTrim(void) const;
59 void ErrorNotify(void);
60 void Rumble(uint8_t left_force,uint8_t left_timeout=20,uint8_t right_force=0,uint8_t right_timeout=0);
61 void SetLedON(unsigned int ledId);
62 void SetLedOFF(unsigned int ledId);
63 void FlashLed(unsigned int ledId,uint8_t on_timeout,uint8_t off_timeout);
64
65 private:
66 class MetaDualShock3_impl* pimpl_;
67
68 };
69} // end namespace meta
70} // end namespace flair
71#endif // METADUALSHOCK3_H
Note: See TracBrowser for help on using the repository browser.