source: flair-src/trunk/tools/Controller/Mavlink/src/GuiGcs.h @ 137

Last change on this file since 137 was 137, checked in by Sanahuja Guillaume, 5 years ago

singleton manager

File size: 1.3 KB
Line 
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}
5//  created:    2016/09/02
6//  filename:   GuiGcs.h
7//
8//  authors:    Thomas Fuhrmann
9//              Milan Erdelj
10//              Copyright Heudiasyc UMR UTC/CNRS 7253
11//
12//  version:    $Id: $
13//
14//  purpose:    Implementation of GuiInterface, using sockets
15//
16//
17/*********************************************************************/
18
19#ifndef MAVPLANNER_GUI_GCS_H
20#define MAVPLANNER_GUI_GCS_H
21
22#include <string>
23#include <array>
24
25#include "GuiInterface.h"
26
27#include "MavlinkUDP.h"
28
29#define INTER_COMMAND_PAUSE 10000 // us
30#define PERIOD_SECOND 1000000 // us
31
32namespace flair {
33namespace core {
34  class Socket;
35}
36}
37
38class GuiGcs : public GuiInterface {
39public:
40
41  GuiGcs(std::string name,
42                 std::string &outputAddress, int outputPort);
43  ~GuiGcs();
44
45protected:
46
47  virtual void MissionStart();
48  virtual void MissionStop();
49  virtual void MissionPause();
50  virtual void MissionSend();
51
52  uint16_t MavCommandGet(const std::string& command) const;
53
54private:
55  std::string outputAddress;
56  int outputPort;
57
58  MavlinkUDP* mavCom;
59
60  bool missionPauseEnabled;
61
62  void Initialize();
63  void ParametersParse(const std::string& parametersString, std::array<float, 6>& parametersFloat);
64};
65
66#endif // MAVPLANNER_GUI_GCS_H
Note: See TracBrowser for help on using the repository browser.