source: flair-dev/trunk/include/FlairSensorActuator/SimulatedGps.h @ 94

Last change on this file since 94 was 94, checked in by Sanahuja Guillaume, 22 months ago

draw vrpn axis in simulator

File size: 1.8 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/*!
6 * \file SimulatedGps.h
7 * \brief Class for a simulation GPS
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2013/08/23
10 * \version 4.0
11 */
12
13#ifndef SimulatedGPS_H
14#define SimulatedGPS_H
15
16#include <Thread.h>
17#include <NmeaGps.h>
18
19namespace flair {
20  namespace core {
21    class SharedMem;
22  }
23  namespace gui {
24    class SpinBox;
25    class DoubleSpinBox;
26  }
27}
28
29namespace flair {
30namespace sensor {
31/*! \class SimulatedGps
32*
33* \brief Class for a simulation GPS
34*/
35class SimulatedGps : public core::Thread, public NmeaGps {
36public:
37  /*!
38  * \brief Constructor
39  *
40  * Construct a simulation GPS
41  * It will be child of the FrameworkManager.
42        *
43  * \param name name
44  * \param NMEAFlags NMEA sentances to enable
45  * \param modelId Model id
46  * \param deviceId Gps id of the Model
47  * \param priority priority of the Thread
48  */
49  SimulatedGps(std::string name,
50          NmeaGps::NMEAFlags_t NMEAFlags, uint32_t modelId,uint32_t deviceId,uint8_t priority);
51
52  /*!
53  * \brief Destructor
54  *
55  */
56  ~SimulatedGps();
57
58private:
59  /*!
60  * \brief Update using provided datas
61  *
62  * Reimplemented from IODevice.
63  *
64  * \param data data from the parent to process
65  */
66  void UpdateFrom(const core::io_data *data){};
67
68  /*!
69  * \brief Run function
70  *
71  * Reimplemented from Thread.
72  *
73  */
74  void Run(void);
75
76  typedef struct {
77    float e;
78    float n;
79    float u;
80    float ve;
81    float vn;
82  } gps_states_t;
83 
84  std::string ShMemName(uint32_t modelId,uint32_t deviceId);
85
86  core::SharedMem *shmem;
87  gui::SpinBox *dataRate,*fixQuality,*numberOfSatellites;
88  gui::DoubleSpinBox *latitudeRef,*longitudeRef,*altitudeRef,*magneticDeclination;
89};
90} // end namespace sensor
91} // end namespace flair
92#endif // SIMULATEDGPS_H
Note: See TracBrowser for help on using the repository browser.