Flair
Framework Libre Air
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties
MetaDualShock3.h
Go to the documentation of this file.
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}
13 #ifndef METADUALSHOCK3_H
14 #define METADUALSHOCK3_H
15 
16 #include <TargetEthController.h>
17 
18 namespace flair {
19 namespace core {
20 class AhrsData;
21 class Quaternion;
22 }
23 namespace filter {
24 class Ahrs;
25 }
26 }
27 
28 class MetaDualShock3_impl;
29 
30 namespace flair {
31 namespace meta {
32 
38  friend class ::MetaDualShock3_impl;
39 
40 public:
41  MetaDualShock3(core::FrameworkManager *parent, std::string name,
42  uint16_t port, uint8_t priority);
43  ~MetaDualShock3();
44  core::AhrsData *GetReferenceOrientation(void) const;
45  float ZRef(void) const;
46  float DzRef(void) const;
47  void SetYawRef(float value);
57  void SetYawRef(core::Quaternion const &value);
58  void SetZRef(float value);
59  float RollTrim(void) const;
60  float PitchTrim(void) const;
61  void ErrorNotify(void);
62  void Rumble(uint8_t left_force, uint8_t left_timeout = 20,
63  uint8_t right_force = 0, uint8_t right_timeout = 0);
64  void SetLedON(unsigned int ledId);
65  void SetLedOFF(unsigned int ledId);
66  void FlashLed(unsigned int ledId, uint8_t on_timeout, uint8_t off_timeout);
67 
68 private:
69  class MetaDualShock3_impl *pimpl_;
70 };
71 } // end namespace meta
72 } // end namespace flair
73 #endif // METADUALSHOCK3_H
Classe intégrant la manette MetaDualShock3.
Definition: MetaDualShock3.h:37
Class defining AHRS datas.
Definition: AhrsData.h:30
Main class of the Framework library.
Definition: FrameworkManager.h:45
Definition: TargetEthController.h:47
Class defining a quaternion.
Definition: Quaternion.h:25