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

Last change on this file was 318, checked in by Sanahuja Guillaume, 3 years ago
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 gui {
21 class GroupBox;
22 class DoubleSpinBox;
23 }
24 namespace filter {
25 class Pid;
26 }
27 namespace sensor {
28 class TargetController;
29 }
30}
31
32class PidUav : public flair::meta::UavStateMachine {
33public:
34 PidUav(flair::meta::Uav *uav,
35 flair::sensor::TargetController *controller);
36 ~PidUav();
37
38protected:
39 void SignalEvent(Event_t event);
40 void ExtraCheckJoystick(void);
41
42private:
43 void ComputeCustomTorques(flair::core::Euler &torques);
44 bool StartCustomMode();
45 void StartOscillatingMode();
46 flair::filter::Pid *my_uPitch, *my_uRoll;
47 enum class BehaviourMode_t { Default, Oscillating };
48 BehaviourMode_t behaviourMode;
49};
50
51#endif // PID_UAV_H
Note: See TracBrowser for help on using the repository browser.