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

Last change on this file since 89 was 89, checked in by Sanahuja Guillaume, 5 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.