source: flair-src/trunk/demos/Gps/uav/src/DemoGps.h@ 105

Last change on this file since 105 was 89, checked in by Sanahuja Guillaume, 8 years ago

demo gps, not fully fonctionnal

File size: 1.7 KB
Line 
1// created: 2016/07/01
2// filename: DemoGps.h
3//
4// author: Guillaume Sanahuja
5// Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7// version: $Id: $
8//
9// purpose: demo GPS
10//
11//
12/*********************************************************************/
13
14#ifndef DEMOGPS_H
15#define DEMOGPS_H
16
17#include <UavStateMachine.h>
18
19namespace flair {
20 namespace gui {
21 class PushButton;
22 }
23 namespace filter {
24 class TrajectoryGenerator2DCircle;
25 }
26 namespace sensor {
27 class TargetController;
28 class Mb800;
29 class SimuGps;
30 }
31}
32
33class DemoGps : public flair::meta::UavStateMachine {
34 public:
35 DemoGps(flair::meta::Uav* uav,flair::sensor::TargetController *controller);
36 ~DemoGps();
37
38 private:
39 enum class BehaviourMode_t {
40 Default,
41 PositionHold,
42 Circle
43 };
44
45 BehaviourMode_t behaviourMode;
46
47 void GpsPositionHold(void);
48 void StartCircle(void);
49 void StopCircle(void);
50 void ExtraSecurityCheck(void);
51 void ExtraCheckPushButton(void);
52 void ExtraCheckJoystick(void);
53 void PositionValues(flair::core::Vector2D &pos_error,flair::core::Vector2D &vel_error,float &yaw_ref);
54 flair::core::AhrsData *GetReferenceOrientation(void);
55 void SignalEvent(Event_t event);
56
57 flair::filter::Pid *uX, *uY;
58
59 flair::core::Vector2D posHold;
60 float yawHold;
61
62 flair::gui::PushButton *startCircle,*stopCircle;
63 flair::filter::TrajectoryGenerator2DCircle *circle;
64 flair::core::AhrsData *customReferenceOrientation,*customOrientation;
65 //flair::sensor::Mb800 *gps;
66 flair::sensor::SimuGps *gps;
67};
68
69#endif // DEMOGPS_H
Note: See TracBrowser for help on using the repository browser.