source: flair-src/trunk/demos/PidStandalone/uav/src/PidUav.h @ 105

Last change on this file since 105 was 105, checked in by Bayard Gildas, 5 years ago

Passage du "framework" à flair

File size: 1.1 KB
Line 
1//  created:    2016/06/01
2//  filename:   PidUav.h
3//
4//  author:     Gildas Bayard
5//              Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7//  version:    $Id: $
8//
9//  purpose:    Uav class showing the incidence of pid parameters choice
10//
11//
12/*********************************************************************/
13
14#ifndef PID_UAV_H
15#define PID_UAV_H
16
17#include <UavStateMachine.h>
18
19namespace flair {
20  namespace core {
21    class cvmatrix;
22  }
23  namespace gui {
24    class GroupBox;
25    class DoubleSpinBox;
26  }
27  namespace filter {
28    class Pid;
29  }
30  namespace sensor {
31    class TargetController;
32  }
33}
34
35class PidUav : public flair::meta::UavStateMachine {
36public:
37  PidUav(flair::meta::Uav *uav,
38         flair::sensor::TargetController *controller);
39  ~PidUav();
40
41protected:
42  void SignalEvent(Event_t event);
43  void ExtraCheckJoystick(void);
44
45private:
46  void ComputeCustomTorques(flair::core::Euler &torques);
47  bool StartCustomMode();
48  void StartOscillatingMode();
49  flair::filter::Pid *my_uPitch, *my_uRoll;
50  enum class BehaviourMode_t { Default, Oscillating };
51  BehaviourMode_t behaviourMode;
52};
53
54#endif // PID_UAV_H
Note: See TracBrowser for help on using the repository browser.