source: flair-src/trunk/lib/FlairMeta/src/MetaDualShock3.h@ 7

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

filter and meta

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