source: flair-src/trunk/lib/FlairSensorActuator/src/SimuGps.h @ 102

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

gps vtg

File size: 2.0 KB
RevLine 
[3]1// %flair:license{
[15]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[3]4// %flair:license}
5/*!
6 * \file SimuGps.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 SIMUGPS_H
14#define SIMUGPS_H
15
16#include <Thread.h>
[51]17#include <NmeaGps.h>
[3]18
[15]19namespace flair {
[55]20  namespace core {
21    class FrameworkManager;
22    class SharedMem;
23  }
24  namespace gui {
25    class SpinBox;
26    class DoubleSpinBox;
27  }
[3]28}
29
[15]30namespace flair {
31namespace sensor {
32/*! \class SimuGps
33*
34* \brief Class for a simulation GPS
35*/
[51]36class SimuGps : public core::Thread, public NmeaGps {
[15]37public:
38  /*!
39  * \brief Constructor
40  *
[55]41  * Construct a simulation GPS. Control part.
[15]42  *
43  * \param parent parent
44  * \param name name
45  * \param NMEAFlags NMEA sentances to enable
[55]46  * \param deviceId device id
[15]47  * \param priority priority of the Thread
48  */
49  SimuGps(const core::FrameworkManager *parent, std::string name,
[55]50          NmeaGps::NMEAFlags_t NMEAFlags, uint32_t deviceId,uint8_t priority);
[3]51
[15]52  /*!
[55]53  * \brief Constructor
54  *
55  * Construct a simulation GPS. Simulation part.\n
56  * The Thread of this class should not be run.
57  *
58  * \param parent parent
59  * \param name name
60  * \param deviceId device id
61  */
62  SimuGps(const core::IODevice *parent, std::string name, uint32_t deviceId);
63
64  /*!
[15]65  * \brief Destructor
66  *
67  */
68  ~SimuGps();
[3]69
[15]70private:
71  /*!
72  * \brief Update using provided datas
73  *
74  * Reimplemented from IODevice.
75  *
76  * \param data data from the parent to process
77  */
[55]78  void UpdateFrom(const core::io_data *data);
[3]79
[15]80  /*!
81  * \brief Run function
82  *
83  * Reimplemented from Thread.
84  *
85  */
86  void Run(void);
[55]87
88  typedef struct {
[68]89    float e;
90    float n;
91    float u;
92    float ve;
93    float vn;
[55]94  } gps_states_t;
95
96  core::SharedMem *shmem;
97  gui::SpinBox *dataRate,*fixQuality,*numberOfSatellites;
98  gui::DoubleSpinBox *latitudeRef,*longitudeRef,*altitudeRef;
[15]99};
[3]100} // end namespace sensor
101} // end namespace framewor
102#endif // SIMUGPS_H
Note: See TracBrowser for help on using the repository browser.